tempest.games 0.1.6 → 0.1.7
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 +6 -0
- package/app/assets/index-C-zrj5Nu.js +46 -0
- package/app/index.html +1 -1
- package/bin/backend.bun.js +13 -13
- package/bin/backend.worker.game.bun.js +1 -1
- package/bin/backend.worker.tribunal.bun.js +8 -8
- package/bin/frontend.bun.js +5 -5
- package/bin/setup-db.bun.js +754 -756
- package/package.json +4 -4
- package/app/assets/index-fj9Tskwa.js +0 -46
package/bin/backend.bun.js
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var s4=Object.create;var{getPrototypeOf:j4,defineProperty:pl,getOwnPropertyNames:N4}=Object;var L4=Object.prototype.hasOwnProperty;var al=(n,i,o)=>{o=n!=null?s4(j4(n)):{};const c=i||!n||!n.__esModule?pl(o,"default",{value:n,enumerable:!0}):o;for(let p of N4(n))if(!L4.call(c,p))pl(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var y4=(n,i)=>{for(var o in i)pl(n,o,{get:i[o],enumerable:!0,configurable:!0,set:(c)=>i[o]=()=>c})};var Iw=I((hw)=>{function e4(n){if(!ux[n])ux[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"});return ux[n]}function d4(n,i){const o=n.format(i).replace(/\u200E/g,""),c=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(o),[,p,a,x,m,l,f,$]=c;return[x,p,a,m,l,f,$]}function n8(n,i){const o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){const{type:a,value:x}=o[p],m=g4[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}function i8(n,i={}){const o=JSON.stringify([n,i]);let c=l0[o];if(!c)c=new Intl.ListFormat(n,i),l0[o]=c;return c}function Bl(n,i={}){const o=JSON.stringify([n,i]);let c=yl[o];if(!c)c=new Intl.DateTimeFormat(n,i),yl[o]=c;return c}function o8(n,i={}){const o=JSON.stringify([n,i]);let c=Dl[o];if(!c)c=new Intl.NumberFormat(n,i),Dl[o]=c;return c}function c8(n,i={}){const{base:o,...c}=i,p=JSON.stringify([n,c]);let a=hl[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),hl[p]=a;return a}function p8(){if(Fa)return Fa;else return Fa=new Intl.DateTimeFormat().resolvedOptions().locale,Fa}function a8(n){let i=f0[n];if(!i){const o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,f0[n]=i}return i}function x8(n){const i=n.indexOf("-x-");if(i!==-1)n=n.substring(0,i);const o=n.indexOf("-u-");if(o===-1)return[n];else{let c,p;try{c=Bl(n).resolvedOptions(),p=n}catch(m){const l=n.substring(0,o);c=Bl(l).resolvedOptions(),p=l}const{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function m8(n,i,o){if(o||i){if(!n.includes("-u-"))n+="-u";if(o)n+=`-ca-${o}`;if(i)n+=`-nu-${i}`;return n}else return n}function l8(n){const i=[];for(let o=1;o<=12;o++){const c=xn.utc(2009,o,1);i.push(n(c))}return i}function f8(n){const i=[];for(let o=1;o<=7;o++){const c=xn.utc(2016,11,13+o);i.push(n(c))}return i}function Wx(n,i,o,c){const p=n.listingMode();if(p==="error")return null;else if(p==="en")return o(i);else return c(i)}function $8(n){if(n.numberingSystem&&n.numberingSystem!=="latn")return!1;else return n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}function ic(n,i){if(pn(n)||n===null)return i;else if(n instanceof uc)return n;else if(J8(n)){const o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return Ta.instance;else if(o==="utc"||o==="gmt")return Ai.utcInstance;else return Ai.parseSpecifier(o)||Yo.create(n)}else if(Yc(n))return Ai.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new kl(n)}function Pi(n,i){return new qi("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function rl(n,i,o){const c=new Date(Date.UTC(n,i-1,o));if(n<100&&n>=0)c.setUTCFullYear(c.getUTCFullYear()-1900);const p=c.getUTCDay();return p===0?7:p}function vw(n,i,o){return o+(Ra(n)?$w:fw)[i-1]}function ww(n,i){const o=Ra(n)?$w:fw,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function Zl(n,i){return(n-i+7)%7+1}function Ex(n,i=4,o=1){const{year:c,month:p,day:a}=n,x=vw(c,p,a),m=Zl(rl(c,p,a),o);let l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=Ma(f,i,o);else if(l>Ma(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...sx(n)}}function T0(n,i=4,o=1){const{weekYear:c,weekNumber:p,weekday:a}=n,x=Zl(rl(c,1,i),o),m=ap(c);let l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=ap(f);else if(l>m)f=c+1,l-=ap(c);else f=c;const{month:$,day:v}=ww(f,l);return{year:f,month:$,day:v,...sx(n)}}function bl(n){const{year:i,month:o,day:c}=n,p=vw(i,o,c);return{year:i,ordinal:p,...sx(n)}}function R0(n){const{year:i,ordinal:o}=n,{month:c,day:p}=ww(i,o);return{year:i,month:c,day:p,...sx(n)}}function K0(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Gc("Cannot mix locale-based week fields with ISO-based week fields");if(!pn(n.localWeekday))n.weekday=n.localWeekday;if(!pn(n.localWeekNumber))n.weekNumber=n.localWeekNumber;if(!pn(n.localWeekYear))n.weekYear=n.localWeekYear;return delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:i.getMinDaysInFirstWeek(),startOfWeek:i.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function w8(n,i=4,o=1){const c=Vx(n.weekYear),p=ei(n.weekNumber,1,Ma(n.weekYear,i,o)),a=ei(n.weekday,1,7);if(!c)return Pi("weekYear",n.weekYear);else if(!p)return Pi("week",n.weekNumber);else if(!a)return Pi("weekday",n.weekday);else return!1}function S8(n){const i=Vx(n.year),o=ei(n.ordinal,1,ap(n.year));if(!i)return Pi("year",n.year);else if(!o)return Pi("ordinal",n.ordinal);else return!1}function Sw(n){const i=Vx(n.year),o=ei(n.month,1,12),c=ei(n.day,1,Qx(n.year,n.month));if(!i)return Pi("year",n.year);else if(!o)return Pi("month",n.month);else if(!c)return Pi("day",n.day);else return!1}function Jw(n){const{hour:i,minute:o,second:c,millisecond:p}=n,a=ei(i,0,23)||i===24&&o===0&&c===0&&p===0,x=ei(o,0,59),m=ei(c,0,59),l=ei(p,0,999);if(!a)return Pi("hour",i);else if(!x)return Pi("minute",o);else if(!m)return Pi("second",c);else if(!l)return Pi("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function Yc(n){return typeof n==="number"}function Vx(n){return typeof n==="number"&&n%1===0}function J8(n){return typeof n==="string"}function F8(n){return Object.prototype.toString.call(n)==="[object Date]"}function Fw(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function Aw(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function A8(n){return Array.isArray(n)?n:[n]}function W0(n,i,o){if(n.length===0)return;return n.reduce((c,p)=>{const a=[i(p),p];if(!c)return a;else if(o(c[0],a[0])===c[0])return c;else return a},null)[1]}function M8(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function mp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function Il(n){if(n==null)return null;else if(typeof n!=="object")throw new Yi("Week settings must be an object");else{if(!ei(n.firstDay,1,7)||!ei(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!ei(i,1,7)))throw new Yi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function ei(n,i,o){return Vx(n)&&n>=i&&n<=o}function T8(n,i){return n-i*Math.floor(n/i)}function en(n,i=2){const o=n<0;let c;if(o)c="-"+(""+-n).padStart(i,"0");else c=(""+n).padStart(i,"0");return c}function nc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function Wc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function ql(n){if(pn(n)||n===null||n==="")return;else{const i=parseFloat("0."+n)*1000;return Math.floor(i)}}function Pl(n,i,o=!1){const c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Ra(n){return n%4===0&&(n%100!==0||n%400===0)}function ap(n){return Ra(n)?366:365}function Qx(n,i){const o=T8(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Ra(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function bx(n){let i=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(n.year<100&&n.year>=0)i=new Date(i),i.setUTCFullYear(n.year,n.month-1,n.day);return+i}function X0(n,i,o){return-Zl(rl(n,1,i),o)+i-1}function Ma(n,i=4,o=1){const c=X0(n,i,o),p=X0(n+1,i,o);return(ap(n)-c+p)/7}function Cl(n){if(n>99)return n;else return n>Dn.twoDigitCutoffYear?1900+n:2000+n}function Mw(n,i,o,c=null){const p=new Date(n),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(c)a.timeZone=c;const x={timeZoneName:i,...a},m=new Intl.DateTimeFormat(o,x).formatToParts(p).find((l)=>l.type.toLowerCase()==="timezonename");return m?m.value:null}function _x(n,i){let o=parseInt(n,10);if(Number.isNaN(o))o=0;const c=parseInt(i,10)||0,p=o<0||Object.is(o,-0)?-c:c;return o*60+p}function Tw(n){const i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Yi(`Invalid unit value ${n}`);return i}function Ux(n,i){const o={};for(let c in n)if(mp(n,c)){const p=n[c];if(p===void 0||p===null)continue;o[i(c)]=Tw(p)}return o}function Aa(n,i){const o=Math.trunc(Math.abs(n/60)),c=Math.trunc(Math.abs(n%60)),p=n>=0?"+":"-";switch(i){case"short":return`${p}${en(o,2)}:${en(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${en(o,2)}${en(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function sx(n){return M8(n,["hour","minute","second","millisecond"])}function Kw(n){switch(n){case"narrow":return[...K8];case"short":return[...Rw];case"long":return[...R8];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}function Gw(n){switch(n){case"narrow":return[...W8];case"short":return[...Xw];case"long":return[...Ww];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}function Yw(n){switch(n){case"narrow":return[...z8];case"short":return[...G8];case"long":return[...X8];default:return null}}function Y8(n){return zw[n.hour<12?0:1]}function u8(n,i){return Gw(i)[n.weekday-1]}function O8(n,i){return Kw(i)[n.month-1]}function H8(n,i){return Yw(i)[n.year<0?0:1]}function E8(n,i,o="always",c=!1){const p={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=["hours","minutes","seconds"].indexOf(n)===-1;if(o==="auto"&&a){const v=n==="days";switch(i){case 1:return v?"tomorrow":`next ${p[n][0]}`;case-1:return v?"yesterday":`last ${p[n][0]}`;case 0:return v?"today":`this ${p[n][0]}`}}const x=Object.is(i,-0)||i<0,m=Math.abs(i),l=m===1,f=p[n],$=c?l?f[1]:f[2]||f[1]:l?p[n][0]:n;return x?`${m} ${$} ago`:`in ${m} ${$}`}function G0(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}function lp(...n){const i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function fp(...n){return(i)=>n.reduce(([o,c,p],a)=>{const[x,m,l]=a(i,p);return[{...o,...x},m||c,l]},[{},null,1]).slice(0,2)}function $p(n,...i){if(n==null)return[null,null];for(let[o,c]of i){const p=o.exec(n);if(p)return c(p)}return[null,null]}function Ow(...n){return(i,o)=>{const c={};let p;for(p=0;p<n.length;p++)c[n[p]]=nc(i[o+p]);return[c,null,o+p]}}function xp(n,i,o){const c=n[i];return pn(c)?o:nc(c)}function y8(n,i){return[{year:xp(n,i),month:xp(n,i+1,1),day:xp(n,i+2,1)},null,i+3]}function vp(n,i){return[{hours:xp(n,i,0),minutes:xp(n,i+1,0),seconds:xp(n,i+2,0),milliseconds:ql(n[i+3])},null,i+4]}function Ka(n,i){const o=!n[i]&&!n[i+1],c=_x(n[i+1],n[i+2]),p=o?null:Ai.instance(c);return[{},p,i+3]}function Wa(n,i){const o=n[i]?Yo.create(n[i]):null;return[{},o,i+1]}function h8(n){const[i,o,c,p,a,x,m,l,f]=n,$=i[0]==="-",v=l&&l[0]==="-",S=(M,R=!1)=>M!==void 0&&(R||M&&$)?-M:M;return[{years:S(Wc(o)),months:S(Wc(c)),weeks:S(Wc(p)),days:S(Wc(a)),hours:S(Wc(x)),minutes:S(Wc(m)),seconds:S(Wc(l),l==="-0"),milliseconds:S(ql(f),v)}]}function dl(n,i,o,c,p,a,x){const m={year:i.length===2?Cl(nc(i)):nc(i),month:Rw.indexOf(o)+1,day:nc(c),hour:nc(p),minute:nc(a)};if(x)m.second=nc(x);if(n)m.weekday=n.length>3?Ww.indexOf(n)+1:Xw.indexOf(n)+1;return m}function t8(n){const[,i,o,c,p,a,x,m,l,f,$,v]=n,S=dl(i,p,c,o,a,x,m);let M;if(l)M=I8[l];else if(f)M=0;else M=_x($,v);return[S,new Ai(M)]}function k8(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function z0(n){const[,i,o,c,p,a,x,m]=n;return[dl(i,p,c,o,a,x,m),Ai.utcInstance]}function P8(n){const[,i,o,c,p,a,x,m]=n;return[dl(i,m,o,c,p,a,x),Ai.utcInstance]}function pK(n){return $p(n,[e8,Uw],[g8,iK],[d8,oK],[nK,cK])}function aK(n){return $p(k8(n),[C8,t8])}function xK(n){return $p(n,[r8,z0],[Z8,z0],[q8,P8])}function mK(n){return $p(n,[D8,h8])}function fK(n){return $p(n,[B8,lK])}function SK(n){return $p(n,[$K,Uw],[vK,wK])}function go(n,i,o=!1){const c={values:o?i.values:{...n.values,...i.values||{}},loc:n.loc.clone(i.loc),conversionAccuracy:i.conversionAccuracy||n.conversionAccuracy,matrix:i.matrix||n.matrix};return new Mn(c)}function bw(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of AK.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function u0(n,i){const o=bw(n,i)<0?-1:1;zc.reduceRight((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]*o,x=n[p][c],m=Math.floor(a/x);i[p]+=m*o,i[c]-=m*x*o}return p}else return c},null),zc.reduce((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]%1;i[c]-=a,i[p]+=a*n[c][p]}return p}else return c},null)}function MK(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function TK(n,i){if(!n||!n.isValid)return Bn.invalid("missing or invalid start");else if(!i||!i.isValid)return Bn.invalid("missing or invalid end");else if(i<n)return Bn.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${i.toISO()}`);else return null}function O0(n,i){const o=(p)=>p.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),c=o(i)-o(n);return Math.floor(Mn.fromMillis(c).as("days"))}function RK(n,i,o){const c=[["years",(l,f)=>f.year-l.year],["quarters",(l,f)=>f.quarter-l.quarter+(f.year-l.year)*4],["months",(l,f)=>f.month-l.month+(f.year-l.year)*12],["weeks",(l,f)=>{const $=O0(l,f);return($-$%7)/7}],["days",O0]],p={},a=n;let x,m;for(let[l,f]of c)if(o.indexOf(l)>=0)if(x=l,p[l]=f(n,i),m=a.plus(p),m>i){if(p[l]--,n=a.plus(p),n>i)m=n,p[l]--,n=a.plus(p)}else n=m;return[n,p,m,x]}function KK(n,i,o,c){let[p,a,x,m]=RK(n,i,o);const l=i-p,f=o.filter((v)=>["hours","minutes","seconds","milliseconds"].indexOf(v)>=0);if(f.length===0){if(x<i)x=p.plus({[m]:1});if(x!==p)a[m]=(a[m]||0)+l/(x-p)}const $=Mn.fromObject(a,c);if(f.length>0)return Mn.fromMillis(l,c).shiftTo(...f).plus($);else return $}function XK(n){let i=parseInt(n,10);if(isNaN(i)){i="";for(let o=0;o<n.length;o++){const c=n.charCodeAt(o);if(n[o].search(nf.hanidec)!==-1)i+=WK.indexOf(n[o]);else for(let p in H0){const[a,x]=H0[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function lo({numberingSystem:n},i=""){return new RegExp(`${nf[n||"latn"]}${i}`)}function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(XK(o))}}function YK(n){return n.replace(/\./g,"\\.?").replace(sw,_w)}function E0(n){return n.replace(/\./g,"").replace(sw," ").toLowerCase()}function fo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(YK).join("|")),deser:([o])=>n.findIndex((c)=>E0(o)===E0(c))+i}}function Q0(n,i){return{regex:n,deser:([,o,c])=>_x(o,c),groups:i}}function Xx(n){return{regex:n,deser:([i])=>i}}function uK(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function OK(n,i){const o=lo(i),c=lo(i,"{2}"),p=lo(i,"{3}"),a=lo(i,"{4}"),x=lo(i,"{6}"),m=lo(i,"{1,2}"),l=lo(i,"{1,3}"),f=lo(i,"{1,6}"),$=lo(i,"{1,9}"),v=lo(i,"{2,4}"),S=lo(i,"{4,6}"),M=(X)=>({regex:RegExp(uK(X.val)),deser:([G])=>G,literal:!0}),A=((X)=>{if(n.literal)return M(X);switch(X.val){case"G":return fo(i.eras("short"),0);case"GG":return fo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,Cl);case"yyyy":return Wn(a);case"yyyyy":return Wn(S);case"yyyyyy":return Wn(x);case"M":return Wn(m);case"MM":return Wn(c);case"MMM":return fo(i.months("short",!0),1);case"MMMM":return fo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return fo(i.months("short",!1),1);case"LLLL":return fo(i.months("long",!1),1);case"d":return Wn(m);case"dd":return Wn(c);case"o":return Wn(l);case"ooo":return Wn(p);case"HH":return Wn(c);case"H":return Wn(m);case"hh":return Wn(c);case"h":return Wn(m);case"mm":return Wn(c);case"m":return Wn(m);case"q":return Wn(m);case"qq":return Wn(c);case"s":return Wn(m);case"ss":return Wn(c);case"S":return Wn(l);case"SSS":return Wn(p);case"u":return Xx($);case"uu":return Xx(m);case"uuu":return Wn(o);case"a":return fo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,Cl);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return fo(i.weekdays("short",!1),1);case"EEEE":return fo(i.weekdays("long",!1),1);case"ccc":return fo(i.weekdays("short",!0),1);case"cccc":return fo(i.weekdays("long",!0),1);case"Z":case"ZZ":return Q0(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return Q0(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Xx(/[a-z_+-/]{1,256}?/i);case" ":return Xx(/[^\S\n\r]/);default:return M(X)}})(n)||{invalidReason:GK};return A.token=n,A}function EK(n,i,o){const{type:c,value:p}=n;if(c==="literal"){const l=/^\s+$/.test(p);return{literal:!l,val:l?" ":p}}const a=i[c];let x=c;if(c==="hour")if(i.hour12!=null)x=i.hour12?"hour12":"hour24";else if(i.hourCycle!=null)if(i.hourCycle==="h11"||i.hourCycle==="h12")x="hour12";else x="hour24";else x=o.hour12?"hour12":"hour24";let m=HK[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function QK(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function UK(n,i,o){const c=n.match(i);if(c){const p={};let a=1;for(let x in o)if(mp(o,x)){const m=o[x],l=m.groups?m.groups+1:1;if(!m.literal&&m.token)p[m.token.val[0]]=m.deser(c.slice(a,a+l));a+=l}return[c,p]}else return[c,{}]}function VK(n){const i=(a)=>{switch(a){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let o=null,c;if(!pn(n.z))o=Yo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ai(n.Z);c=n.Z}if(!pn(n.q))n.M=(n.q-1)*3+1;if(!pn(n.h)){if(n.h<12&&n.a===1)n.h+=12;else if(n.h===12&&n.a===0)n.h=0}if(n.G===0&&n.y)n.y=-n.y;if(!pn(n.u))n.S=ql(n.u);return[Object.keys(n).reduce((a,x)=>{const m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}function bK(){if(!_l)_l=xn.fromMillis(1555555555555);return _l}function _K(n,i){if(n.literal)return n;const o=Fi.macroTokenToFormatOpts(n.val),c=Lw(o,i);if(c==null||c.includes(void 0))return n;return c}function jw(n,i){return Array.prototype.concat(...n.map((o)=>_K(o,i)))}function Nw(n,i,o){const c=jw(Fi.parseFormat(o),n),p=c.map((x)=>OK(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{const[x,m]=QK(p),l=RegExp(x,"i"),[f,$]=UK(i,l,m),[v,S,M]=$?VK($):[null,null,void 0];if(mp($,"a")&&mp($,"H"))throw new Gc("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:c,regex:l,rawMatches:f,matches:$,result:v,zone:S,specificOffset:M}}}function sK(n,i,o){const{result:c,zone:p,specificOffset:a,invalidReason:x}=Nw(n,i,o);return[c,p,a,x]}function Lw(n,i){if(!n)return null;const c=Fi.create(i,n).dtFormatter(bK()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>EK(x,n,a))}function Gx(n){return new qi("unsupported zone",`the zone "${n.name}" is not supported`)}function jl(n){if(n.weekData===null)n.weekData=Ex(n.c);return n.weekData}function Nl(n){if(n.localWeekData===null)n.localWeekData=Ex(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Xc(n,i){const o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new xn({...o,...i,old:o})}function yw(n,i,o){let c=n-i*60*1000;const p=o.offset(c);if(i===p)return[c,i];c-=(p-i)*60*1000;const a=o.offset(c);if(p===a)return[c,p];return[n-Math.min(p,a)*60*1000,Math.max(p,a)]}function zx(n,i){n+=i*60*1000;const o=new Date(n);return{year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:o.getUTCHours(),minute:o.getUTCMinutes(),second:o.getUTCSeconds(),millisecond:o.getUTCMilliseconds()}}function Ox(n,i,o){return yw(bx(n),i,o)}function V0(n,i){const o=n.o,c=n.c.year+Math.trunc(i.years),p=n.c.month+Math.trunc(i.months)+Math.trunc(i.quarters)*3,a={...n.c,year:c,month:p,day:Math.min(n.c.day,Qx(c,p))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},x=Mn.fromObject({years:i.years-Math.trunc(i.years),quarters:i.quarters-Math.trunc(i.quarters),months:i.months-Math.trunc(i.months),weeks:i.weeks-Math.trunc(i.weeks),days:i.days-Math.trunc(i.days),hours:i.hours,minutes:i.minutes,seconds:i.seconds,milliseconds:i.milliseconds}).as("milliseconds"),m=bx(a);let[l,f]=yw(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function Sa(n,i,o,c,p,a){const{setZone:x,zone:m}=o;if(n&&Object.keys(n).length!==0||i){const l=i||m,f=xn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return xn.invalid(new qi("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Yx(n,i,o=!0){return n.isValid?Fi.create(Yn.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function Ll(n,i){const o=n.c.year>9999||n.c.year<0;let c="";if(o&&n.c.year>=0)c+="+";if(c+=en(n.c.year,o?6:4),i)c+="-",c+=en(n.c.month),c+="-",c+=en(n.c.day);else c+=en(n.c.month),c+=en(n.c.day);return c}function b0(n,i,o,c,p,a){let x=en(n.c.hour);if(i){if(x+=":",x+=en(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=en(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=en(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=en(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=en(Math.trunc(-n.o/60)),x+=":",x+=en(Math.trunc(-n.o%60));else x+="+",x+=en(Math.trunc(n.o/60)),x+=":",x+=en(Math.trunc(n.o%60));if(a)x+="["+n.zone.ianaName+"]";return x}function BK(n){const i={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!i)throw new tl(n);return i}function _0(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return BK(n)}}function s0(n,i){const o=ic(i.zone,Dn.defaultZone),c=Yn.fromObject(i),p=Dn.now();let a,x;if(!pn(n.year)){for(let f of Dw)if(pn(n[f]))n[f]=Bw[f];const m=Sw(n)||Jw(n);if(m)return xn.invalid(m);const l=o.offset(p);[a,x]=Ox(n,l,o)}else a=p;return new xn({ts:a,zone:o,loc:c,o:x})}function j0(n,i,o){const c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=Pl(x,c||o.calendary?0:2,!0),i.loc.clone(o).relFormatter(o).format(x,m)},a=(x)=>{if(o.calendary)if(!i.hasSame(n,x))return i.startOf(x).diff(n.startOf(x),x).get(x);else return 0;else return i.diff(n,x).get(x)};if(o.unit)return p(a(o.unit),o.unit);for(let x of o.units){const m=a(x);if(Math.abs(m)>=1)return p(m,x)}return p(n>i?-0:0,o.units[o.units.length-1])}function N0(n){let i={},o;if(n.length>0&&typeof n[n.length-1]==="object")i=n[n.length-1],o=Array.from(n).slice(0,n.length-1);else o=Array.from(n);return[i,o]}function Ja(n){if(xn.isDateTime(n))return n;else if(n&&n.valueOf&&Yc(n.valueOf()))return xn.fromJSDate(n);else if(n&&typeof n==="object")return xn.fromObject(n);else throw new Yi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}Object.defineProperty(hw,"__esModule",{value:!0});class oc extends Error{}class L0 extends oc{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class y0 extends oc{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class B0 extends oc{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Gc extends oc{}class tl extends oc{constructor(n){super(`Invalid unit ${n}`)}}class Yi extends oc{}class jo extends oc{constructor(){super("Zone is an abstract class")}}var L="numeric",$o="short",Ni="long",Hx={year:L,month:L,day:L},D0={year:L,month:$o,day:L},q4={year:L,month:$o,day:L,weekday:$o},h0={year:L,month:Ni,day:L},I0={year:L,month:Ni,day:L,weekday:Ni},C0={hour:L,minute:L},t0={hour:L,minute:L,second:L},k0={hour:L,minute:L,second:L,timeZoneName:$o},r0={hour:L,minute:L,second:L,timeZoneName:Ni},Z0={hour:L,minute:L,hourCycle:"h23"},q0={hour:L,minute:L,second:L,hourCycle:"h23"},P0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:$o},e0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Ni},g0={year:L,month:L,day:L,hour:L,minute:L},d0={year:L,month:L,day:L,hour:L,minute:L,second:L},nw={year:L,month:$o,day:L,hour:L,minute:L},iw={year:L,month:$o,day:L,hour:L,minute:L,second:L},P4={year:L,month:$o,day:L,weekday:$o,hour:L,minute:L},ow={year:L,month:Ni,day:L,hour:L,minute:L,timeZoneName:$o},cw={year:L,month:Ni,day:L,hour:L,minute:L,second:L,timeZoneName:$o},pw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,timeZoneName:Ni},aw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,second:L,timeZoneName:Ni};class uc{get type(){throw new jo}get name(){throw new jo}get ianaName(){return this.name}get isUniversal(){throw new jo}offsetName(n,i){throw new jo}formatOffset(n,i){throw new jo}offset(n){throw new jo}equals(n){throw new jo}get isValid(){throw new jo}}var Ul=null;class Ta extends uc{static get instance(){if(Ul===null)Ul=new Ta;return Ul}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Mw(n,i,o)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var ux={},g4={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},Kx={};class Yo extends uc{static create(n){if(!Kx[n])Kx[n]=new Yo(n);return Kx[n]}static resetCache(){Kx={},ux={}}static isValidSpecifier(n){return this.isValidZone(n)}static isValidZone(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}).format(),!0}catch(i){return!1}}constructor(n){super();this.zoneName=n,this.valid=Yo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Mw(n,i,o,this.name)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){const i=new Date(n);if(isNaN(i))return NaN;const o=e4(this.name);let[c,p,a,x,m,l,f]=o.formatToParts?n8(o,i):d4(o,i);if(x==="BC")c=-Math.abs(c)+1;const v=bx({year:c,month:p,day:a,hour:m===24?0:m,minute:l,second:f,millisecond:0});let S=+i;const M=S%1000;return S-=M>=0?M:1000+M,(v-S)/60000}equals(n){return n.type==="iana"&&n.name===this.name}get isValid(){return this.valid}}var l0={},yl={},Dl={},hl={},Fa=null,f0={};class xw{constructor(n,i,o){this.padTo=o.padTo||0,this.floor=o.floor||!1;const{padTo:c,floor:p,...a}=o;if(!i||Object.keys(a).length>0){const x={useGrouping:!1,...o};if(o.padTo>0)x.minimumIntegerDigits=o.padTo;this.inf=o8(n,x)}}format(n){if(this.inf){const i=this.floor?Math.floor(n):n;return this.inf.format(i)}else{const i=this.floor?Math.floor(n):Pl(n,3);return en(i,this.padTo)}}}class mw{constructor(n,i,o){this.opts=o,this.originalZone=void 0;let c=void 0;if(this.opts.timeZone)this.dt=n;else if(n.zone.type==="fixed"){const a=-1*(n.offset/60),x=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;if(n.offset!==0&&Yo.create(x).valid)c=x,this.dt=n;else c="UTC",this.dt=n.offset===0?n:n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone}else if(n.zone.type==="system")this.dt=n;else if(n.zone.type==="iana")this.dt=n,c=n.zone.name;else c="UTC",this.dt=n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone;const p={...this.opts};p.timeZone=p.timeZone||c,this.dtf=Bl(i,p)}format(){if(this.originalZone)return this.formatToParts().map(({value:n})=>n).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){const n=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return n.map((i)=>{if(i.type==="timeZoneName"){const o=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...i,value:o}}else return i});return n}resolvedOptions(){return this.dtf.resolvedOptions()}}class lw{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&Fw())this.rtf=c8(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return E8(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var v8={firstDay:1,minimalDays:4,weekend:[6,7]};class Yn{static fromOpts(n){return Yn.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){const a=n||Dn.defaultLocale,x=a||(p?"en-US":p8()),m=i||Dn.defaultNumberingSystem,l=o||Dn.defaultOutputCalendar,f=Il(c)||Dn.defaultWeekSettings;return new Yn(x,m,l,f,a)}static resetCache(){Fa=null,yl={},Dl={},hl={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return Yn.create(n,i,o,c)}constructor(n,i,o,c,p){const[a,x,m]=x8(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=m8(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=p,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=$8(this);return this.fastNumbersCached}listingMode(){const n=this.isEnglish(),i=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return n&&i?"en":"intl"}clone(n){if(!n||Object.getOwnPropertyNames(n).length===0)return this;else return Yn.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,Il(n.weekSettings)||this.weekSettings,n.defaultToEN||!1)}redefaultToEN(n={}){return this.clone({...n,defaultToEN:!0})}redefaultToSystem(n={}){return this.clone({...n,defaultToEN:!1})}months(n,i=!1){return Wx(this,n,Kw,()=>{const o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=l8((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Wx(this,n,Gw,()=>{const o=i?{weekday:n,year:"numeric",month:"long",day:"numeric"}:{weekday:n},c=i?"format":"standalone";if(!this.weekdaysCache[c][n])this.weekdaysCache[c][n]=f8((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Wx(this,void 0,()=>zw,()=>{if(!this.meridiemCache){const n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[xn.utc(2016,11,13,9),xn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Wx(this,n,Yw,()=>{const i={era:n};if(!this.eraCache[n])this.eraCache[n]=[xn.utc(-40,1,1),xn.utc(2017,1,1)].map((o)=>this.extract(o,i,"era"));return this.eraCache[n]})}extract(n,i,o){const c=this.dtFormatter(n,i),p=c.formatToParts(),a=p.find((x)=>x.type.toLowerCase()===o);return a?a.value:null}numberFormatter(n={}){return new xw(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new mw(n,this.intl,i)}relFormatter(n={}){return new lw(this.intl,this.isEnglish(),n)}listFormatter(n={}){return i8(this.intl,n)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!Aw())return v8;else return a8(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(n){return this.locale===n.locale&&this.numberingSystem===n.numberingSystem&&this.outputCalendar===n.outputCalendar}}var Vl=null;class Ai extends uc{static get utcInstance(){if(Vl===null)Vl=new Ai(0);return Vl}static instance(n){return n===0?Ai.utcInstance:new Ai(n)}static parseSpecifier(n){if(n){const i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ai(_x(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Aa(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Aa(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Aa(this.fixed,i)}get isUniversal(){return!0}offset(){return this.fixed}equals(n){return n.type==="fixed"&&n.fixed===this.fixed}get isValid(){return!0}}class kl extends uc{constructor(n){super();this.zoneName=n}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}var $0=()=>Date.now(),v0="system",w0=null,S0=null,J0=null,F0=60,A0,M0=null;class Dn{static get now(){return $0}static set now(n){$0=n}static set defaultZone(n){v0=n}static get defaultZone(){return ic(v0,Ta.instance)}static get defaultLocale(){return w0}static set defaultLocale(n){w0=n}static get defaultNumberingSystem(){return S0}static set defaultNumberingSystem(n){S0=n}static get defaultOutputCalendar(){return J0}static set defaultOutputCalendar(n){J0=n}static get defaultWeekSettings(){return M0}static set defaultWeekSettings(n){M0=Il(n)}static get twoDigitCutoffYear(){return F0}static set twoDigitCutoffYear(n){F0=n%100}static get throwOnInvalid(){return A0}static set throwOnInvalid(n){A0=n}static resetCaches(){Yn.resetCache(),Yo.resetCache()}}class qi{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var fw=[0,31,59,90,120,151,181,212,243,273,304,334],$w=[0,31,60,91,121,152,182,213,244,274,305,335],R8=["January","February","March","April","May","June","July","August","September","October","November","December"],Rw=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],K8=["J","F","M","A","M","J","J","A","S","O","N","D"],Ww=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Xw=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],W8=["M","T","W","T","F","S","S"],zw=["AM","PM"],X8=["Before Christ","Anno Domini"],G8=["BC","AD"],z8=["B","A"],Q8={D:Hx,DD:D0,DDD:h0,DDDD:I0,t:C0,tt:t0,ttt:k0,tttt:r0,T:Z0,TT:q0,TTT:P0,TTTT:e0,f:g0,ff:nw,fff:ow,ffff:pw,F:d0,FF:iw,FFF:cw,FFFF:aw};class Fi{static create(n,i={}){return new Fi(n,i)}static parseFormat(n){let i=null,o="",c=!1;const p=[];for(let a=0;a<n.length;a++){const x=n.charAt(a);if(x==="'"){if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});i=null,o="",c=!c}else if(c)o+=x;else if(x===i)o+=x;else{if(o.length>0)p.push({literal:/^\s+$/.test(o),val:o});o=x,i=x}}if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});return p}static macroTokenToFormatOpts(n){return Q8[n]}constructor(n,i){this.opts=i,this.loc=n,this.systemLoc=null}formatWithSystemDefault(n,i){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(n,{...this.opts,...i}).format()}dtFormatter(n,i={}){return this.loc.dtFormatter(n,{...this.opts,...i})}formatDateTime(n,i){return this.dtFormatter(n,i).format()}formatDateTimeParts(n,i){return this.dtFormatter(n,i).formatToParts()}formatInterval(n,i){return this.dtFormatter(n.start,i).dtf.formatRange(n.start.toJSDate(),n.end.toJSDate())}resolvedOptions(n,i){return this.dtFormatter(n,i).resolvedOptions()}num(n,i=0){if(this.opts.forceSimple)return en(n,i);const o={...this.opts};if(i>0)o.padTo=i;return this.loc.numberFormatter(o).format(n)}formatDateTimeFromString(n,i){const o=this.loc.listingMode()==="en",c=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",p=(S,M)=>this.loc.extract(n,S,M),a=(S)=>{if(n.isOffsetFixed&&n.offset===0&&S.allowZ)return"Z";return n.isValid?n.zone.formatOffset(n.ts,S.format):""},x=()=>o?Y8(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,M)=>o?O8(n,S):p(M?{month:S}:{month:S,day:"numeric"},"month"),l=(S,M)=>o?u8(n,S):p(M?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const M=Fi.macroTokenToFormatOpts(S);if(M)return this.formatWithSystemDefault(n,M);else return S},$=(S)=>o?H8(n,S):p({era:S},"era"),v=(S)=>{switch(S){case"S":return this.num(n.millisecond);case"u":case"SSS":return this.num(n.millisecond,3);case"s":return this.num(n.second);case"ss":return this.num(n.second,2);case"uu":return this.num(Math.floor(n.millisecond/10),2);case"uuu":return this.num(Math.floor(n.millisecond/100));case"m":return this.num(n.minute);case"mm":return this.num(n.minute,2);case"h":return this.num(n.hour%12===0?12:n.hour%12);case"hh":return this.num(n.hour%12===0?12:n.hour%12,2);case"H":return this.num(n.hour);case"HH":return this.num(n.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return n.zone.offsetName(n.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return n.zone.offsetName(n.ts,{format:"long",locale:this.loc.locale});case"z":return n.zoneName;case"a":return x();case"d":return c?p({day:"numeric"},"day"):this.num(n.day);case"dd":return c?p({day:"2-digit"},"day"):this.num(n.day,2);case"c":return this.num(n.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(n.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return c?p({month:"numeric",day:"numeric"},"month"):this.num(n.month);case"LL":return c?p({month:"2-digit",day:"numeric"},"month"):this.num(n.month,2);case"LLL":return m("short",!0);case"LLLL":return m("long",!0);case"LLLLL":return m("narrow",!0);case"M":return c?p({month:"numeric"},"month"):this.num(n.month);case"MM":return c?p({month:"2-digit"},"month"):this.num(n.month,2);case"MMM":return m("short",!1);case"MMMM":return m("long",!1);case"MMMMM":return m("narrow",!1);case"y":return c?p({year:"numeric"},"year"):this.num(n.year);case"yy":return c?p({year:"2-digit"},"year"):this.num(n.year.toString().slice(-2),2);case"yyyy":return c?p({year:"numeric"},"year"):this.num(n.year,4);case"yyyyyy":return c?p({year:"numeric"},"year"):this.num(n.year,6);case"G":return $("short");case"GG":return $("long");case"GGGGG":return $("narrow");case"kk":return this.num(n.weekYear.toString().slice(-2),2);case"kkkk":return this.num(n.weekYear,4);case"W":return this.num(n.weekNumber);case"WW":return this.num(n.weekNumber,2);case"n":return this.num(n.localWeekNumber);case"nn":return this.num(n.localWeekNumber,2);case"ii":return this.num(n.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(n.localWeekYear,4);case"o":return this.num(n.ordinal);case"ooo":return this.num(n.ordinal,3);case"q":return this.num(n.quarter);case"qq":return this.num(n.quarter,2);case"X":return this.num(Math.floor(n.ts/1000));case"x":return this.num(n.ts);default:return f(S)}};return G0(Fi.parseFormat(i),v)}formatDurationFromString(n,i){const o=(m)=>{switch(m[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},c=(m)=>(l)=>{const f=o(l);if(f)return this.num(m.get(f),l.length);else return l},p=Fi.parseFormat(i),a=p.reduce((m,{literal:l,val:f})=>l?m:m.concat(f),[]),x=n.shiftTo(...a.map(o).filter((m)=>m));return G0(p,c(x))}}var uw=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,Hw=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,U8=`(?:${Hw.source}?(?:\\[(${uw.source})\\])?)?`,el=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ew=RegExp(`${el.source}${U8}`),gl=RegExp(`(?:T${Ew.source})?`),V8=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,b8=/(\d{4})-?W(\d\d)(?:-?(\d))?/,_8=/(\d{4})-?(\d{3})/,s8=Ow("weekYear","weekNumber","weekDay"),j8=Ow("year","ordinal"),N8=/(\d{4})-(\d\d)-(\d\d)/,Qw=RegExp(`${el.source} ?(?:${Hw.source}|(${uw.source}))?`),L8=RegExp(`(?: ${Qw.source})?`),B8=RegExp(`^T?${el.source}\$`),D8=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/,I8={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},C8=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/,r8=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Z8=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,q8=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/,e8=lp(V8,gl),g8=lp(b8,gl),d8=lp(_8,gl),nK=lp(Ew),Uw=fp(y8,vp,Ka,Wa),iK=fp(s8,vp,Ka,Wa),oK=fp(j8,vp,Ka,Wa),cK=fp(vp,Ka,Wa),lK=fp(vp),$K=lp(N8,L8),vK=lp(Qw),wK=fp(vp,Ka,Wa),Y0="Invalid Duration",Vw={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},JK={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...Vw},Zi=365.2425,op=30.436875,FK={years:{quarters:4,months:12,weeks:Zi/7,days:Zi,hours:Zi*24,minutes:Zi*24*60,seconds:Zi*24*60*60,milliseconds:Zi*24*60*60*1000},quarters:{months:3,weeks:Zi/28,days:Zi/4,hours:Zi*24/4,minutes:Zi*24*60/4,seconds:Zi*24*60*60/4,milliseconds:Zi*24*60*60*1000/4},months:{weeks:op/7,days:op,hours:op*24,minutes:op*24*60,seconds:op*24*60*60,milliseconds:op*24*60*60*1000},...Vw},zc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],AK=zc.slice(0).reverse();class Mn{constructor(n){const i=n.conversionAccuracy==="longterm"||!1;let o=i?FK:JK;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||Yn.create(),this.conversionAccuracy=i?"longterm":"casual",this.invalid=n.invalid||null,this.matrix=o,this.isLuxonDuration=!0}static fromMillis(n,i){return Mn.fromObject({milliseconds:n},i)}static fromObject(n,i={}){if(n==null||typeof n!=="object")throw new Yi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Mn({values:Ux(n,Mn.normalizeUnit),loc:Yn.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(Yc(n))return Mn.fromMillis(n);else if(Mn.isDuration(n))return n;else if(typeof n==="object")return Mn.fromObject(n);else throw new Yi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){const[o]=mK(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){const[o]=fK(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the Duration is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new B0(o);else return new Mn({invalid:o})}static normalizeUnit(n){const i={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[n?n.toLowerCase():n];if(!i)throw new tl(n);return i}static isDuration(n){return n&&n.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(n,i={}){const o={...i,floor:i.round!==!1&&i.floor!==!1};return this.isValid?Fi.create(this.loc,o).formatDurationFromString(this,n):Y0}toHuman(n={}){if(!this.isValid)return Y0;const i=zc.map((o)=>{const c=this.values[o];if(pn(c))return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...n,unit:o.slice(0,-1)}).format(c)}).filter((o)=>o);return this.loc.listFormatter({type:"conjunction",style:n.listStyle||"narrow",...n}).format(i)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let n="P";if(this.years!==0)n+=this.years+"Y";if(this.months!==0||this.quarters!==0)n+=this.months+this.quarters*3+"M";if(this.weeks!==0)n+=this.weeks+"W";if(this.days!==0)n+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)n+="T";if(this.hours!==0)n+=this.hours+"H";if(this.minutes!==0)n+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)n+=Pl(this.seconds+this.milliseconds/1000,3)+"S";if(n==="P")n+="T0S";return n}toISOTime(n={}){if(!this.isValid)return null;const i=this.toMillis();if(i<0||i>=86400000)return null;return n={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...n,includeOffset:!1},xn.fromMillis(i,{zone:"UTC"}).toISOTime(n)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return bw(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n),o={};for(let c of zc)if(mp(i.values,c)||mp(this.values,c))o[c]=i.get(c)+this.get(c);return go(this,{values:o},!0)}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return this.plus(i.negate())}mapUnits(n){if(!this.isValid)return this;const i={};for(let o of Object.keys(this.values))i[o]=Tw(n(this.values[o],o));return go(this,{values:i},!0)}get(n){return this[Mn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...Ux(n,Mn.normalizeUnit)};return go(this,{values:i})}reconfigure({locale:n,numberingSystem:i,conversionAccuracy:o,matrix:c}={}){const a={loc:this.loc.clone({locale:n,numberingSystem:i}),matrix:c,conversionAccuracy:o};return go(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;const n=this.toObject();return u0(this.matrix,n),go(this,{values:n},!0)}rescale(){if(!this.isValid)return this;const n=MK(this.normalize().shiftToAll().toObject());return go(this,{values:n},!0)}shiftTo(...n){if(!this.isValid)return this;if(n.length===0)return this;n=n.map((a)=>Mn.normalizeUnit(a));const i={},o={},c=this.toObject();let p;for(let a of zc)if(n.indexOf(a)>=0){p=a;let x=0;for(let l in o)x+=this.matrix[l][a]*o[l],o[l]=0;if(Yc(c[a]))x+=c[a];const m=Math.trunc(x);i[a]=m,o[a]=(x*1000-m*1000)/1000}else if(Yc(c[a]))o[a]=c[a];for(let a in o)if(o[a]!==0)i[p]+=a===p?o[a]:o[a]/this.matrix[p][a];return u0(this.matrix,i),go(this,{values:i},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;const n={};for(let i of Object.keys(this.values))n[i]=this.values[i]===0?0:-this.values[i];return go(this,{values:n},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(n){if(!this.isValid||!n.isValid)return!1;if(!this.loc.equals(n.loc))return!1;function i(o,c){if(o===void 0||o===0)return c===void 0||c===0;return o===c}for(let o of zc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var cp="Invalid Interval";class Bn{constructor(n){this.s=n.start,this.e=n.end,this.invalid=n.invalid||null,this.isLuxonInterval=!0}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the Interval is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new y0(o);else return new Bn({invalid:o})}static fromDateTimes(n,i){const o=Ja(n),c=Ja(i),p=TK(o,c);if(p==null)return new Bn({start:o,end:c});else return p}static after(n,i){const o=Mn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Mn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){const[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=xn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=xn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Bn.fromDateTimes(p,x);if(a){const l=Mn.fromISO(c,i);if(l.isValid)return Bn.after(p,l)}else if(m){const l=Mn.fromISO(o,i);if(l.isValid)return Bn.before(x,l)}}return Bn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static isInterval(n){return n&&n.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(n="milliseconds"){return this.isValid?this.toDuration(...[n]).get(n):NaN}count(n="milliseconds",i){if(!this.isValid)return NaN;const o=this.start.startOf(n,i);let c;if(i!=null&&i.useLocaleWeeks)c=this.end.reconfigure({locale:o.locale});else c=this.end;return c=c.startOf(n,i),Math.floor(c.diff(o,n).get(n))+(c.valueOf()!==this.end.valueOf())}hasSame(n){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,n):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(n){if(!this.isValid)return!1;return this.s>n}isBefore(n){if(!this.isValid)return!1;return this.e<=n}contains(n){if(!this.isValid)return!1;return this.s<=n&&this.e>n}set({start:n,end:i}={}){if(!this.isValid)return this;return Bn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];const i=n.map(Ja).filter((a)=>this.contains(a)).sort((a,x)=>a.toMillis()-x.toMillis()),o=[];let{s:c}=this,p=0;while(c<this.e){const a=i[p]||this.e,x=+a>+this.e?this.e:a;o.push(Bn.fromDateTimes(c,x)),c=x,p+=1}return o}splitBy(n){const i=Mn.fromDurationLike(n);if(!this.isValid||!i.isValid||i.as("milliseconds")===0)return[];let{s:o}=this,c=1,p;const a=[];while(o<this.e){const x=this.start.plus(i.mapUnits((m)=>m*c));p=+x>+this.e?this.e:x,a.push(Bn.fromDateTimes(o,p)),o=p,c+=1}return a}divideEqually(n){if(!this.isValid)return[];return this.splitBy(this.length()/n).slice(0,n)}overlaps(n){return this.e>n.s&&this.s<n.e}abutsStart(n){if(!this.isValid)return!1;return+this.e===+n.s}abutsEnd(n){if(!this.isValid)return!1;return+n.e===+this.s}engulfs(n){if(!this.isValid)return!1;return this.s<=n.s&&this.e>=n.e}equals(n){if(!this.isValid||!n.isValid)return!1;return this.s.equals(n.s)&&this.e.equals(n.e)}intersection(n){if(!this.isValid)return this;const i=this.s>n.s?this.s:n.s,o=this.e<n.e?this.e:n.e;if(i>=o)return null;else return Bn.fromDateTimes(i,o)}union(n){if(!this.isValid)return this;const i=this.s<n.s?this.s:n.s,o=this.e>n.e?this.e:n.e;return Bn.fromDateTimes(i,o)}static merge(n){const[i,o]=n.sort((c,p)=>c.s-p.s).reduce(([c,p],a)=>{if(!p)return[c,a];else if(p.overlaps(a)||p.abutsStart(a))return[c,p.union(a)];else return[c.concat([p]),a]},[[],null]);if(o)i.push(o);return i}static xor(n){let i=null,o=0;const c=[],p=n.map((m)=>[{time:m.s,type:"s"},{time:m.e,type:"e"}]),a=Array.prototype.concat(...p),x=a.sort((m,l)=>m.time-l.time);for(let m of x)if(o+=m.type==="s"?1:-1,o===1)i=m.time;else{if(i&&+i!==+m.time)c.push(Bn.fromDateTimes(i,m.time));i=null}return Bn.merge(c)}difference(...n){return Bn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return cp;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(n=Hx,i={}){return this.isValid?Fi.create(this.s.loc.clone(i),n).formatInterval(this):cp}toISO(n){if(!this.isValid)return cp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return cp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return cp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return cp;return`${this.s.toFormat(n)}${i}${this.e.toFormat(n)}`}toDuration(n,i){if(!this.isValid)return Mn.invalid(this.invalidReason);return this.e.diff(this.s,n,i)}mapEndpoints(n){return Bn.fromDateTimes(n(this.s),n(this.e))}}class pp{static hasDST(n=Dn.defaultZone){const i=xn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Yo.isValidZone(n)}static normalizeZone(n){return ic(n,Dn.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return Yn.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return Yn.create(i,null,"gregory").eras(n)}static features(){return{relative:Fw(),localeWeek:Aw()}}}var nf={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},H0={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},WK=nf.hanidec.replace(/[\[|\]]/g,"").split(""),GK="missing Intl.DateTimeFormat.formatToParts support",zK=String.fromCharCode(160),_w=`[ ${zK}]`,sw=new RegExp(_w,"g"),HK={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},_l=null,sl="Invalid DateTime",U0=8640000000000000,Bw={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jK={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},NK={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Dw=["year","month","day","hour","minute","second","millisecond"],LK=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],yK=["year","ordinal","hour","minute","second","millisecond"];class xn{constructor(n){const i=n.zone||Dn.defaultZone;let o=n.invalid||(Number.isNaN(n.ts)?new qi("invalid input"):null)||(!i.isValid?Gx(i):null);this.ts=pn(n.ts)?Dn.now():n.ts;let c=null,p=null;if(!o)if(n.old&&n.old.ts===this.ts&&n.old.zone.equals(i))[c,p]=[n.old.c,n.old.o];else{const x=i.offset(this.ts);c=zx(this.ts,x),o=Number.isNaN(c.year)?new qi("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||Yn.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new xn({})}static local(){const[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){const[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ai.utcInstance,s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){const o=F8(n)?n.valueOf():NaN;if(Number.isNaN(o))return xn.invalid("invalid input");const c=ic(i.zone,Dn.defaultZone);if(!c.isValid)return xn.invalid(Gx(c));return new xn({ts:o,zone:c,loc:Yn.fromObject(i)})}static fromMillis(n,i={}){if(!Yc(n))throw new Yi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-U0||n>U0)return xn.invalid("Timestamp out of range");else return new xn({ts:n,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromSeconds(n,i={}){if(!Yc(n))throw new Yi("fromSeconds requires a numerical input");else return new xn({ts:n*1000,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromObject(n,i={}){n=n||{};const o=ic(i.zone,Dn.defaultZone);if(!o.isValid)return xn.invalid(Gx(o));const c=Yn.fromObject(i),p=Ux(n,_0),{minDaysInFirstWeek:a,startOfWeek:x}=K0(p,c),m=Dn.now(),l=!pn(i.specificOffset)?i.specificOffset:o.offset(m),f=!pn(p.ordinal),$=!pn(p.year),v=!pn(p.month)||!pn(p.day),S=$||v,M=p.weekYear||p.weekNumber;if((S||f)&&M)throw new Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Gc("Can't mix ordinal dates with month/day");const R=M||p.weekday&&!S;let A,X,G=zx(m,l);if(R)A=LK,X=jK,G=Ex(G,a,x);else if(f)A=yK,X=NK,G=bl(G);else A=Dw,X=Bw;let Y=!1;for(let V of A){const K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=G[V]}const E=R?w8(p,a,x):f?S8(p):Sw(p),s=E||Jw(p);if(s)return xn.invalid(s);const z=R?T0(p,a,x):f?R0(p):p,[T,O]=Ox(z,l,o),U=new xn({ts:T,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return xn.invalid("mismatched weekday",`you can't specify both a weekday of ${p.weekday} and a date of ${U.toISO()}`);return U}static fromISO(n,i={}){const[o,c]=pK(n);return Sa(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){const[o,c]=aK(n);return Sa(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){const[o,c]=xK(n);return Sa(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Yi("fromFormat requires an input string and a format");const{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=sK(a,n,i);if(f)return xn.invalid(f);else return Sa(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return xn.fromFormat(n,i,o)}static fromSQL(n,i={}){const[o,c]=SK(n);return Sa(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the DateTime is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new L0(o);else return new xn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){const o=Lw(n,Yn.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return jw(Fi.parseFormat(n),Yn.fromObject(i)).map((c)=>c.val).join("")}get(n){return this[n]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?jl(this).weekYear:NaN}get weekNumber(){return this.isValid?jl(this).weekNumber:NaN}get weekday(){return this.isValid?jl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Nl(this).weekday:NaN}get localWeekNumber(){return this.isValid?Nl(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Nl(this).weekYear:NaN}get ordinal(){return this.isValid?bl(this.c).ordinal:NaN}get monthShort(){return this.isValid?pp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?pp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?pp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?pp.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const n=86400000,i=60000,o=bx(this.c),c=this.zone.offset(o-n),p=this.zone.offset(o+n),a=this.zone.offset(o-c*i),x=this.zone.offset(o-p*i);if(a===x)return[this];const m=o-a*i,l=o-x*i,f=zx(m,a),$=zx(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Xc(this,{ts:m}),Xc(this,{ts:l})];return[this]}get isInLeapYear(){return Ra(this.year)}get daysInMonth(){return Qx(this.year,this.month)}get daysInYear(){return this.isValid?ap(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ma(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ma(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){const{locale:i,numberingSystem:o,calendar:c}=Fi.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ai.instance(n),i)}toLocal(){return this.setZone(Dn.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=ic(n,Dn.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return xn.invalid(Gx(n));else{let c=this.ts;if(i||o){const p=n.offset(this.ts),a=this.toObject();[c]=Ox(a,p,n)}return Xc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){const c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Xc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;const i=Ux(n,_0),{minDaysInFirstWeek:o,startOfWeek:c}=K0(i,this.loc),p=!pn(i.weekYear)||!pn(i.weekNumber)||!pn(i.weekday),a=!pn(i.ordinal),x=!pn(i.year),m=!pn(i.month)||!pn(i.day),l=x||m,f=i.weekYear||i.weekNumber;if((l||a)&&f)throw new Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Gc("Can't mix ordinal dates with month/day");let $;if(p)$=T0({...Ex(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=R0({...bl(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Qx($.year,$.month),$.day);const[v,S]=Ox($,this.o,this.zone);return Xc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return Xc(this,V0(this,i))}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n).negate();return Xc(this,V0(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;const o={},c=Mn.normalizeUnit(n);switch(c){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(c==="weeks")if(i){const p=this.loc.getStartOfWeek(),{weekday:a}=this;if(a<p)o.weekNumber=this.weekNumber-1;o.weekday=p}else o.weekday=1;if(c==="quarters"){const p=Math.ceil(this.month/3);o.month=(p-1)*3+1}return this.set(o)}endOf(n,i){return this.isValid?this.plus({[n]:1}).startOf(n,i).minus(1):this}toFormat(n,i={}){return this.isValid?Fi.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):sl}toLocaleString(n=Hx,i={}){return this.isValid?Fi.create(this.loc.clone(i),n).formatDateTime(this):sl}toLocaleParts(n={}){return this.isValid?Fi.create(this.loc.clone(n),n).formatDateTimeParts(this):[]}toISO({format:n="extended",suppressSeconds:i=!1,suppressMilliseconds:o=!1,includeOffset:c=!0,extendedZone:p=!1}={}){if(!this.isValid)return null;const a=n==="extended";let x=Ll(this,a);return x+="T",x+=b0(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return Ll(this,n==="extended")}toISOWeekDate(){return Yx(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:n=!1,suppressSeconds:i=!1,includeOffset:o=!0,includePrefix:c=!1,extendedZone:p=!1,format:a="extended"}={}){if(!this.isValid)return null;return(c?"T":"")+b0(this,a==="extended",i,n,o,p)}toRFC2822(){return Yx(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Yx(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return Ll(this,!0)}toSQLTime({includeOffset:n=!0,includeZone:i=!1,includeOffsetSpace:o=!0}={}){let c="HH:mm:ss.SSS";if(i||n){if(o)c+=" ";if(i)c+="z";else if(n)c+="ZZ"}return Yx(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():sl}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(n={}){if(!this.isValid)return{};const i={...this.c};if(n.includeConfig)i.outputCalendar=this.outputCalendar,i.numberingSystem=this.loc.numberingSystem,i.locale=this.loc.locale;return i}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(n,i="milliseconds",o={}){if(!this.isValid||!n.isValid)return Mn.invalid("created by diffing an invalid DateTime");const c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=A8(i).map(Mn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=KK(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(xn.now(),n,i)}until(n){return this.isValid?Bn.fromDateTimes(this,n):this}hasSame(n,i,o){if(!this.isValid)return!1;const c=n.valueOf(),p=this.setZone(n.zone,{keepLocalTime:!0});return p.startOf(i,o)<=c&&c<=p.endOf(i,o)}equals(n){return this.isValid&&n.isValid&&this.valueOf()===n.valueOf()&&this.zone.equals(n.zone)&&this.loc.equals(n.loc)}toRelative(n={}){if(!this.isValid)return null;const i=n.base||xn.fromObject({},{zone:this.zone}),o=n.padding?this<i?-n.padding:n.padding:0;let c=["years","months","days","hours","minutes","seconds"],p=n.unit;if(Array.isArray(n.unit))c=n.unit,p=void 0;return j0(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return j0(n.base||xn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(xn.isDateTime))throw new Yi("min requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(xn.isDateTime))throw new Yi("max requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){const{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return Nw(a,n,i)}static fromStringExplain(n,i,o={}){return xn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return Hx}static get DATE_MED(){return D0}static get DATE_MED_WITH_WEEKDAY(){return q4}static get DATE_FULL(){return h0}static get DATE_HUGE(){return I0}static get TIME_SIMPLE(){return C0}static get TIME_WITH_SECONDS(){return t0}static get TIME_WITH_SHORT_OFFSET(){return k0}static get TIME_WITH_LONG_OFFSET(){return r0}static get TIME_24_SIMPLE(){return Z0}static get TIME_24_WITH_SECONDS(){return q0}static get TIME_24_WITH_SHORT_OFFSET(){return P0}static get TIME_24_WITH_LONG_OFFSET(){return e0}static get DATETIME_SHORT(){return g0}static get DATETIME_SHORT_WITH_SECONDS(){return d0}static get DATETIME_MED(){return nw}static get DATETIME_MED_WITH_SECONDS(){return iw}static get DATETIME_MED_WITH_WEEKDAY(){return P4}static get DATETIME_FULL(){return ow}static get DATETIME_FULL_WITH_SECONDS(){return cw}static get DATETIME_HUGE(){return pw}static get DATETIME_HUGE_WITH_SECONDS(){return aw}}var DK="3.4.4";hw.DateTime=xn;hw.Duration=Mn;hw.FixedOffsetZone=Ai;hw.IANAZone=Yo;hw.Info=pp;hw.Interval=Bn;hw.InvalidZone=kl;hw.Settings=Dn;hw.SystemZone=Ta;hw.VERSION=DK;hw.Zone=uc});var Zw=I((Cw)=>{Object.defineProperty(Cw,"__esModule",{value:!0});Cw.RE_RANGE=Cw.RE_WILDCARDS=Cw.PRESETS=Cw.TIME_UNITS_LEN=Cw.TIME_UNITS=Cw.TIME_UNITS_MAP=Cw.ALIASES=Cw.PARSE_DEFAULTS=Cw.MONTH_CONSTRAINTS=Cw.CONSTRAINTS=void 0;Cw.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});Cw.MONTH_CONSTRAINTS=Object.freeze({1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31});Cw.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});Cw.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});Cw.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});Cw.TIME_UNITS=Object.freeze(Object.values(Cw.TIME_UNITS_MAP));Cw.TIME_UNITS_LEN=Cw.TIME_UNITS.length;Cw.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});Cw.RE_WILDCARDS=/\*/g;Cw.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var cf=I((Pw)=>{Object.defineProperty(Pw,"__esModule",{value:!0});Pw.ExclusiveParametersError=Pw.CronError=void 0;class of extends Error{}Pw.CronError=of;class qw extends of{constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}Pw.ExclusiveParametersError=qw});var nS=I((gw)=>{Object.defineProperty(gw,"__esModule",{value:!0});gw.getRecordKeys=void 0;var m6=(n)=>{return Object.keys(n)};gw.getRecordKeys=m6});var jx=I((cS)=>{Object.defineProperty(cS,"__esModule",{value:!0});cS.CronTime=void 0;var uo=Iw(),ai=Zw(),Mi=cf(),iS=nS();class oS{constructor(n,i,o){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},i!=null&&o!=null)throw new Mi.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!uo.DateTime.fromObject({},{zone:i}).isValid)throw new Mi.CronError("Invalid timezone.");this.timeZone=i}if(o!=null)this.utcOffset=o;if(n instanceof Date||n instanceof uo.DateTime)this.source=n instanceof Date?uo.DateTime.fromJSDate(n):n,this.realDate=!0;else this.source=n,this._parse(this.source),this._verifyParse()}_getWeekDay(n){return n.weekday===7?0:n.weekday}_verifyParse(){const n=iS.getRecordKeys(this.month),i=iS.getRecordKeys(this.dayOfMonth);let o=!1,c=null;for(let p of n){const a=ai.MONTH_CONSTRAINTS[p];for(let x of i)if(x<=a)o=!0;if(!o)c=p,console.warn(`Month '${p}' is limited to '${a}' days.`)}if(!o&&c!==null){const p=ai.MONTH_CONSTRAINTS[c];for(let a of i)if(a>p){delete this.dayOfMonth[a];const x=a%p;this.dayOfMonth[x]=!0}}}sendAt(n){let i=this.realDate&&this.source instanceof uo.DateTime?this.source:uo.DateTime.local();if(this.timeZone)i=i.setZone(this.timeZone);if(this.utcOffset!==void 0){const o=this.utcOffset<0?"-":"+",c=Math.trunc(this.utcOffset/60),p=String(Math.abs(c)).padStart(2,"0"),a=Math.abs(this.utcOffset-c*60),x=String(a).padStart(2,"0"),m=`UTC${o}${p}:${x}`;if(i=i.setZone(m),!i.isValid)throw new Mi.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(uo.DateTime.local()>i)throw new Mi.CronError("WARNING: Date in past. Will never be fired.");return i}if(n===void 0||isNaN(n)||n<0)return this.getNextDateFrom(i);else{const o=[];for(;n>0;n--)i=this.getNextDateFrom(i),o.push(i);return o}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-uo.DateTime.local().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return ai.TIME_UNITS.map((n)=>{return this._wcOrAll(n)})}getNextDateFrom(n,i){var o;if(n instanceof Date)n=uo.DateTime.fromJSDate(n);let c=n;const p=n.toMillis();if(i)c=c.setZone(i);if(!this.realDate){if(c.millisecond>0)c=c.set({millisecond:0,second:c.second+1})}if(!c.isValid)throw new Mi.CronError("ERROR: You specified an invalid date.");const a=uo.DateTime.now().plus({years:8});while(!0){const x=c.toMillis()-n.toMillis();if(c>a)throw new Mi.CronError(`Something went wrong. No execution date was found in the next 8 years.
|
|
3
|
+
var s4=Object.create;var{getPrototypeOf:j4,defineProperty:pl,getOwnPropertyNames:N4}=Object;var L4=Object.prototype.hasOwnProperty;var al=(n,i,o)=>{o=n!=null?s4(j4(n)):{};let c=i||!n||!n.__esModule?pl(o,"default",{value:n,enumerable:!0}):o;for(let p of N4(n))if(!L4.call(c,p))pl(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var y4=(n,i)=>{for(var o in i)pl(n,o,{get:i[o],enumerable:!0,configurable:!0,set:(c)=>i[o]=()=>c})};var Iw=I((hw)=>{Object.defineProperty(hw,"__esModule",{value:!0});class oc extends Error{}class L0 extends oc{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class y0 extends oc{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class B0 extends oc{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Gc extends oc{}class tl extends oc{constructor(n){super(`Invalid unit ${n}`)}}class Yi extends oc{}class jo extends oc{constructor(){super("Zone is an abstract class")}}var L="numeric",$o="short",Ni="long",Hx={year:L,month:L,day:L},D0={year:L,month:$o,day:L},q4={year:L,month:$o,day:L,weekday:$o},h0={year:L,month:Ni,day:L},I0={year:L,month:Ni,day:L,weekday:Ni},C0={hour:L,minute:L},t0={hour:L,minute:L,second:L},k0={hour:L,minute:L,second:L,timeZoneName:$o},r0={hour:L,minute:L,second:L,timeZoneName:Ni},Z0={hour:L,minute:L,hourCycle:"h23"},q0={hour:L,minute:L,second:L,hourCycle:"h23"},P0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:$o},e0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Ni},g0={year:L,month:L,day:L,hour:L,minute:L},d0={year:L,month:L,day:L,hour:L,minute:L,second:L},nw={year:L,month:$o,day:L,hour:L,minute:L},iw={year:L,month:$o,day:L,hour:L,minute:L,second:L},P4={year:L,month:$o,day:L,weekday:$o,hour:L,minute:L},ow={year:L,month:Ni,day:L,hour:L,minute:L,timeZoneName:$o},cw={year:L,month:Ni,day:L,hour:L,minute:L,second:L,timeZoneName:$o},pw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,timeZoneName:Ni},aw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,second:L,timeZoneName:Ni};class uc{get type(){throw new jo}get name(){throw new jo}get ianaName(){return this.name}get isUniversal(){throw new jo}offsetName(n,i){throw new jo}formatOffset(n,i){throw new jo}offset(n){throw new jo}equals(n){throw new jo}get isValid(){throw new jo}}var Ul=null;class Ta extends uc{static get instance(){if(Ul===null)Ul=new Ta;return Ul}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Mw(n,i,o)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var ux={};function e4(n){if(!ux[n])ux[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"});return ux[n]}var g4={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function d4(n,i){let o=n.format(i).replace(/\u200E/g,""),c=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(o),[,p,a,x,m,l,f,$]=c;return[x,p,a,m,l,f,$]}function n8(n,i){let o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){let{type:a,value:x}=o[p],m=g4[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}var Kx={};class Yo extends uc{static create(n){if(!Kx[n])Kx[n]=new Yo(n);return Kx[n]}static resetCache(){Kx={},ux={}}static isValidSpecifier(n){return this.isValidZone(n)}static isValidZone(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}).format(),!0}catch(i){return!1}}constructor(n){super();this.zoneName=n,this.valid=Yo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Mw(n,i,o,this.name)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){let i=new Date(n);if(isNaN(i))return NaN;let o=e4(this.name),[c,p,a,x,m,l,f]=o.formatToParts?n8(o,i):d4(o,i);if(x==="BC")c=-Math.abs(c)+1;let v=bx({year:c,month:p,day:a,hour:m===24?0:m,minute:l,second:f,millisecond:0}),S=+i,M=S%1000;return S-=M>=0?M:1000+M,(v-S)/60000}equals(n){return n.type==="iana"&&n.name===this.name}get isValid(){return this.valid}}var l0={};function i8(n,i={}){let o=JSON.stringify([n,i]),c=l0[o];if(!c)c=new Intl.ListFormat(n,i),l0[o]=c;return c}var yl={};function Bl(n,i={}){let o=JSON.stringify([n,i]),c=yl[o];if(!c)c=new Intl.DateTimeFormat(n,i),yl[o]=c;return c}var Dl={};function o8(n,i={}){let o=JSON.stringify([n,i]),c=Dl[o];if(!c)c=new Intl.NumberFormat(n,i),Dl[o]=c;return c}var hl={};function c8(n,i={}){let{base:o,...c}=i,p=JSON.stringify([n,c]),a=hl[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),hl[p]=a;return a}var Fa=null;function p8(){if(Fa)return Fa;else return Fa=new Intl.DateTimeFormat().resolvedOptions().locale,Fa}var f0={};function a8(n){let i=f0[n];if(!i){let o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,f0[n]=i}return i}function x8(n){let i=n.indexOf("-x-");if(i!==-1)n=n.substring(0,i);let o=n.indexOf("-u-");if(o===-1)return[n];else{let c,p;try{c=Bl(n).resolvedOptions(),p=n}catch(m){let l=n.substring(0,o);c=Bl(l).resolvedOptions(),p=l}let{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function m8(n,i,o){if(o||i){if(!n.includes("-u-"))n+="-u";if(o)n+=`-ca-${o}`;if(i)n+=`-nu-${i}`;return n}else return n}function l8(n){let i=[];for(let o=1;o<=12;o++){let c=xn.utc(2009,o,1);i.push(n(c))}return i}function f8(n){let i=[];for(let o=1;o<=7;o++){let c=xn.utc(2016,11,13+o);i.push(n(c))}return i}function Wx(n,i,o,c){let p=n.listingMode();if(p==="error")return null;else if(p==="en")return o(i);else return c(i)}function $8(n){if(n.numberingSystem&&n.numberingSystem!=="latn")return!1;else return n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}class xw{constructor(n,i,o){this.padTo=o.padTo||0,this.floor=o.floor||!1;let{padTo:c,floor:p,...a}=o;if(!i||Object.keys(a).length>0){let x={useGrouping:!1,...o};if(o.padTo>0)x.minimumIntegerDigits=o.padTo;this.inf=o8(n,x)}}format(n){if(this.inf){let i=this.floor?Math.floor(n):n;return this.inf.format(i)}else{let i=this.floor?Math.floor(n):Pl(n,3);return en(i,this.padTo)}}}class mw{constructor(n,i,o){this.opts=o,this.originalZone=void 0;let c=void 0;if(this.opts.timeZone)this.dt=n;else if(n.zone.type==="fixed"){let a=-1*(n.offset/60),x=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;if(n.offset!==0&&Yo.create(x).valid)c=x,this.dt=n;else c="UTC",this.dt=n.offset===0?n:n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone}else if(n.zone.type==="system")this.dt=n;else if(n.zone.type==="iana")this.dt=n,c=n.zone.name;else c="UTC",this.dt=n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone;let p={...this.opts};p.timeZone=p.timeZone||c,this.dtf=Bl(i,p)}format(){if(this.originalZone)return this.formatToParts().map(({value:n})=>n).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){let n=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return n.map((i)=>{if(i.type==="timeZoneName"){let o=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...i,value:o}}else return i});return n}resolvedOptions(){return this.dtf.resolvedOptions()}}class lw{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&Fw())this.rtf=c8(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return E8(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var v8={firstDay:1,minimalDays:4,weekend:[6,7]};class Yn{static fromOpts(n){return Yn.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){let a=n||Dn.defaultLocale,x=a||(p?"en-US":p8()),m=i||Dn.defaultNumberingSystem,l=o||Dn.defaultOutputCalendar,f=Il(c)||Dn.defaultWeekSettings;return new Yn(x,m,l,f,a)}static resetCache(){Fa=null,yl={},Dl={},hl={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return Yn.create(n,i,o,c)}constructor(n,i,o,c,p){let[a,x,m]=x8(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=m8(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=p,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=$8(this);return this.fastNumbersCached}listingMode(){let n=this.isEnglish(),i=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return n&&i?"en":"intl"}clone(n){if(!n||Object.getOwnPropertyNames(n).length===0)return this;else return Yn.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,Il(n.weekSettings)||this.weekSettings,n.defaultToEN||!1)}redefaultToEN(n={}){return this.clone({...n,defaultToEN:!0})}redefaultToSystem(n={}){return this.clone({...n,defaultToEN:!1})}months(n,i=!1){return Wx(this,n,Kw,()=>{let o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=l8((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Wx(this,n,Gw,()=>{let o=i?{weekday:n,year:"numeric",month:"long",day:"numeric"}:{weekday:n},c=i?"format":"standalone";if(!this.weekdaysCache[c][n])this.weekdaysCache[c][n]=f8((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Wx(this,void 0,()=>zw,()=>{if(!this.meridiemCache){let n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[xn.utc(2016,11,13,9),xn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Wx(this,n,Yw,()=>{let i={era:n};if(!this.eraCache[n])this.eraCache[n]=[xn.utc(-40,1,1),xn.utc(2017,1,1)].map((o)=>this.extract(o,i,"era"));return this.eraCache[n]})}extract(n,i,o){let c=this.dtFormatter(n,i),p=c.formatToParts(),a=p.find((x)=>x.type.toLowerCase()===o);return a?a.value:null}numberFormatter(n={}){return new xw(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new mw(n,this.intl,i)}relFormatter(n={}){return new lw(this.intl,this.isEnglish(),n)}listFormatter(n={}){return i8(this.intl,n)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!Aw())return v8;else return a8(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(n){return this.locale===n.locale&&this.numberingSystem===n.numberingSystem&&this.outputCalendar===n.outputCalendar}}var Vl=null;class Ai extends uc{static get utcInstance(){if(Vl===null)Vl=new Ai(0);return Vl}static instance(n){return n===0?Ai.utcInstance:new Ai(n)}static parseSpecifier(n){if(n){let i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ai(_x(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Aa(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Aa(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Aa(this.fixed,i)}get isUniversal(){return!0}offset(){return this.fixed}equals(n){return n.type==="fixed"&&n.fixed===this.fixed}get isValid(){return!0}}class kl extends uc{constructor(n){super();this.zoneName=n}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function ic(n,i){if(pn(n)||n===null)return i;else if(n instanceof uc)return n;else if(J8(n)){let o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return Ta.instance;else if(o==="utc"||o==="gmt")return Ai.utcInstance;else return Ai.parseSpecifier(o)||Yo.create(n)}else if(Yc(n))return Ai.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new kl(n)}var $0=()=>Date.now(),v0="system",w0=null,S0=null,J0=null,F0=60,A0,M0=null;class Dn{static get now(){return $0}static set now(n){$0=n}static set defaultZone(n){v0=n}static get defaultZone(){return ic(v0,Ta.instance)}static get defaultLocale(){return w0}static set defaultLocale(n){w0=n}static get defaultNumberingSystem(){return S0}static set defaultNumberingSystem(n){S0=n}static get defaultOutputCalendar(){return J0}static set defaultOutputCalendar(n){J0=n}static get defaultWeekSettings(){return M0}static set defaultWeekSettings(n){M0=Il(n)}static get twoDigitCutoffYear(){return F0}static set twoDigitCutoffYear(n){F0=n%100}static get throwOnInvalid(){return A0}static set throwOnInvalid(n){A0=n}static resetCaches(){Yn.resetCache(),Yo.resetCache()}}class qi{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var fw=[0,31,59,90,120,151,181,212,243,273,304,334],$w=[0,31,60,91,121,152,182,213,244,274,305,335];function Pi(n,i){return new qi("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function rl(n,i,o){let c=new Date(Date.UTC(n,i-1,o));if(n<100&&n>=0)c.setUTCFullYear(c.getUTCFullYear()-1900);let p=c.getUTCDay();return p===0?7:p}function vw(n,i,o){return o+(Ra(n)?$w:fw)[i-1]}function ww(n,i){let o=Ra(n)?$w:fw,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function Zl(n,i){return(n-i+7)%7+1}function Ex(n,i=4,o=1){let{year:c,month:p,day:a}=n,x=vw(c,p,a),m=Zl(rl(c,p,a),o),l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=Ma(f,i,o);else if(l>Ma(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...sx(n)}}function T0(n,i=4,o=1){let{weekYear:c,weekNumber:p,weekday:a}=n,x=Zl(rl(c,1,i),o),m=ap(c),l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=ap(f);else if(l>m)f=c+1,l-=ap(c);else f=c;let{month:$,day:v}=ww(f,l);return{year:f,month:$,day:v,...sx(n)}}function bl(n){let{year:i,month:o,day:c}=n,p=vw(i,o,c);return{year:i,ordinal:p,...sx(n)}}function R0(n){let{year:i,ordinal:o}=n,{month:c,day:p}=ww(i,o);return{year:i,month:c,day:p,...sx(n)}}function K0(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Gc("Cannot mix locale-based week fields with ISO-based week fields");if(!pn(n.localWeekday))n.weekday=n.localWeekday;if(!pn(n.localWeekNumber))n.weekNumber=n.localWeekNumber;if(!pn(n.localWeekYear))n.weekYear=n.localWeekYear;return delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:i.getMinDaysInFirstWeek(),startOfWeek:i.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function w8(n,i=4,o=1){let c=Vx(n.weekYear),p=ei(n.weekNumber,1,Ma(n.weekYear,i,o)),a=ei(n.weekday,1,7);if(!c)return Pi("weekYear",n.weekYear);else if(!p)return Pi("week",n.weekNumber);else if(!a)return Pi("weekday",n.weekday);else return!1}function S8(n){let i=Vx(n.year),o=ei(n.ordinal,1,ap(n.year));if(!i)return Pi("year",n.year);else if(!o)return Pi("ordinal",n.ordinal);else return!1}function Sw(n){let i=Vx(n.year),o=ei(n.month,1,12),c=ei(n.day,1,Qx(n.year,n.month));if(!i)return Pi("year",n.year);else if(!o)return Pi("month",n.month);else if(!c)return Pi("day",n.day);else return!1}function Jw(n){let{hour:i,minute:o,second:c,millisecond:p}=n,a=ei(i,0,23)||i===24&&o===0&&c===0&&p===0,x=ei(o,0,59),m=ei(c,0,59),l=ei(p,0,999);if(!a)return Pi("hour",i);else if(!x)return Pi("minute",o);else if(!m)return Pi("second",c);else if(!l)return Pi("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function Yc(n){return typeof n==="number"}function Vx(n){return typeof n==="number"&&n%1===0}function J8(n){return typeof n==="string"}function F8(n){return Object.prototype.toString.call(n)==="[object Date]"}function Fw(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function Aw(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function A8(n){return Array.isArray(n)?n:[n]}function W0(n,i,o){if(n.length===0)return;return n.reduce((c,p)=>{let a=[i(p),p];if(!c)return a;else if(o(c[0],a[0])===c[0])return c;else return a},null)[1]}function M8(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function mp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function Il(n){if(n==null)return null;else if(typeof n!=="object")throw new Yi("Week settings must be an object");else{if(!ei(n.firstDay,1,7)||!ei(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!ei(i,1,7)))throw new Yi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function ei(n,i,o){return Vx(n)&&n>=i&&n<=o}function T8(n,i){return n-i*Math.floor(n/i)}function en(n,i=2){let o=n<0,c;if(o)c="-"+(""+-n).padStart(i,"0");else c=(""+n).padStart(i,"0");return c}function nc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function Wc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function ql(n){if(pn(n)||n===null||n==="")return;else{let i=parseFloat("0."+n)*1000;return Math.floor(i)}}function Pl(n,i,o=!1){let c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Ra(n){return n%4===0&&(n%100!==0||n%400===0)}function ap(n){return Ra(n)?366:365}function Qx(n,i){let o=T8(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Ra(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function bx(n){let i=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(n.year<100&&n.year>=0)i=new Date(i),i.setUTCFullYear(n.year,n.month-1,n.day);return+i}function X0(n,i,o){return-Zl(rl(n,1,i),o)+i-1}function Ma(n,i=4,o=1){let c=X0(n,i,o),p=X0(n+1,i,o);return(ap(n)-c+p)/7}function Cl(n){if(n>99)return n;else return n>Dn.twoDigitCutoffYear?1900+n:2000+n}function Mw(n,i,o,c=null){let p=new Date(n),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(c)a.timeZone=c;let x={timeZoneName:i,...a},m=new Intl.DateTimeFormat(o,x).formatToParts(p).find((l)=>l.type.toLowerCase()==="timezonename");return m?m.value:null}function _x(n,i){let o=parseInt(n,10);if(Number.isNaN(o))o=0;let c=parseInt(i,10)||0,p=o<0||Object.is(o,-0)?-c:c;return o*60+p}function Tw(n){let i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Yi(`Invalid unit value ${n}`);return i}function Ux(n,i){let o={};for(let c in n)if(mp(n,c)){let p=n[c];if(p===void 0||p===null)continue;o[i(c)]=Tw(p)}return o}function Aa(n,i){let o=Math.trunc(Math.abs(n/60)),c=Math.trunc(Math.abs(n%60)),p=n>=0?"+":"-";switch(i){case"short":return`${p}${en(o,2)}:${en(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${en(o,2)}${en(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function sx(n){return M8(n,["hour","minute","second","millisecond"])}var R8=["January","February","March","April","May","June","July","August","September","October","November","December"],Rw=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],K8=["J","F","M","A","M","J","J","A","S","O","N","D"];function Kw(n){switch(n){case"narrow":return[...K8];case"short":return[...Rw];case"long":return[...R8];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Ww=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Xw=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],W8=["M","T","W","T","F","S","S"];function Gw(n){switch(n){case"narrow":return[...W8];case"short":return[...Xw];case"long":return[...Ww];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var zw=["AM","PM"],X8=["Before Christ","Anno Domini"],G8=["BC","AD"],z8=["B","A"];function Yw(n){switch(n){case"narrow":return[...z8];case"short":return[...G8];case"long":return[...X8];default:return null}}function Y8(n){return zw[n.hour<12?0:1]}function u8(n,i){return Gw(i)[n.weekday-1]}function O8(n,i){return Kw(i)[n.month-1]}function H8(n,i){return Yw(i)[n.year<0?0:1]}function E8(n,i,o="always",c=!1){let p={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=["hours","minutes","seconds"].indexOf(n)===-1;if(o==="auto"&&a){let v=n==="days";switch(i){case 1:return v?"tomorrow":`next ${p[n][0]}`;case-1:return v?"yesterday":`last ${p[n][0]}`;case 0:return v?"today":`this ${p[n][0]}`}}let x=Object.is(i,-0)||i<0,m=Math.abs(i),l=m===1,f=p[n],$=c?l?f[1]:f[2]||f[1]:l?p[n][0]:n;return x?`${m} ${$} ago`:`in ${m} ${$}`}function G0(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}var Q8={D:Hx,DD:D0,DDD:h0,DDDD:I0,t:C0,tt:t0,ttt:k0,tttt:r0,T:Z0,TT:q0,TTT:P0,TTTT:e0,f:g0,ff:nw,fff:ow,ffff:pw,F:d0,FF:iw,FFF:cw,FFFF:aw};class Fi{static create(n,i={}){return new Fi(n,i)}static parseFormat(n){let i=null,o="",c=!1,p=[];for(let a=0;a<n.length;a++){let x=n.charAt(a);if(x==="'"){if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});i=null,o="",c=!c}else if(c)o+=x;else if(x===i)o+=x;else{if(o.length>0)p.push({literal:/^\s+$/.test(o),val:o});o=x,i=x}}if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});return p}static macroTokenToFormatOpts(n){return Q8[n]}constructor(n,i){this.opts=i,this.loc=n,this.systemLoc=null}formatWithSystemDefault(n,i){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(n,{...this.opts,...i}).format()}dtFormatter(n,i={}){return this.loc.dtFormatter(n,{...this.opts,...i})}formatDateTime(n,i){return this.dtFormatter(n,i).format()}formatDateTimeParts(n,i){return this.dtFormatter(n,i).formatToParts()}formatInterval(n,i){return this.dtFormatter(n.start,i).dtf.formatRange(n.start.toJSDate(),n.end.toJSDate())}resolvedOptions(n,i){return this.dtFormatter(n,i).resolvedOptions()}num(n,i=0){if(this.opts.forceSimple)return en(n,i);let o={...this.opts};if(i>0)o.padTo=i;return this.loc.numberFormatter(o).format(n)}formatDateTimeFromString(n,i){let o=this.loc.listingMode()==="en",c=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",p=(S,M)=>this.loc.extract(n,S,M),a=(S)=>{if(n.isOffsetFixed&&n.offset===0&&S.allowZ)return"Z";return n.isValid?n.zone.formatOffset(n.ts,S.format):""},x=()=>o?Y8(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,M)=>o?O8(n,S):p(M?{month:S}:{month:S,day:"numeric"},"month"),l=(S,M)=>o?u8(n,S):p(M?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{let M=Fi.macroTokenToFormatOpts(S);if(M)return this.formatWithSystemDefault(n,M);else return S},$=(S)=>o?H8(n,S):p({era:S},"era"),v=(S)=>{switch(S){case"S":return this.num(n.millisecond);case"u":case"SSS":return this.num(n.millisecond,3);case"s":return this.num(n.second);case"ss":return this.num(n.second,2);case"uu":return this.num(Math.floor(n.millisecond/10),2);case"uuu":return this.num(Math.floor(n.millisecond/100));case"m":return this.num(n.minute);case"mm":return this.num(n.minute,2);case"h":return this.num(n.hour%12===0?12:n.hour%12);case"hh":return this.num(n.hour%12===0?12:n.hour%12,2);case"H":return this.num(n.hour);case"HH":return this.num(n.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return n.zone.offsetName(n.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return n.zone.offsetName(n.ts,{format:"long",locale:this.loc.locale});case"z":return n.zoneName;case"a":return x();case"d":return c?p({day:"numeric"},"day"):this.num(n.day);case"dd":return c?p({day:"2-digit"},"day"):this.num(n.day,2);case"c":return this.num(n.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(n.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return c?p({month:"numeric",day:"numeric"},"month"):this.num(n.month);case"LL":return c?p({month:"2-digit",day:"numeric"},"month"):this.num(n.month,2);case"LLL":return m("short",!0);case"LLLL":return m("long",!0);case"LLLLL":return m("narrow",!0);case"M":return c?p({month:"numeric"},"month"):this.num(n.month);case"MM":return c?p({month:"2-digit"},"month"):this.num(n.month,2);case"MMM":return m("short",!1);case"MMMM":return m("long",!1);case"MMMMM":return m("narrow",!1);case"y":return c?p({year:"numeric"},"year"):this.num(n.year);case"yy":return c?p({year:"2-digit"},"year"):this.num(n.year.toString().slice(-2),2);case"yyyy":return c?p({year:"numeric"},"year"):this.num(n.year,4);case"yyyyyy":return c?p({year:"numeric"},"year"):this.num(n.year,6);case"G":return $("short");case"GG":return $("long");case"GGGGG":return $("narrow");case"kk":return this.num(n.weekYear.toString().slice(-2),2);case"kkkk":return this.num(n.weekYear,4);case"W":return this.num(n.weekNumber);case"WW":return this.num(n.weekNumber,2);case"n":return this.num(n.localWeekNumber);case"nn":return this.num(n.localWeekNumber,2);case"ii":return this.num(n.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(n.localWeekYear,4);case"o":return this.num(n.ordinal);case"ooo":return this.num(n.ordinal,3);case"q":return this.num(n.quarter);case"qq":return this.num(n.quarter,2);case"X":return this.num(Math.floor(n.ts/1000));case"x":return this.num(n.ts);default:return f(S)}};return G0(Fi.parseFormat(i),v)}formatDurationFromString(n,i){let o=(m)=>{switch(m[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},c=(m)=>(l)=>{let f=o(l);if(f)return this.num(m.get(f),l.length);else return l},p=Fi.parseFormat(i),a=p.reduce((m,{literal:l,val:f})=>l?m:m.concat(f),[]),x=n.shiftTo(...a.map(o).filter((m)=>m));return G0(p,c(x))}}var uw=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function lp(...n){let i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function fp(...n){return(i)=>n.reduce(([o,c,p],a)=>{let[x,m,l]=a(i,p);return[{...o,...x},m||c,l]},[{},null,1]).slice(0,2)}function $p(n,...i){if(n==null)return[null,null];for(let[o,c]of i){let p=o.exec(n);if(p)return c(p)}return[null,null]}function Ow(...n){return(i,o)=>{let c={},p;for(p=0;p<n.length;p++)c[n[p]]=nc(i[o+p]);return[c,null,o+p]}}var Hw=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,U8=`(?:${Hw.source}?(?:\\[(${uw.source})\\])?)?`,el=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ew=RegExp(`${el.source}${U8}`),gl=RegExp(`(?:T${Ew.source})?`),V8=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,b8=/(\d{4})-?W(\d\d)(?:-?(\d))?/,_8=/(\d{4})-?(\d{3})/,s8=Ow("weekYear","weekNumber","weekDay"),j8=Ow("year","ordinal"),N8=/(\d{4})-(\d\d)-(\d\d)/,Qw=RegExp(`${el.source} ?(?:${Hw.source}|(${uw.source}))?`),L8=RegExp(`(?: ${Qw.source})?`);function xp(n,i,o){let c=n[i];return pn(c)?o:nc(c)}function y8(n,i){return[{year:xp(n,i),month:xp(n,i+1,1),day:xp(n,i+2,1)},null,i+3]}function vp(n,i){return[{hours:xp(n,i,0),minutes:xp(n,i+1,0),seconds:xp(n,i+2,0),milliseconds:ql(n[i+3])},null,i+4]}function Ka(n,i){let o=!n[i]&&!n[i+1],c=_x(n[i+1],n[i+2]),p=o?null:Ai.instance(c);return[{},p,i+3]}function Wa(n,i){let o=n[i]?Yo.create(n[i]):null;return[{},o,i+1]}var B8=RegExp(`^T?${el.source}\$`),D8=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function h8(n){let[i,o,c,p,a,x,m,l,f]=n,$=i[0]==="-",v=l&&l[0]==="-",S=(M,R=!1)=>M!==void 0&&(R||M&&$)?-M:M;return[{years:S(Wc(o)),months:S(Wc(c)),weeks:S(Wc(p)),days:S(Wc(a)),hours:S(Wc(x)),minutes:S(Wc(m)),seconds:S(Wc(l),l==="-0"),milliseconds:S(ql(f),v)}]}var I8={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function dl(n,i,o,c,p,a,x){let m={year:i.length===2?Cl(nc(i)):nc(i),month:Rw.indexOf(o)+1,day:nc(c),hour:nc(p),minute:nc(a)};if(x)m.second=nc(x);if(n)m.weekday=n.length>3?Ww.indexOf(n)+1:Xw.indexOf(n)+1;return m}var C8=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function t8(n){let[,i,o,c,p,a,x,m,l,f,$,v]=n,S=dl(i,p,c,o,a,x,m),M;if(l)M=I8[l];else if(f)M=0;else M=_x($,v);return[S,new Ai(M)]}function k8(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var r8=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Z8=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,q8=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function z0(n){let[,i,o,c,p,a,x,m]=n;return[dl(i,p,c,o,a,x,m),Ai.utcInstance]}function P8(n){let[,i,o,c,p,a,x,m]=n;return[dl(i,m,o,c,p,a,x),Ai.utcInstance]}var e8=lp(V8,gl),g8=lp(b8,gl),d8=lp(_8,gl),nK=lp(Ew),Uw=fp(y8,vp,Ka,Wa),iK=fp(s8,vp,Ka,Wa),oK=fp(j8,vp,Ka,Wa),cK=fp(vp,Ka,Wa);function pK(n){return $p(n,[e8,Uw],[g8,iK],[d8,oK],[nK,cK])}function aK(n){return $p(k8(n),[C8,t8])}function xK(n){return $p(n,[r8,z0],[Z8,z0],[q8,P8])}function mK(n){return $p(n,[D8,h8])}var lK=fp(vp);function fK(n){return $p(n,[B8,lK])}var $K=lp(N8,L8),vK=lp(Qw),wK=fp(vp,Ka,Wa);function SK(n){return $p(n,[$K,Uw],[vK,wK])}var Y0="Invalid Duration",Vw={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},JK={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...Vw},Zi=365.2425,op=30.436875,FK={years:{quarters:4,months:12,weeks:Zi/7,days:Zi,hours:Zi*24,minutes:Zi*24*60,seconds:Zi*24*60*60,milliseconds:Zi*24*60*60*1000},quarters:{months:3,weeks:Zi/28,days:Zi/4,hours:Zi*24/4,minutes:Zi*24*60/4,seconds:Zi*24*60*60/4,milliseconds:Zi*24*60*60*1000/4},months:{weeks:op/7,days:op,hours:op*24,minutes:op*24*60,seconds:op*24*60*60,milliseconds:op*24*60*60*1000},...Vw},zc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],AK=zc.slice(0).reverse();function go(n,i,o=!1){let c={values:o?i.values:{...n.values,...i.values||{}},loc:n.loc.clone(i.loc),conversionAccuracy:i.conversionAccuracy||n.conversionAccuracy,matrix:i.matrix||n.matrix};return new Mn(c)}function bw(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of AK.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function u0(n,i){let o=bw(n,i)<0?-1:1;zc.reduceRight((c,p)=>{if(!pn(i[p])){if(c){let a=i[c]*o,x=n[p][c],m=Math.floor(a/x);i[p]+=m*o,i[c]-=m*x*o}return p}else return c},null),zc.reduce((c,p)=>{if(!pn(i[p])){if(c){let a=i[c]%1;i[c]-=a,i[p]+=a*n[c][p]}return p}else return c},null)}function MK(n){let i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}class Mn{constructor(n){let i=n.conversionAccuracy==="longterm"||!1,o=i?FK:JK;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||Yn.create(),this.conversionAccuracy=i?"longterm":"casual",this.invalid=n.invalid||null,this.matrix=o,this.isLuxonDuration=!0}static fromMillis(n,i){return Mn.fromObject({milliseconds:n},i)}static fromObject(n,i={}){if(n==null||typeof n!=="object")throw new Yi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Mn({values:Ux(n,Mn.normalizeUnit),loc:Yn.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(Yc(n))return Mn.fromMillis(n);else if(Mn.isDuration(n))return n;else if(typeof n==="object")return Mn.fromObject(n);else throw new Yi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){let[o]=mK(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){let[o]=fK(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the Duration is invalid");let o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new B0(o);else return new Mn({invalid:o})}static normalizeUnit(n){let i={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[n?n.toLowerCase():n];if(!i)throw new tl(n);return i}static isDuration(n){return n&&n.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(n,i={}){let o={...i,floor:i.round!==!1&&i.floor!==!1};return this.isValid?Fi.create(this.loc,o).formatDurationFromString(this,n):Y0}toHuman(n={}){if(!this.isValid)return Y0;let i=zc.map((o)=>{let c=this.values[o];if(pn(c))return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...n,unit:o.slice(0,-1)}).format(c)}).filter((o)=>o);return this.loc.listFormatter({type:"conjunction",style:n.listStyle||"narrow",...n}).format(i)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let n="P";if(this.years!==0)n+=this.years+"Y";if(this.months!==0||this.quarters!==0)n+=this.months+this.quarters*3+"M";if(this.weeks!==0)n+=this.weeks+"W";if(this.days!==0)n+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)n+="T";if(this.hours!==0)n+=this.hours+"H";if(this.minutes!==0)n+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)n+=Pl(this.seconds+this.milliseconds/1000,3)+"S";if(n==="P")n+="T0S";return n}toISOTime(n={}){if(!this.isValid)return null;let i=this.toMillis();if(i<0||i>=86400000)return null;return n={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...n,includeOffset:!1},xn.fromMillis(i,{zone:"UTC"}).toISOTime(n)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return bw(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(n){if(!this.isValid)return this;let i=Mn.fromDurationLike(n),o={};for(let c of zc)if(mp(i.values,c)||mp(this.values,c))o[c]=i.get(c)+this.get(c);return go(this,{values:o},!0)}minus(n){if(!this.isValid)return this;let i=Mn.fromDurationLike(n);return this.plus(i.negate())}mapUnits(n){if(!this.isValid)return this;let i={};for(let o of Object.keys(this.values))i[o]=Tw(n(this.values[o],o));return go(this,{values:i},!0)}get(n){return this[Mn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;let i={...this.values,...Ux(n,Mn.normalizeUnit)};return go(this,{values:i})}reconfigure({locale:n,numberingSystem:i,conversionAccuracy:o,matrix:c}={}){let a={loc:this.loc.clone({locale:n,numberingSystem:i}),matrix:c,conversionAccuracy:o};return go(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;let n=this.toObject();return u0(this.matrix,n),go(this,{values:n},!0)}rescale(){if(!this.isValid)return this;let n=MK(this.normalize().shiftToAll().toObject());return go(this,{values:n},!0)}shiftTo(...n){if(!this.isValid)return this;if(n.length===0)return this;n=n.map((a)=>Mn.normalizeUnit(a));let i={},o={},c=this.toObject(),p;for(let a of zc)if(n.indexOf(a)>=0){p=a;let x=0;for(let l in o)x+=this.matrix[l][a]*o[l],o[l]=0;if(Yc(c[a]))x+=c[a];let m=Math.trunc(x);i[a]=m,o[a]=(x*1000-m*1000)/1000}else if(Yc(c[a]))o[a]=c[a];for(let a in o)if(o[a]!==0)i[p]+=a===p?o[a]:o[a]/this.matrix[p][a];return u0(this.matrix,i),go(this,{values:i},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;let n={};for(let i of Object.keys(this.values))n[i]=this.values[i]===0?0:-this.values[i];return go(this,{values:n},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(n){if(!this.isValid||!n.isValid)return!1;if(!this.loc.equals(n.loc))return!1;function i(o,c){if(o===void 0||o===0)return c===void 0||c===0;return o===c}for(let o of zc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var cp="Invalid Interval";function TK(n,i){if(!n||!n.isValid)return Bn.invalid("missing or invalid start");else if(!i||!i.isValid)return Bn.invalid("missing or invalid end");else if(i<n)return Bn.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${i.toISO()}`);else return null}class Bn{constructor(n){this.s=n.start,this.e=n.end,this.invalid=n.invalid||null,this.isLuxonInterval=!0}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the Interval is invalid");let o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new y0(o);else return new Bn({invalid:o})}static fromDateTimes(n,i){let o=Ja(n),c=Ja(i),p=TK(o,c);if(p==null)return new Bn({start:o,end:c});else return p}static after(n,i){let o=Mn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c,c.plus(o))}static before(n,i){let o=Mn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){let[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=xn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=xn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Bn.fromDateTimes(p,x);if(a){let l=Mn.fromISO(c,i);if(l.isValid)return Bn.after(p,l)}else if(m){let l=Mn.fromISO(o,i);if(l.isValid)return Bn.before(x,l)}}return Bn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static isInterval(n){return n&&n.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(n="milliseconds"){return this.isValid?this.toDuration(...[n]).get(n):NaN}count(n="milliseconds",i){if(!this.isValid)return NaN;let o=this.start.startOf(n,i),c;if(i!=null&&i.useLocaleWeeks)c=this.end.reconfigure({locale:o.locale});else c=this.end;return c=c.startOf(n,i),Math.floor(c.diff(o,n).get(n))+(c.valueOf()!==this.end.valueOf())}hasSame(n){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,n):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(n){if(!this.isValid)return!1;return this.s>n}isBefore(n){if(!this.isValid)return!1;return this.e<=n}contains(n){if(!this.isValid)return!1;return this.s<=n&&this.e>n}set({start:n,end:i}={}){if(!this.isValid)return this;return Bn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];let i=n.map(Ja).filter((a)=>this.contains(a)).sort((a,x)=>a.toMillis()-x.toMillis()),o=[],{s:c}=this,p=0;while(c<this.e){let a=i[p]||this.e,x=+a>+this.e?this.e:a;o.push(Bn.fromDateTimes(c,x)),c=x,p+=1}return o}splitBy(n){let i=Mn.fromDurationLike(n);if(!this.isValid||!i.isValid||i.as("milliseconds")===0)return[];let{s:o}=this,c=1,p,a=[];while(o<this.e){let x=this.start.plus(i.mapUnits((m)=>m*c));p=+x>+this.e?this.e:x,a.push(Bn.fromDateTimes(o,p)),o=p,c+=1}return a}divideEqually(n){if(!this.isValid)return[];return this.splitBy(this.length()/n).slice(0,n)}overlaps(n){return this.e>n.s&&this.s<n.e}abutsStart(n){if(!this.isValid)return!1;return+this.e===+n.s}abutsEnd(n){if(!this.isValid)return!1;return+n.e===+this.s}engulfs(n){if(!this.isValid)return!1;return this.s<=n.s&&this.e>=n.e}equals(n){if(!this.isValid||!n.isValid)return!1;return this.s.equals(n.s)&&this.e.equals(n.e)}intersection(n){if(!this.isValid)return this;let i=this.s>n.s?this.s:n.s,o=this.e<n.e?this.e:n.e;if(i>=o)return null;else return Bn.fromDateTimes(i,o)}union(n){if(!this.isValid)return this;let i=this.s<n.s?this.s:n.s,o=this.e>n.e?this.e:n.e;return Bn.fromDateTimes(i,o)}static merge(n){let[i,o]=n.sort((c,p)=>c.s-p.s).reduce(([c,p],a)=>{if(!p)return[c,a];else if(p.overlaps(a)||p.abutsStart(a))return[c,p.union(a)];else return[c.concat([p]),a]},[[],null]);if(o)i.push(o);return i}static xor(n){let i=null,o=0,c=[],p=n.map((m)=>[{time:m.s,type:"s"},{time:m.e,type:"e"}]),a=Array.prototype.concat(...p),x=a.sort((m,l)=>m.time-l.time);for(let m of x)if(o+=m.type==="s"?1:-1,o===1)i=m.time;else{if(i&&+i!==+m.time)c.push(Bn.fromDateTimes(i,m.time));i=null}return Bn.merge(c)}difference(...n){return Bn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return cp;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(n=Hx,i={}){return this.isValid?Fi.create(this.s.loc.clone(i),n).formatInterval(this):cp}toISO(n){if(!this.isValid)return cp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return cp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return cp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return cp;return`${this.s.toFormat(n)}${i}${this.e.toFormat(n)}`}toDuration(n,i){if(!this.isValid)return Mn.invalid(this.invalidReason);return this.e.diff(this.s,n,i)}mapEndpoints(n){return Bn.fromDateTimes(n(this.s),n(this.e))}}class pp{static hasDST(n=Dn.defaultZone){let i=xn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Yo.isValidZone(n)}static normalizeZone(n){return ic(n,Dn.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return Yn.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return Yn.create(i,null,"gregory").eras(n)}static features(){return{relative:Fw(),localeWeek:Aw()}}}function O0(n,i){let o=(p)=>p.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),c=o(i)-o(n);return Math.floor(Mn.fromMillis(c).as("days"))}function RK(n,i,o){let c=[["years",(l,f)=>f.year-l.year],["quarters",(l,f)=>f.quarter-l.quarter+(f.year-l.year)*4],["months",(l,f)=>f.month-l.month+(f.year-l.year)*12],["weeks",(l,f)=>{let $=O0(l,f);return($-$%7)/7}],["days",O0]],p={},a=n,x,m;for(let[l,f]of c)if(o.indexOf(l)>=0)if(x=l,p[l]=f(n,i),m=a.plus(p),m>i){if(p[l]--,n=a.plus(p),n>i)m=n,p[l]--,n=a.plus(p)}else n=m;return[n,p,m,x]}function KK(n,i,o,c){let[p,a,x,m]=RK(n,i,o),l=i-p,f=o.filter((v)=>["hours","minutes","seconds","milliseconds"].indexOf(v)>=0);if(f.length===0){if(x<i)x=p.plus({[m]:1});if(x!==p)a[m]=(a[m]||0)+l/(x-p)}let $=Mn.fromObject(a,c);if(f.length>0)return Mn.fromMillis(l,c).shiftTo(...f).plus($);else return $}var nf={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},H0={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},WK=nf.hanidec.replace(/[\[|\]]/g,"").split("");function XK(n){let i=parseInt(n,10);if(isNaN(i)){i="";for(let o=0;o<n.length;o++){let c=n.charCodeAt(o);if(n[o].search(nf.hanidec)!==-1)i+=WK.indexOf(n[o]);else for(let p in H0){let[a,x]=H0[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function lo({numberingSystem:n},i=""){return new RegExp(`${nf[n||"latn"]}${i}`)}var GK="missing Intl.DateTimeFormat.formatToParts support";function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(XK(o))}}var zK=String.fromCharCode(160),_w=`[ ${zK}]`,sw=new RegExp(_w,"g");function YK(n){return n.replace(/\./g,"\\.?").replace(sw,_w)}function E0(n){return n.replace(/\./g,"").replace(sw," ").toLowerCase()}function fo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(YK).join("|")),deser:([o])=>n.findIndex((c)=>E0(o)===E0(c))+i}}function Q0(n,i){return{regex:n,deser:([,o,c])=>_x(o,c),groups:i}}function Xx(n){return{regex:n,deser:([i])=>i}}function uK(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function OK(n,i){let o=lo(i),c=lo(i,"{2}"),p=lo(i,"{3}"),a=lo(i,"{4}"),x=lo(i,"{6}"),m=lo(i,"{1,2}"),l=lo(i,"{1,3}"),f=lo(i,"{1,6}"),$=lo(i,"{1,9}"),v=lo(i,"{2,4}"),S=lo(i,"{4,6}"),M=(X)=>({regex:RegExp(uK(X.val)),deser:([G])=>G,literal:!0}),A=((X)=>{if(n.literal)return M(X);switch(X.val){case"G":return fo(i.eras("short"),0);case"GG":return fo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,Cl);case"yyyy":return Wn(a);case"yyyyy":return Wn(S);case"yyyyyy":return Wn(x);case"M":return Wn(m);case"MM":return Wn(c);case"MMM":return fo(i.months("short",!0),1);case"MMMM":return fo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return fo(i.months("short",!1),1);case"LLLL":return fo(i.months("long",!1),1);case"d":return Wn(m);case"dd":return Wn(c);case"o":return Wn(l);case"ooo":return Wn(p);case"HH":return Wn(c);case"H":return Wn(m);case"hh":return Wn(c);case"h":return Wn(m);case"mm":return Wn(c);case"m":return Wn(m);case"q":return Wn(m);case"qq":return Wn(c);case"s":return Wn(m);case"ss":return Wn(c);case"S":return Wn(l);case"SSS":return Wn(p);case"u":return Xx($);case"uu":return Xx(m);case"uuu":return Wn(o);case"a":return fo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,Cl);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return fo(i.weekdays("short",!1),1);case"EEEE":return fo(i.weekdays("long",!1),1);case"ccc":return fo(i.weekdays("short",!0),1);case"cccc":return fo(i.weekdays("long",!0),1);case"Z":case"ZZ":return Q0(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return Q0(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Xx(/[a-z_+-/]{1,256}?/i);case" ":return Xx(/[^\S\n\r]/);default:return M(X)}})(n)||{invalidReason:GK};return A.token=n,A}var HK={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function EK(n,i,o){let{type:c,value:p}=n;if(c==="literal"){let l=/^\s+$/.test(p);return{literal:!l,val:l?" ":p}}let a=i[c],x=c;if(c==="hour")if(i.hour12!=null)x=i.hour12?"hour12":"hour24";else if(i.hourCycle!=null)if(i.hourCycle==="h11"||i.hourCycle==="h12")x="hour12";else x="hour24";else x=o.hour12?"hour12":"hour24";let m=HK[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function QK(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function UK(n,i,o){let c=n.match(i);if(c){let p={},a=1;for(let x in o)if(mp(o,x)){let m=o[x],l=m.groups?m.groups+1:1;if(!m.literal&&m.token)p[m.token.val[0]]=m.deser(c.slice(a,a+l));a+=l}return[c,p]}else return[c,{}]}function VK(n){let i=(a)=>{switch(a){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},o=null,c;if(!pn(n.z))o=Yo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ai(n.Z);c=n.Z}if(!pn(n.q))n.M=(n.q-1)*3+1;if(!pn(n.h)){if(n.h<12&&n.a===1)n.h+=12;else if(n.h===12&&n.a===0)n.h=0}if(n.G===0&&n.y)n.y=-n.y;if(!pn(n.u))n.S=ql(n.u);return[Object.keys(n).reduce((a,x)=>{let m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}var _l=null;function bK(){if(!_l)_l=xn.fromMillis(1555555555555);return _l}function _K(n,i){if(n.literal)return n;let o=Fi.macroTokenToFormatOpts(n.val),c=Lw(o,i);if(c==null||c.includes(void 0))return n;return c}function jw(n,i){return Array.prototype.concat(...n.map((o)=>_K(o,i)))}function Nw(n,i,o){let c=jw(Fi.parseFormat(o),n),p=c.map((x)=>OK(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{let[x,m]=QK(p),l=RegExp(x,"i"),[f,$]=UK(i,l,m),[v,S,M]=$?VK($):[null,null,void 0];if(mp($,"a")&&mp($,"H"))throw new Gc("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:c,regex:l,rawMatches:f,matches:$,result:v,zone:S,specificOffset:M}}}function sK(n,i,o){let{result:c,zone:p,specificOffset:a,invalidReason:x}=Nw(n,i,o);return[c,p,a,x]}function Lw(n,i){if(!n)return null;let c=Fi.create(i,n).dtFormatter(bK()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>EK(x,n,a))}var sl="Invalid DateTime",U0=8640000000000000;function Gx(n){return new qi("unsupported zone",`the zone "${n.name}" is not supported`)}function jl(n){if(n.weekData===null)n.weekData=Ex(n.c);return n.weekData}function Nl(n){if(n.localWeekData===null)n.localWeekData=Ex(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Xc(n,i){let o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new xn({...o,...i,old:o})}function yw(n,i,o){let c=n-i*60*1000,p=o.offset(c);if(i===p)return[c,i];c-=(p-i)*60*1000;let a=o.offset(c);if(p===a)return[c,p];return[n-Math.min(p,a)*60*1000,Math.max(p,a)]}function zx(n,i){n+=i*60*1000;let o=new Date(n);return{year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:o.getUTCHours(),minute:o.getUTCMinutes(),second:o.getUTCSeconds(),millisecond:o.getUTCMilliseconds()}}function Ox(n,i,o){return yw(bx(n),i,o)}function V0(n,i){let o=n.o,c=n.c.year+Math.trunc(i.years),p=n.c.month+Math.trunc(i.months)+Math.trunc(i.quarters)*3,a={...n.c,year:c,month:p,day:Math.min(n.c.day,Qx(c,p))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},x=Mn.fromObject({years:i.years-Math.trunc(i.years),quarters:i.quarters-Math.trunc(i.quarters),months:i.months-Math.trunc(i.months),weeks:i.weeks-Math.trunc(i.weeks),days:i.days-Math.trunc(i.days),hours:i.hours,minutes:i.minutes,seconds:i.seconds,milliseconds:i.milliseconds}).as("milliseconds"),m=bx(a),[l,f]=yw(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function Sa(n,i,o,c,p,a){let{setZone:x,zone:m}=o;if(n&&Object.keys(n).length!==0||i){let l=i||m,f=xn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return xn.invalid(new qi("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Yx(n,i,o=!0){return n.isValid?Fi.create(Yn.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function Ll(n,i){let o=n.c.year>9999||n.c.year<0,c="";if(o&&n.c.year>=0)c+="+";if(c+=en(n.c.year,o?6:4),i)c+="-",c+=en(n.c.month),c+="-",c+=en(n.c.day);else c+=en(n.c.month),c+=en(n.c.day);return c}function b0(n,i,o,c,p,a){let x=en(n.c.hour);if(i){if(x+=":",x+=en(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=en(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=en(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=en(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=en(Math.trunc(-n.o/60)),x+=":",x+=en(Math.trunc(-n.o%60));else x+="+",x+=en(Math.trunc(n.o/60)),x+=":",x+=en(Math.trunc(n.o%60));if(a)x+="["+n.zone.ianaName+"]";return x}var Bw={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jK={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},NK={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Dw=["year","month","day","hour","minute","second","millisecond"],LK=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],yK=["year","ordinal","hour","minute","second","millisecond"];function BK(n){let i={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!i)throw new tl(n);return i}function _0(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return BK(n)}}function s0(n,i){let o=ic(i.zone,Dn.defaultZone),c=Yn.fromObject(i),p=Dn.now(),a,x;if(!pn(n.year)){for(let f of Dw)if(pn(n[f]))n[f]=Bw[f];let m=Sw(n)||Jw(n);if(m)return xn.invalid(m);let l=o.offset(p);[a,x]=Ox(n,l,o)}else a=p;return new xn({ts:a,zone:o,loc:c,o:x})}function j0(n,i,o){let c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=Pl(x,c||o.calendary?0:2,!0),i.loc.clone(o).relFormatter(o).format(x,m)},a=(x)=>{if(o.calendary)if(!i.hasSame(n,x))return i.startOf(x).diff(n.startOf(x),x).get(x);else return 0;else return i.diff(n,x).get(x)};if(o.unit)return p(a(o.unit),o.unit);for(let x of o.units){let m=a(x);if(Math.abs(m)>=1)return p(m,x)}return p(n>i?-0:0,o.units[o.units.length-1])}function N0(n){let i={},o;if(n.length>0&&typeof n[n.length-1]==="object")i=n[n.length-1],o=Array.from(n).slice(0,n.length-1);else o=Array.from(n);return[i,o]}class xn{constructor(n){let i=n.zone||Dn.defaultZone,o=n.invalid||(Number.isNaN(n.ts)?new qi("invalid input"):null)||(!i.isValid?Gx(i):null);this.ts=pn(n.ts)?Dn.now():n.ts;let c=null,p=null;if(!o)if(n.old&&n.old.ts===this.ts&&n.old.zone.equals(i))[c,p]=[n.old.c,n.old.o];else{let x=i.offset(this.ts);c=zx(this.ts,x),o=Number.isNaN(c.year)?new qi("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||Yn.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new xn({})}static local(){let[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){let[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ai.utcInstance,s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){let o=F8(n)?n.valueOf():NaN;if(Number.isNaN(o))return xn.invalid("invalid input");let c=ic(i.zone,Dn.defaultZone);if(!c.isValid)return xn.invalid(Gx(c));return new xn({ts:o,zone:c,loc:Yn.fromObject(i)})}static fromMillis(n,i={}){if(!Yc(n))throw new Yi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-U0||n>U0)return xn.invalid("Timestamp out of range");else return new xn({ts:n,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromSeconds(n,i={}){if(!Yc(n))throw new Yi("fromSeconds requires a numerical input");else return new xn({ts:n*1000,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromObject(n,i={}){n=n||{};let o=ic(i.zone,Dn.defaultZone);if(!o.isValid)return xn.invalid(Gx(o));let c=Yn.fromObject(i),p=Ux(n,_0),{minDaysInFirstWeek:a,startOfWeek:x}=K0(p,c),m=Dn.now(),l=!pn(i.specificOffset)?i.specificOffset:o.offset(m),f=!pn(p.ordinal),$=!pn(p.year),v=!pn(p.month)||!pn(p.day),S=$||v,M=p.weekYear||p.weekNumber;if((S||f)&&M)throw new Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Gc("Can't mix ordinal dates with month/day");let R=M||p.weekday&&!S,A,X,G=zx(m,l);if(R)A=LK,X=jK,G=Ex(G,a,x);else if(f)A=yK,X=NK,G=bl(G);else A=Dw,X=Bw;let Y=!1;for(let V of A){let K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=G[V]}let E=R?w8(p,a,x):f?S8(p):Sw(p),s=E||Jw(p);if(s)return xn.invalid(s);let z=R?T0(p,a,x):f?R0(p):p,[T,O]=Ox(z,l,o),U=new xn({ts:T,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return xn.invalid("mismatched weekday",`you can't specify both a weekday of ${p.weekday} and a date of ${U.toISO()}`);return U}static fromISO(n,i={}){let[o,c]=pK(n);return Sa(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){let[o,c]=aK(n);return Sa(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){let[o,c]=xK(n);return Sa(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Yi("fromFormat requires an input string and a format");let{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=sK(a,n,i);if(f)return xn.invalid(f);else return Sa(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return xn.fromFormat(n,i,o)}static fromSQL(n,i={}){let[o,c]=SK(n);return Sa(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the DateTime is invalid");let o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new L0(o);else return new xn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){let o=Lw(n,Yn.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return jw(Fi.parseFormat(n),Yn.fromObject(i)).map((c)=>c.val).join("")}get(n){return this[n]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?jl(this).weekYear:NaN}get weekNumber(){return this.isValid?jl(this).weekNumber:NaN}get weekday(){return this.isValid?jl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Nl(this).weekday:NaN}get localWeekNumber(){return this.isValid?Nl(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Nl(this).weekYear:NaN}get ordinal(){return this.isValid?bl(this.c).ordinal:NaN}get monthShort(){return this.isValid?pp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?pp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?pp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?pp.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let n=86400000,i=60000,o=bx(this.c),c=this.zone.offset(o-n),p=this.zone.offset(o+n),a=this.zone.offset(o-c*i),x=this.zone.offset(o-p*i);if(a===x)return[this];let m=o-a*i,l=o-x*i,f=zx(m,a),$=zx(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Xc(this,{ts:m}),Xc(this,{ts:l})];return[this]}get isInLeapYear(){return Ra(this.year)}get daysInMonth(){return Qx(this.year,this.month)}get daysInYear(){return this.isValid?ap(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ma(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ma(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){let{locale:i,numberingSystem:o,calendar:c}=Fi.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ai.instance(n),i)}toLocal(){return this.setZone(Dn.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=ic(n,Dn.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return xn.invalid(Gx(n));else{let c=this.ts;if(i||o){let p=n.offset(this.ts),a=this.toObject();[c]=Ox(a,p,n)}return Xc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){let c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Xc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;let i=Ux(n,_0),{minDaysInFirstWeek:o,startOfWeek:c}=K0(i,this.loc),p=!pn(i.weekYear)||!pn(i.weekNumber)||!pn(i.weekday),a=!pn(i.ordinal),x=!pn(i.year),m=!pn(i.month)||!pn(i.day),l=x||m,f=i.weekYear||i.weekNumber;if((l||a)&&f)throw new Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Gc("Can't mix ordinal dates with month/day");let $;if(p)$=T0({...Ex(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=R0({...bl(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Qx($.year,$.month),$.day);let[v,S]=Ox($,this.o,this.zone);return Xc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;let i=Mn.fromDurationLike(n);return Xc(this,V0(this,i))}minus(n){if(!this.isValid)return this;let i=Mn.fromDurationLike(n).negate();return Xc(this,V0(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;let o={},c=Mn.normalizeUnit(n);switch(c){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(c==="weeks")if(i){let p=this.loc.getStartOfWeek(),{weekday:a}=this;if(a<p)o.weekNumber=this.weekNumber-1;o.weekday=p}else o.weekday=1;if(c==="quarters"){let p=Math.ceil(this.month/3);o.month=(p-1)*3+1}return this.set(o)}endOf(n,i){return this.isValid?this.plus({[n]:1}).startOf(n,i).minus(1):this}toFormat(n,i={}){return this.isValid?Fi.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):sl}toLocaleString(n=Hx,i={}){return this.isValid?Fi.create(this.loc.clone(i),n).formatDateTime(this):sl}toLocaleParts(n={}){return this.isValid?Fi.create(this.loc.clone(n),n).formatDateTimeParts(this):[]}toISO({format:n="extended",suppressSeconds:i=!1,suppressMilliseconds:o=!1,includeOffset:c=!0,extendedZone:p=!1}={}){if(!this.isValid)return null;let a=n==="extended",x=Ll(this,a);return x+="T",x+=b0(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return Ll(this,n==="extended")}toISOWeekDate(){return Yx(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:n=!1,suppressSeconds:i=!1,includeOffset:o=!0,includePrefix:c=!1,extendedZone:p=!1,format:a="extended"}={}){if(!this.isValid)return null;return(c?"T":"")+b0(this,a==="extended",i,n,o,p)}toRFC2822(){return Yx(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Yx(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return Ll(this,!0)}toSQLTime({includeOffset:n=!0,includeZone:i=!1,includeOffsetSpace:o=!0}={}){let c="HH:mm:ss.SSS";if(i||n){if(o)c+=" ";if(i)c+="z";else if(n)c+="ZZ"}return Yx(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():sl}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(n={}){if(!this.isValid)return{};let i={...this.c};if(n.includeConfig)i.outputCalendar=this.outputCalendar,i.numberingSystem=this.loc.numberingSystem,i.locale=this.loc.locale;return i}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(n,i="milliseconds",o={}){if(!this.isValid||!n.isValid)return Mn.invalid("created by diffing an invalid DateTime");let c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=A8(i).map(Mn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=KK(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(xn.now(),n,i)}until(n){return this.isValid?Bn.fromDateTimes(this,n):this}hasSame(n,i,o){if(!this.isValid)return!1;let c=n.valueOf(),p=this.setZone(n.zone,{keepLocalTime:!0});return p.startOf(i,o)<=c&&c<=p.endOf(i,o)}equals(n){return this.isValid&&n.isValid&&this.valueOf()===n.valueOf()&&this.zone.equals(n.zone)&&this.loc.equals(n.loc)}toRelative(n={}){if(!this.isValid)return null;let i=n.base||xn.fromObject({},{zone:this.zone}),o=n.padding?this<i?-n.padding:n.padding:0,c=["years","months","days","hours","minutes","seconds"],p=n.unit;if(Array.isArray(n.unit))c=n.unit,p=void 0;return j0(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return j0(n.base||xn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(xn.isDateTime))throw new Yi("min requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(xn.isDateTime))throw new Yi("max requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){let{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return Nw(a,n,i)}static fromStringExplain(n,i,o={}){return xn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return Hx}static get DATE_MED(){return D0}static get DATE_MED_WITH_WEEKDAY(){return q4}static get DATE_FULL(){return h0}static get DATE_HUGE(){return I0}static get TIME_SIMPLE(){return C0}static get TIME_WITH_SECONDS(){return t0}static get TIME_WITH_SHORT_OFFSET(){return k0}static get TIME_WITH_LONG_OFFSET(){return r0}static get TIME_24_SIMPLE(){return Z0}static get TIME_24_WITH_SECONDS(){return q0}static get TIME_24_WITH_SHORT_OFFSET(){return P0}static get TIME_24_WITH_LONG_OFFSET(){return e0}static get DATETIME_SHORT(){return g0}static get DATETIME_SHORT_WITH_SECONDS(){return d0}static get DATETIME_MED(){return nw}static get DATETIME_MED_WITH_SECONDS(){return iw}static get DATETIME_MED_WITH_WEEKDAY(){return P4}static get DATETIME_FULL(){return ow}static get DATETIME_FULL_WITH_SECONDS(){return cw}static get DATETIME_HUGE(){return pw}static get DATETIME_HUGE_WITH_SECONDS(){return aw}}function Ja(n){if(xn.isDateTime(n))return n;else if(n&&n.valueOf&&Yc(n.valueOf()))return xn.fromJSDate(n);else if(n&&typeof n==="object")return xn.fromObject(n);else throw new Yi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}var DK="3.4.4";hw.DateTime=xn;hw.Duration=Mn;hw.FixedOffsetZone=Ai;hw.IANAZone=Yo;hw.Info=pp;hw.Interval=Bn;hw.InvalidZone=kl;hw.Settings=Dn;hw.SystemZone=Ta;hw.VERSION=DK;hw.Zone=uc});var Zw=I((Cw)=>{Object.defineProperty(Cw,"__esModule",{value:!0});Cw.RE_RANGE=Cw.RE_WILDCARDS=Cw.PRESETS=Cw.TIME_UNITS_LEN=Cw.TIME_UNITS=Cw.TIME_UNITS_MAP=Cw.ALIASES=Cw.PARSE_DEFAULTS=Cw.MONTH_CONSTRAINTS=Cw.CONSTRAINTS=void 0;Cw.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});Cw.MONTH_CONSTRAINTS=Object.freeze({1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31});Cw.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});Cw.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});Cw.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});Cw.TIME_UNITS=Object.freeze(Object.values(Cw.TIME_UNITS_MAP));Cw.TIME_UNITS_LEN=Cw.TIME_UNITS.length;Cw.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});Cw.RE_WILDCARDS=/\*/g;Cw.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var cf=I((Pw)=>{Object.defineProperty(Pw,"__esModule",{value:!0});Pw.ExclusiveParametersError=Pw.CronError=void 0;class of extends Error{}Pw.CronError=of;class qw extends of{constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}Pw.ExclusiveParametersError=qw});var nS=I((gw)=>{Object.defineProperty(gw,"__esModule",{value:!0});gw.getRecordKeys=void 0;var m6=(n)=>{return Object.keys(n)};gw.getRecordKeys=m6});var jx=I((cS)=>{Object.defineProperty(cS,"__esModule",{value:!0});cS.CronTime=void 0;var uo=Iw(),ai=Zw(),Mi=cf(),iS=nS();class oS{constructor(n,i,o){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},i!=null&&o!=null)throw new Mi.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!uo.DateTime.fromObject({},{zone:i}).isValid)throw new Mi.CronError("Invalid timezone.");this.timeZone=i}if(o!=null)this.utcOffset=o;if(n instanceof Date||n instanceof uo.DateTime)this.source=n instanceof Date?uo.DateTime.fromJSDate(n):n,this.realDate=!0;else this.source=n,this._parse(this.source),this._verifyParse()}_getWeekDay(n){return n.weekday===7?0:n.weekday}_verifyParse(){let n=iS.getRecordKeys(this.month),i=iS.getRecordKeys(this.dayOfMonth),o=!1,c=null;for(let p of n){let a=ai.MONTH_CONSTRAINTS[p];for(let x of i)if(x<=a)o=!0;if(!o)c=p,console.warn(`Month '${p}' is limited to '${a}' days.`)}if(!o&&c!==null){let p=ai.MONTH_CONSTRAINTS[c];for(let a of i)if(a>p){delete this.dayOfMonth[a];let x=a%p;this.dayOfMonth[x]=!0}}}sendAt(n){let i=this.realDate&&this.source instanceof uo.DateTime?this.source:uo.DateTime.local();if(this.timeZone)i=i.setZone(this.timeZone);if(this.utcOffset!==void 0){let o=this.utcOffset<0?"-":"+",c=Math.trunc(this.utcOffset/60),p=String(Math.abs(c)).padStart(2,"0"),a=Math.abs(this.utcOffset-c*60),x=String(a).padStart(2,"0"),m=`UTC${o}${p}:${x}`;if(i=i.setZone(m),!i.isValid)throw new Mi.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(uo.DateTime.local()>i)throw new Mi.CronError("WARNING: Date in past. Will never be fired.");return i}if(n===void 0||isNaN(n)||n<0)return this.getNextDateFrom(i);else{let o=[];for(;n>0;n--)i=this.getNextDateFrom(i),o.push(i);return o}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-uo.DateTime.local().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return ai.TIME_UNITS.map((n)=>{return this._wcOrAll(n)})}getNextDateFrom(n,i){var o;if(n instanceof Date)n=uo.DateTime.fromJSDate(n);let c=n,p=n.toMillis();if(i)c=c.setZone(i);if(!this.realDate){if(c.millisecond>0)c=c.set({millisecond:0,second:c.second+1})}if(!c.isValid)throw new Mi.CronError("ERROR: You specified an invalid date.");let a=uo.DateTime.now().plus({years:8});while(!0){let x=c.toMillis()-n.toMillis();if(c>a)throw new Mi.CronError(`Something went wrong. No execution date was found in the next 8 years.
|
|
4
4
|
Please provide the following string if you would like to help debug:
|
|
5
|
-
Time Zone: ${(o=i===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${c.offset} - current Date: ${uo.DateTime.local().toString()}`);if(!(c.month in this.month)&&Object.keys(this.month).length!==12){if(c=c.plus({months:1}),c=c.set({day:1,hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!((c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.hour in this.hour)&&Object.keys(this.hour).length!==24){const m=c.hour===23&&x>86400000?0:c.hour+1,l=c.minute;if(c=c.set({hour:m}),c=c.set({minute:0,second:0}),this._forwardDSTJump(m,l,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.minute in this.minute)&&Object.keys(this.minute).length!==60){const m=c.minute===59&&x>3600000?0:c.minute+1,l=c.hour+(m===60?1:0);if(c=c.set({minute:m}),c=c.set({second:0}),this._forwardDSTJump(l,m,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.second in this.second)&&Object.keys(this.second).length!==60){const m=c.second===59&&x>60000?0:c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}if(c.toMillis()===p){const m=c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}break}return c}_findPreviousDSTJump(n){var i;let o,c,p,a,x=n;const m=1440;let l=0;do{if(++l>m)throw new Mi.CronError(`ERROR: This DST checking related function assumes the input DateTime (${(i=n.toISO())!==null&&i!==void 0?i:n.toMillis()}) is within 24 hours of a DST jump.`);if(o=x.minute-1,c=x.hour,o<0)o+=60,c=(c+24-1)%24;x=x.minus({minute:1}),p=x.minute,a=x.hour}while(o===p&&c===a);const f=x.plus({minute:1}).set({second:0,millisecond:0}),$=f.minus({second:1});if(n.month+1 in this.month&&n.day in this.dayOfMonth&&this._getWeekDay(n)in this.dayOfWeek)return[this._checkTimeInSkippedRange($,f),f];return[!1,f]}_checkTimeInSkippedRange(n,i){const o=(n.minute+1)%60,c=(n.hour+(o===0?1:0))%24,p=i.hour-c+1,a=o===0&&i.minute===0;if(p===2&&a)return c in this.hour;else if(p===1)return c in this.hour&&this._checkTimeInSkippedRangeSingleHour(o,i.minute);else return this._checkTimeInSkippedRangeMultiHour(c,o,i.hour,i.minute)}_checkTimeInSkippedRangeSingleHour(n,i){for(let o=n;o<i;++o)if(o in this.minute)return!0;return i in this.minute&&0 in this.second}_checkTimeInSkippedRangeMultiHour(n,i,o,c){if(n>=o)throw new Mi.CronError(`ERROR: This DST checking related function assumes the forward jump starting hour (${n}) is less than the end hour (${o})`);const p=Array.from({length:60-i},(l,f)=>i+f),a=Array.from({length:c},(l,f)=>f),x=Array.from({length:60},(l,f)=>f),m=(l)=>{if(l===n)return p;else if(l===o)return a;else return x};for(let l=n;l<=o;++l){if(!(l in this.hour))continue;const f=m(l);for(let $ of f)if($ in this.minute)return!0}return o in this.hour&&c in this.minute&&0 in this.second}_forwardDSTJump(n,i,o){const{hour:c,minute:p}=o,a=n%24<c,x=i%60<p;return a||x}_wcOrAll(n){if(this._hasAll(n))return"*";const i=[];for(let o in this[n])i.push(o);return i.join(",")}_hasAll(n){const i=ai.CONSTRAINTS[n],o=i[0],c=n===ai.TIME_UNITS_MAP.DAY_OF_WEEK?i[1]-1:i[1];for(let p=o,a=c;p<a;p++)if(!(p in this[n]))return!1;return!0}_parse(n){var i;if(n=n.toLowerCase(),Object.keys(ai.PRESETS).includes(n))n=ai.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(ai.ALIASES).includes(p))return ai.ALIASES[p].toString();throw new Mi.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<ai.TIME_UNITS_LEN-1)throw new Mi.CronError("Too few fields");if(o.length>ai.TIME_UNITS_LEN)throw new Mi.CronError("Too many fields");const c=o.length;for(let p of ai.TIME_UNITS){const a=ai.TIME_UNITS.indexOf(p),x=(i=o[a-(ai.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:ai.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){const o=this[i];let c;const p=ai.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{const $=f.indexOf("*");if($!==-1&&$!==0)throw new Mi.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(ai.RE_WILDCARDS,`${a}-${x}`);const l=n.split(",");for(let f of l){const $=[...f.matchAll(ai.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){const[,v,S,M]=$;let R=parseInt(v,10),A=S!==void 0?parseInt(S,10):void 0;const X=M!==void 0,G=parseInt(M!==null&&M!==void 0?M:"1",10);if(G===0)throw new Mi.CronError(`Field (${i}) has a step of zero`);if(A!==void 0&&R>A)throw new Mi.CronError(`Field (${i}) has an invalid range`);if(R<a||A!==void 0&&A>x||A===void 0&&R>x)throw new Mi.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),A!==void 0)A=Math.min(x,~~Math.abs(A));else A=X?x:R;c=R;do o[c]=!0,c+=G;while(c<=A);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Mi.CronError(`Field (${i}) cannot be parsed`)}}}cS.CronTime=oS});var lS=I((xS)=>{Object.defineProperty(xS,"__esModule",{value:!0});xS.CronJob=void 0;var aS=import.meta.require("child_process"),pf=cf(),Nx=jx();class Xa{constructor(n,i,o,c,p,a,x,m,l){if(this.running=!1,this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this._callbacks=[],this.context=a!==null&&a!==void 0?a:this,p!=null&&m!=null)throw new pf.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Nx.CronTime(n,p,null);else if(m!=null)this.cronTime=new Nx.CronTime(n,null,m);else this.cronTime=new Nx.CronTime(n,p,m);if(l!=null)this.unrefTimeout=l;if(o!=null)this.onComplete=this._fnWrap(o);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(i)),x)this.lastExecution=new Date,this.fireOnTick();if(c)this.start()}static from(n){if(n.timeZone!=null&&n.utcOffset!=null)throw new pf.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else if(n.utcOffset!=null)return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout)}_fnWrap(n){var i,o;switch(typeof n){case"function":return n;case"string":{const[c,...p]=n.split(" ");return aS.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return aS.spawn.bind(void 0,n.command,(i=n.args)!==null&&i!==void 0?i:[],(o=n.options)!==null&&o!==void 0?o:{})}}addCallback(n){if(typeof n==="function")this._callbacks.push(n)}setTime(n){if(!(n instanceof Nx.CronTime))throw new pf.CronError("time must be an instance of CronTime.");const i=this.running;if(this.stop(),this.cronTime=n,n.realDate)this.runOnce=!0;if(i)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){for(let n of this._callbacks)n.call(this.context,this.onComplete)}nextDates(n){return this.cronTime.sendAt(n!==null&&n!==void 0?n:0)}start(){if(this.running)return;const n=2147483647;let i=this.cronTime.getTimeout(),o=0,c;const p=(x)=>{if(c=Date.now(),this._timeout=setTimeout(a,x),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},a=()=>{const x=c+i-Date.now();if(x>0){let m=this.cronTime.getTimeout();if(m>x)m=x;o+=m}if(o){if(o>n)o-=n,i=n;else i=o,o=0;p(i)}else{if(this.lastExecution=new Date,this.running=!1,!this.runOnce)this.start();this.fireOnTick()}};if(i>=0){if(this.running=!0,i>n)o=i-n,i=n;p(i)}else this.stop()}lastDate(){return this.lastExecution}stop(){if(this._timeout)clearTimeout(this._timeout);if(this.running=!1,typeof this.onComplete==="function")this.onComplete.call(this.context)}}xS.CronJob=Xa});var af=I((Lx)=>{Object.defineProperty(Lx,"__esModule",{value:!0});Lx.timeout=Lx.sendAt=Lx.CronTime=Lx.CronJob=void 0;var fS=jx(),l6=lS();Object.defineProperty(Lx,"CronJob",{enumerable:!0,get:function(){return l6.CronJob}});var f6=jx();Object.defineProperty(Lx,"CronTime",{enumerable:!0,get:function(){return f6.CronTime}});var $6=(n)=>new fS.CronTime(n).sendAt();Lx.sendAt=$6;var v6=(n)=>new fS.CronTime(n).getTimeout();Lx.timeout=v6});var nF=I((cN,uf)=>{function W6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=X6(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function X6(n,i){var o=K6.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{charset:c,q:p,i}}function G6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=z6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function z6(n,i,o){var c=0;if(i.charset.toLowerCase()===n.toLowerCase())c|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function dJ(n,i){var o=W6(n===void 0?"*":n||"");if(!i)return o.filter(gJ).sort(eJ).map(Y6);var c=i.map(function p(a,x){return G6(a,o,x)});return c.filter(gJ).sort(eJ).map(function p(a){return i[c.indexOf(a)]})}function eJ(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Y6(n){return n.charset}function gJ(n){return n.q>0}uf.exports=dJ;uf.exports.preferredCharsets=dJ;var K6=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var aF=I((pN,Of)=>{function O6(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=H6(i[p].trim(),p);if(x)i[a++]=x,o=o||cF("identity",x),c=Math.min(c,x.q||1)}if(!o)i[a++]={encoding:"identity",q:c,i:p};return i.length=a,i}function H6(n,i){var o=u6.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{encoding:c,q:p,i}}function E6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=cF(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function cF(n,i,o){var c=0;if(i.encoding.toLowerCase()===n.toLowerCase())c|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function pF(n,i){var o=O6(n||"");if(!i)return o.filter(oF).sort(iF).map(Q6);var c=i.map(function p(a,x){return E6(a,o,x)});return c.filter(oF).sort(iF).map(function p(a){return i[c.indexOf(a)]})}function iF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Q6(n){return n.encoding}function oF(n){return n.q>0}Of.exports=pF;Of.exports.preferredEncodings=pF;var u6=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var $F=I((aN,Hf)=>{function V6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=lF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function lF(n,i){var o=U6.exec(n);if(!o)return null;var c=o[1],p=o[2],a=c;if(p)a+="-"+p;var x=1;if(o[3]){var m=o[3].split(";");for(var l=0;l<m.length;l++){var f=m[l].split("=");if(f[0]==="q")x=parseFloat(f[1])}}return{prefix:c,suffix:p,q:x,i,full:a}}function b6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=_6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function _6(n,i,o){var c=lF(n);if(!c)return null;var p=0;if(i.full.toLowerCase()===c.full.toLowerCase())p|=4;else if(i.prefix.toLowerCase()===c.full.toLowerCase())p|=2;else if(i.full.toLowerCase()===c.prefix.toLowerCase())p|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:p}}function fF(n,i){var o=V6(n===void 0?"*":n||"");if(!i)return o.filter(mF).sort(xF).map(s6);var c=i.map(function p(a,x){return b6(a,o,x)});return c.filter(mF).sort(xF).map(function p(a){return i[c.indexOf(a)]})}function xF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function s6(n){return n.full}function mF(n){return n.q>0}Hf.exports=fF;Hf.exports.preferredLanguages=fF;var U6=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var AF=I((xN,Ef)=>{function N6(n){var i=h6(n);for(var o=0,c=0;o<i.length;o++){var p=SF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function SF(n,i){var o=j6.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=I6(o[3]).map(D6);for(var l=0;l<m.length;l++){var f=m[l],$=f[0].toLowerCase(),v=f[1],S=v&&v[0]==='"'&&v[v.length-1]==='"'?v.substr(1,v.length-2):v;if($==="q"){p=parseFloat(S);break}c[$]=S}}return{type:x,subtype:a,params:c,q:p,i}}function L6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=y6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function y6(n,i,o){var c=SF(n),p=0;if(!c)return null;if(i.type.toLowerCase()==c.type.toLowerCase())p|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==c.subtype.toLowerCase())p|=2;else if(i.subtype!="*")return null;var a=Object.keys(i.params);if(a.length>0)if(a.every(function(x){return i.params[x]=="*"||(i.params[x]||"").toLowerCase()==(c.params[x]||"").toLowerCase()}))p|=1;else return null;return{i:o,o:i.i,q:i.q,s:p}}function JF(n,i){var o=N6(n===void 0?"*/*":n||"");if(!i)return o.filter(wF).sort(vF).map(B6);var c=i.map(function p(a,x){return L6(a,o,x)});return c.filter(wF).sort(vF).map(function p(a){return i[c.indexOf(a)]})}function vF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function B6(n){return n.type+"/"+n.subtype}function wF(n){return n.q>0}function FF(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function D6(n){var i=n.indexOf("="),o,c;if(i===-1)o=n;else o=n.substr(0,i),c=n.substr(i+1);return[o,c]}function h6(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(FF(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function I6(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(FF(i[c])%2==0)i[++c]=i[o];else i[c]+=";"+i[o];i.length=c+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}Ef.exports=JF;Ef.exports.preferredMediaTypes=JF;var j6=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var MF=I((mN,Qf)=>{function un(n){if(!(this instanceof un))return new un(n);this.request=n}/*!
|
|
5
|
+
Time Zone: ${(o=i===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${c.offset} - current Date: ${uo.DateTime.local().toString()}`);if(!(c.month in this.month)&&Object.keys(this.month).length!==12){if(c=c.plus({months:1}),c=c.set({day:1,hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){let[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){let[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!((c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){let[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.hour in this.hour)&&Object.keys(this.hour).length!==24){let m=c.hour===23&&x>86400000?0:c.hour+1,l=c.minute;if(c=c.set({hour:m}),c=c.set({minute:0,second:0}),this._forwardDSTJump(m,l,c)){let[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.minute in this.minute)&&Object.keys(this.minute).length!==60){let m=c.minute===59&&x>3600000?0:c.minute+1,l=c.hour+(m===60?1:0);if(c=c.set({minute:m}),c=c.set({second:0}),this._forwardDSTJump(l,m,c)){let[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.second in this.second)&&Object.keys(this.second).length!==60){let m=c.second===59&&x>60000?0:c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){let[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}if(c.toMillis()===p){let m=c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){let[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}break}return c}_findPreviousDSTJump(n){var i;let o,c,p,a,x=n,m=1440,l=0;do{if(++l>m)throw new Mi.CronError(`ERROR: This DST checking related function assumes the input DateTime (${(i=n.toISO())!==null&&i!==void 0?i:n.toMillis()}) is within 24 hours of a DST jump.`);if(o=x.minute-1,c=x.hour,o<0)o+=60,c=(c+24-1)%24;x=x.minus({minute:1}),p=x.minute,a=x.hour}while(o===p&&c===a);let f=x.plus({minute:1}).set({second:0,millisecond:0}),$=f.minus({second:1});if(n.month+1 in this.month&&n.day in this.dayOfMonth&&this._getWeekDay(n)in this.dayOfWeek)return[this._checkTimeInSkippedRange($,f),f];return[!1,f]}_checkTimeInSkippedRange(n,i){let o=(n.minute+1)%60,c=(n.hour+(o===0?1:0))%24,p=i.hour-c+1,a=o===0&&i.minute===0;if(p===2&&a)return c in this.hour;else if(p===1)return c in this.hour&&this._checkTimeInSkippedRangeSingleHour(o,i.minute);else return this._checkTimeInSkippedRangeMultiHour(c,o,i.hour,i.minute)}_checkTimeInSkippedRangeSingleHour(n,i){for(let o=n;o<i;++o)if(o in this.minute)return!0;return i in this.minute&&0 in this.second}_checkTimeInSkippedRangeMultiHour(n,i,o,c){if(n>=o)throw new Mi.CronError(`ERROR: This DST checking related function assumes the forward jump starting hour (${n}) is less than the end hour (${o})`);let p=Array.from({length:60-i},(l,f)=>i+f),a=Array.from({length:c},(l,f)=>f),x=Array.from({length:60},(l,f)=>f),m=(l)=>{if(l===n)return p;else if(l===o)return a;else return x};for(let l=n;l<=o;++l){if(!(l in this.hour))continue;let f=m(l);for(let $ of f)if($ in this.minute)return!0}return o in this.hour&&c in this.minute&&0 in this.second}_forwardDSTJump(n,i,o){let{hour:c,minute:p}=o,a=n%24<c,x=i%60<p;return a||x}_wcOrAll(n){if(this._hasAll(n))return"*";let i=[];for(let o in this[n])i.push(o);return i.join(",")}_hasAll(n){let i=ai.CONSTRAINTS[n],o=i[0],c=n===ai.TIME_UNITS_MAP.DAY_OF_WEEK?i[1]-1:i[1];for(let p=o,a=c;p<a;p++)if(!(p in this[n]))return!1;return!0}_parse(n){var i;if(n=n.toLowerCase(),Object.keys(ai.PRESETS).includes(n))n=ai.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(ai.ALIASES).includes(p))return ai.ALIASES[p].toString();throw new Mi.CronError(`Unknown alias: ${p}`)});let o=n.trim().split(/\s+/);if(o.length<ai.TIME_UNITS_LEN-1)throw new Mi.CronError("Too few fields");if(o.length>ai.TIME_UNITS_LEN)throw new Mi.CronError("Too many fields");let c=o.length;for(let p of ai.TIME_UNITS){let a=ai.TIME_UNITS.indexOf(p),x=(i=o[a-(ai.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:ai.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){let o=this[i],c,p=ai.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{let $=f.indexOf("*");if($!==-1&&$!==0)throw new Mi.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(ai.RE_WILDCARDS,`${a}-${x}`);let l=n.split(",");for(let f of l){let $=[...f.matchAll(ai.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){let[,v,S,M]=$,R=parseInt(v,10),A=S!==void 0?parseInt(S,10):void 0,X=M!==void 0,G=parseInt(M!==null&&M!==void 0?M:"1",10);if(G===0)throw new Mi.CronError(`Field (${i}) has a step of zero`);if(A!==void 0&&R>A)throw new Mi.CronError(`Field (${i}) has an invalid range`);if(R<a||A!==void 0&&A>x||A===void 0&&R>x)throw new Mi.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),A!==void 0)A=Math.min(x,~~Math.abs(A));else A=X?x:R;c=R;do o[c]=!0,c+=G;while(c<=A);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Mi.CronError(`Field (${i}) cannot be parsed`)}}}cS.CronTime=oS});var lS=I((xS)=>{Object.defineProperty(xS,"__esModule",{value:!0});xS.CronJob=void 0;var aS=import.meta.require("child_process"),pf=cf(),Nx=jx();class Xa{constructor(n,i,o,c,p,a,x,m,l){if(this.running=!1,this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this._callbacks=[],this.context=a!==null&&a!==void 0?a:this,p!=null&&m!=null)throw new pf.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Nx.CronTime(n,p,null);else if(m!=null)this.cronTime=new Nx.CronTime(n,null,m);else this.cronTime=new Nx.CronTime(n,p,m);if(l!=null)this.unrefTimeout=l;if(o!=null)this.onComplete=this._fnWrap(o);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(i)),x)this.lastExecution=new Date,this.fireOnTick();if(c)this.start()}static from(n){if(n.timeZone!=null&&n.utcOffset!=null)throw new pf.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else if(n.utcOffset!=null)return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Xa(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout)}_fnWrap(n){var i,o;switch(typeof n){case"function":return n;case"string":{let[c,...p]=n.split(" ");return aS.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return aS.spawn.bind(void 0,n.command,(i=n.args)!==null&&i!==void 0?i:[],(o=n.options)!==null&&o!==void 0?o:{})}}addCallback(n){if(typeof n==="function")this._callbacks.push(n)}setTime(n){if(!(n instanceof Nx.CronTime))throw new pf.CronError("time must be an instance of CronTime.");let i=this.running;if(this.stop(),this.cronTime=n,n.realDate)this.runOnce=!0;if(i)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){for(let n of this._callbacks)n.call(this.context,this.onComplete)}nextDates(n){return this.cronTime.sendAt(n!==null&&n!==void 0?n:0)}start(){if(this.running)return;let n=2147483647,i=this.cronTime.getTimeout(),o=0,c,p=(x)=>{if(c=Date.now(),this._timeout=setTimeout(a,x),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},a=()=>{let x=c+i-Date.now();if(x>0){let m=this.cronTime.getTimeout();if(m>x)m=x;o+=m}if(o){if(o>n)o-=n,i=n;else i=o,o=0;p(i)}else{if(this.lastExecution=new Date,this.running=!1,!this.runOnce)this.start();this.fireOnTick()}};if(i>=0){if(this.running=!0,i>n)o=i-n,i=n;p(i)}else this.stop()}lastDate(){return this.lastExecution}stop(){if(this._timeout)clearTimeout(this._timeout);if(this.running=!1,typeof this.onComplete==="function")this.onComplete.call(this.context)}}xS.CronJob=Xa});var af=I((Lx)=>{Object.defineProperty(Lx,"__esModule",{value:!0});Lx.timeout=Lx.sendAt=Lx.CronTime=Lx.CronJob=void 0;var fS=jx(),l6=lS();Object.defineProperty(Lx,"CronJob",{enumerable:!0,get:function(){return l6.CronJob}});var f6=jx();Object.defineProperty(Lx,"CronTime",{enumerable:!0,get:function(){return f6.CronTime}});var $6=(n)=>new fS.CronTime(n).sendAt();Lx.sendAt=$6;var v6=(n)=>new fS.CronTime(n).getTimeout();Lx.timeout=v6});var nF=I((cN,uf)=>{uf.exports=dJ;uf.exports.preferredCharsets=dJ;var K6=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function W6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=X6(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function X6(n,i){var o=K6.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{charset:c,q:p,i}}function G6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=z6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function z6(n,i,o){var c=0;if(i.charset.toLowerCase()===n.toLowerCase())c|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function dJ(n,i){var o=W6(n===void 0?"*":n||"");if(!i)return o.filter(gJ).sort(eJ).map(Y6);var c=i.map(function p(a,x){return G6(a,o,x)});return c.filter(gJ).sort(eJ).map(function p(a){return i[c.indexOf(a)]})}function eJ(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Y6(n){return n.charset}function gJ(n){return n.q>0}});var aF=I((pN,Of)=>{Of.exports=pF;Of.exports.preferredEncodings=pF;var u6=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function O6(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=H6(i[p].trim(),p);if(x)i[a++]=x,o=o||cF("identity",x),c=Math.min(c,x.q||1)}if(!o)i[a++]={encoding:"identity",q:c,i:p};return i.length=a,i}function H6(n,i){var o=u6.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{encoding:c,q:p,i}}function E6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=cF(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function cF(n,i,o){var c=0;if(i.encoding.toLowerCase()===n.toLowerCase())c|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function pF(n,i){var o=O6(n||"");if(!i)return o.filter(oF).sort(iF).map(Q6);var c=i.map(function p(a,x){return E6(a,o,x)});return c.filter(oF).sort(iF).map(function p(a){return i[c.indexOf(a)]})}function iF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Q6(n){return n.encoding}function oF(n){return n.q>0}});var $F=I((aN,Hf)=>{Hf.exports=fF;Hf.exports.preferredLanguages=fF;var U6=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function V6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=lF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function lF(n,i){var o=U6.exec(n);if(!o)return null;var c=o[1],p=o[2],a=c;if(p)a+="-"+p;var x=1;if(o[3]){var m=o[3].split(";");for(var l=0;l<m.length;l++){var f=m[l].split("=");if(f[0]==="q")x=parseFloat(f[1])}}return{prefix:c,suffix:p,q:x,i,full:a}}function b6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=_6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function _6(n,i,o){var c=lF(n);if(!c)return null;var p=0;if(i.full.toLowerCase()===c.full.toLowerCase())p|=4;else if(i.prefix.toLowerCase()===c.full.toLowerCase())p|=2;else if(i.full.toLowerCase()===c.prefix.toLowerCase())p|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:p}}function fF(n,i){var o=V6(n===void 0?"*":n||"");if(!i)return o.filter(mF).sort(xF).map(s6);var c=i.map(function p(a,x){return b6(a,o,x)});return c.filter(mF).sort(xF).map(function p(a){return i[c.indexOf(a)]})}function xF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function s6(n){return n.full}function mF(n){return n.q>0}});var AF=I((xN,Ef)=>{Ef.exports=JF;Ef.exports.preferredMediaTypes=JF;var j6=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function N6(n){var i=h6(n);for(var o=0,c=0;o<i.length;o++){var p=SF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function SF(n,i){var o=j6.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=I6(o[3]).map(D6);for(var l=0;l<m.length;l++){var f=m[l],$=f[0].toLowerCase(),v=f[1],S=v&&v[0]==='"'&&v[v.length-1]==='"'?v.substr(1,v.length-2):v;if($==="q"){p=parseFloat(S);break}c[$]=S}}return{type:x,subtype:a,params:c,q:p,i}}function L6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=y6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function y6(n,i,o){var c=SF(n),p=0;if(!c)return null;if(i.type.toLowerCase()==c.type.toLowerCase())p|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==c.subtype.toLowerCase())p|=2;else if(i.subtype!="*")return null;var a=Object.keys(i.params);if(a.length>0)if(a.every(function(x){return i.params[x]=="*"||(i.params[x]||"").toLowerCase()==(c.params[x]||"").toLowerCase()}))p|=1;else return null;return{i:o,o:i.i,q:i.q,s:p}}function JF(n,i){var o=N6(n===void 0?"*/*":n||"");if(!i)return o.filter(wF).sort(vF).map(B6);var c=i.map(function p(a,x){return L6(a,o,x)});return c.filter(wF).sort(vF).map(function p(a){return i[c.indexOf(a)]})}function vF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function B6(n){return n.type+"/"+n.subtype}function wF(n){return n.q>0}function FF(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function D6(n){var i=n.indexOf("="),o,c;if(i===-1)o=n;else o=n.substr(0,i),c=n.substr(i+1);return[o,c]}function h6(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(FF(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function I6(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(FF(i[c])%2==0)i[++c]=i[o];else i[c]+=";"+i[o];i.length=c+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}});var MF=I((mN,Qf)=>{/*!
|
|
6
6
|
* negotiator
|
|
7
7
|
* Copyright(c) 2012 Federico Romero
|
|
8
8
|
* Copyright(c) 2012-2014 Isaac Z. Schlueter
|
|
9
9
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
10
10
|
* MIT Licensed
|
|
11
|
-
*/var C6=nF(),t6=aF(),k6=$F(),r6=AF();Qf.exports=un;Qf.exports.Negotiator=un;un.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};un.prototype.charsets=function n(i){return C6(this.request.headers["accept-charset"],i)};un.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};un.prototype.encodings=function n(i){return t6(this.request.headers["accept-encoding"],i)};un.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};un.prototype.languages=function n(i){return k6(this.request.headers["accept-language"],i)};un.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};un.prototype.mediaTypes=function n(i){return r6(this.request.headers.accept,i)};un.prototype.preferredCharset=un.prototype.charset;un.prototype.preferredCharsets=un.prototype.charsets;un.prototype.preferredEncoding=un.prototype.encoding;un.prototype.preferredEncodings=un.prototype.encodings;un.prototype.preferredLanguage=un.prototype.language;un.prototype.preferredLanguages=un.prototype.languages;un.prototype.preferredMediaType=un.prototype.mediaType;un.prototype.preferredMediaTypes=un.prototype.mediaTypes});var TF=I((lN,Z6)=>{Z6.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var KF=I((fN,RF)=>{/*!
|
|
11
|
+
*/var C6=nF(),t6=aF(),k6=$F(),r6=AF();Qf.exports=un;Qf.exports.Negotiator=un;function un(n){if(!(this instanceof un))return new un(n);this.request=n}un.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};un.prototype.charsets=function n(i){return C6(this.request.headers["accept-charset"],i)};un.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};un.prototype.encodings=function n(i){return t6(this.request.headers["accept-encoding"],i)};un.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};un.prototype.languages=function n(i){return k6(this.request.headers["accept-language"],i)};un.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};un.prototype.mediaTypes=function n(i){return r6(this.request.headers.accept,i)};un.prototype.preferredCharset=un.prototype.charset;un.prototype.preferredCharsets=un.prototype.charsets;un.prototype.preferredEncoding=un.prototype.encoding;un.prototype.preferredEncodings=un.prototype.encodings;un.prototype.preferredLanguage=un.prototype.language;un.prototype.preferredLanguages=un.prototype.languages;un.prototype.preferredMediaType=un.prototype.mediaType;un.prototype.preferredMediaTypes=un.prototype.mediaTypes});var TF=I((lN,Z6)=>{Z6.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var KF=I((fN,RF)=>{/*!
|
|
12
12
|
* mime-db
|
|
13
13
|
* Copyright(c) 2014 Jonathan Ong
|
|
14
14
|
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
15
15
|
* MIT Licensed
|
|
16
|
-
*/RF.exports=TF()});var YF=I((iW)=>{
|
|
16
|
+
*/RF.exports=TF()});var YF=I((iW)=>{/*!
|
|
17
17
|
* mime-types
|
|
18
18
|
* Copyright(c) 2014 Jonathan Ong
|
|
19
19
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
20
20
|
* MIT Licensed
|
|
21
|
-
*/var pm=KF(),q6=import.meta.require("path").extname,WF=/^\s*([^;\s]*)(?:;|\s|$)/,P6=/^text\//i;iW.charset=XF;iW.charsets={lookup:XF};iW.contentType=e6;iW.extension=g6;iW.extensions=Object.create(null);iW.lookup=d6;iW.types=Object.create(null);nW(iW.extensions,iW.types)
|
|
21
|
+
*/var pm=KF(),q6=import.meta.require("path").extname,WF=/^\s*([^;\s]*)(?:;|\s|$)/,P6=/^text\//i;iW.charset=XF;iW.charsets={lookup:XF};iW.contentType=e6;iW.extension=g6;iW.extensions=Object.create(null);iW.lookup=d6;iW.types=Object.create(null);nW(iW.extensions,iW.types);function XF(n){if(!n||typeof n!=="string")return!1;var i=WF.exec(n),o=i&&pm[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&P6.test(i[1]))return"UTF-8";return!1}function e6(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?iW.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=iW.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function g6(n){if(!n||typeof n!=="string")return!1;var i=WF.exec(n),o=i&&iW.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function d6(n){if(!n||typeof n!=="string")return!1;var i=q6("x."+n).toLowerCase().substr(1);if(!i)return!1;return iW.types[i]||!1}function nW(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(pm).forEach(function c(p){var a=pm[p],x=a.extensions;if(!x||!x.length)return;n[p]=x;for(var m=0;m<x.length;m++){var l=x[m];if(i[l]){var f=o.indexOf(pm[i[l]].source),$=o.indexOf(a.source);if(i[l]!=="application/octet-stream"&&(f>$||f===$&&i[l].substr(0,12)==="application/"))continue}i[l]=p}})}});var am=I((vN,uF)=>{/*!
|
|
22
22
|
* accepts
|
|
23
23
|
* Copyright(c) 2014 Jonathan Ong
|
|
24
24
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
25
25
|
* MIT Licensed
|
|
26
|
-
*/var aW=MF(),xW=YF();uF.exports=Bi;Bi.prototype.type=Bi.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var c=i.map(mW),p=this.negotiator.mediaTypes(c.filter(lW)),a=p[0];return a?i[c.indexOf(a)]:!1};Bi.prototype.encoding=Bi.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};Bi.prototype.charset=Bi.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};Bi.prototype.lang=Bi.prototype.langs=Bi.prototype.language=Bi.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var _f=I((OF,HF)=>{/*!
|
|
26
|
+
*/var aW=MF(),xW=YF();uF.exports=Bi;function Bi(n){if(!(this instanceof Bi))return new Bi(n);this.headers=n.headers,this.negotiator=new aW(n)}Bi.prototype.type=Bi.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var c=i.map(mW),p=this.negotiator.mediaTypes(c.filter(lW)),a=p[0];return a?i[c.indexOf(a)]:!1};Bi.prototype.encoding=Bi.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};Bi.prototype.charset=Bi.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};Bi.prototype.lang=Bi.prototype.langs=Bi.prototype.language=Bi.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1};function mW(n){return n.indexOf("/")===-1?xW.lookup(n):n}function lW(n){return typeof n==="string"}});var _f=I((OF,HF)=>{/*!
|
|
27
27
|
* base64id v0.1.0
|
|
28
|
-
*/var Qa=import.meta.require("crypto"),bf=function(){};bf.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Qa.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Qa.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==c)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>p){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Qa.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Qa.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};bf.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Qa.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};OF=HF.exports=new bf});var xm=I((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});QF.ERROR_PACKET=QF.PACKET_TYPES_REVERSE=QF.PACKET_TYPES=void 0;var Eo=Object.create(null);QF.PACKET_TYPES=Eo;Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";var EF=Object.create(null);QF.PACKET_TYPES_REVERSE=EF;Object.keys(Eo).forEach((n)=>{EF[Eo[n]]=n});var fW={type:"error",data:"parser error"};QF.ERROR_PACKET=fW});var _F=I((bF)=>{function JW(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(VF(n.data,!1));bF.encodePacket(n,!0,(o)=>{if(!sf)sf=new TextEncoder;i(sf.encode(o))})}Object.defineProperty(bF,"__esModule",{value:!0});bF.encodePacket=void 0;bF.encodePacketToBinary=JW;var wW=xm(),SW=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+VF(i,!0).toString("base64"));return c(wW.PACKET_TYPES[n]+(i||""))};bF.encodePacket=SW;var VF=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},sf});var LF=I((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});jF.decodePacket=void 0;var mm=xm(),AW=(n,i)=>{if(typeof n!=="string")return{type:"message",data:sF(n,i)};const o=n.charAt(0);if(o==="b"){const c=Buffer.from(n.substring(1),"base64");return{type:"message",data:sF(c,i)}}if(!mm.PACKET_TYPES_REVERSE[o])return mm.ERROR_PACKET;return n.length>1?{type:mm.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:mm.PACKET_TYPES_REVERSE[o]}};jF.decodePacket=AW;var sF=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Ua=I(($m)=>{function RW(){return new TransformStream({transform(n,i){Lf.encodePacketToBinary(n,(o)=>{const c=o.length;let p;if(c<126)p=new Uint8Array(1),new DataView(p.buffer).setUint8(0,c);else if(c<65536){p=new Uint8Array(3);const a=new DataView(p.buffer);a.setUint8(0,126),a.setUint16(1,c)}else{p=new Uint8Array(9);const a=new DataView(p.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(c))}if(n.data&&typeof n.data!=="string")p[0]|=128;i.enqueue(p),i.enqueue(o)})}})}function lm(n){return n.reduce((i,o)=>i+o.length,0)}function fm(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let c=0;for(let p=0;p<i;p++)if(o[p]=n[0][c++],c===n[0].length)n.shift(),c=0;if(n.length&&c<n[0].length)n[0]=n[0].slice(c);return o}function KW(n,i){if(!Nf)Nf=new TextDecoder;const o=[];let c=0,p=-1,a=!1;return new TransformStream({transform(x,m){o.push(x);while(!0){if(c===0){if(lm(o)<1)break;const l=fm(o,1);if(a=(l[0]&128)===128,p=l[0]&127,p<126)c=3;else if(p===126)c=1;else c=2}else if(c===1){if(lm(o)<2)break;const l=fm(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(lm(o)<8)break;const l=fm(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(yF.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(lm(o)<p)break;const l=fm(o,p);m.enqueue(yf.decodePacket(a?l:Nf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(yF.ERROR_PACKET);break}}}})}Object.defineProperty($m,"__esModule",{value:!0});$m.decodePayload=$m.decodePacket=$m.encodePayload=$m.encodePacket=$m.protocol=void 0;$m.createPacketEncoderStream=RW;$m.createPacketDecoderStream=KW;var Lf=_F();Object.defineProperty($m,"encodePacket",{enumerable:!0,get:function(){return Lf.encodePacket}});var yf=LF();Object.defineProperty($m,"decodePacket",{enumerable:!0,get:function(){return yf.decodePacket}});var yF=xm(),BF=String.fromCharCode(30),MW=(n,i)=>{const o=n.length,c=new Array(o);let p=0;n.forEach((a,x)=>{Lf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(BF))})})};$m.encodePayload=MW;var TW=(n,i)=>{const o=n.split(BF),c=[];for(let p=0;p<o.length;p++){const a=yf.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};$m.decodePayload=TW;var Nf;$m.protocol=4});var tF=I((TN,CF)=>{function hF(n){var i=[],o=0,c=n.length,p,a;while(o<c)if(p=n.charCodeAt(o++),p>=55296&&p<=56319&&o<c)if(a=n.charCodeAt(o++),(a&64512)==56320)i.push(((p&1023)<<10)+(a&1023)+65536);else i.push(p),o--;else i.push(p);return i}function YW(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=mc(c>>>10&1023|55296),c=56320|c&1023;p+=mc(c)}return p}function IF(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Bf(n,i){return mc(n>>i&63|128)}function uW(n,i){if((n&4294967168)==0)return mc(n);var o="";if((n&4294965248)==0)o=mc(n>>6&31|192);else if((n&4294901760)==0){if(!IF(n,i))n=65533;o=mc(n>>12&15|224),o+=Bf(n,6)}else if((n&4292870144)==0)o=mc(n>>18&7|240),o+=Bf(n,12),o+=Bf(n,6);return o+=mc(n&63|128),o}function OW(n,i){i=i||{};var o=i.strict!==!1,c=hF(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=uW(x,o);return m}function Sp(){if(lc>=wm)throw Error("Invalid byte index");var n=vm[lc]&255;if(lc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function HW(n){var i,o,c,p,a;if(lc>wm)throw Error("Invalid byte index");if(lc==wm)return!1;if(i=vm[lc]&255,lc++,(i&128)==0)return i;if((i&224)==192)if(o=Sp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=Sp(),c=Sp(),a=(i&15)<<12|o<<6|c,a>=2048)return IF(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=Sp(),c=Sp(),p=Sp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}function EW(n,i){i=i||{};var o=i.strict!==!1;vm=hF(n),wm=vm.length,lc=0;var c=[],p;while((p=HW(o))!==!1)c.push(p);return YW(c)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var mc=String.fromCharCode,vm,wm,lc;CF.exports={version:"2.1.2",encode:OW,decode:EW}});var nA=I((dF)=>{function Df(n,i,o,c){if(typeof i==="function")c=i,i=null;if(typeof o==="function")c=o,o=null;if(Buffer.isBuffer(n.data))return kF(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return kF({type:n.type,data:If(n.data)},i,c);var p=dF.packets[n.type];if(n.data!==void 0)p+=o?rF.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function kF(n,i,o){if(!i)return ZF(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=dF.packets[n.type],o(Buffer.concat([p,c]))}function ZF(n,i){var o=Buffer.isBuffer(n.data)?n.data:If(n.data),c="b"+dF.packets[n.type];return c+=o.toString("base64"),i(c)}function hf(n,i,o){if(n===void 0)return Jo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return qF(n.slice(1),i);if(o){if(n=VW(n),n===!1)return Jo}if(Number(c)!=c||!Jp[c])return Jo;if(n.length>1)return{type:Jp[c],data:n.slice(1)};else return{type:Jp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:Jp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=If(n);return c=n[0],{type:Jp[c],data:n.slice(1)}}function VW(n){try{n=rF.decode(n,{strict:!1})}catch(i){return!1}return n}function qF(n,i){var o=Jp[n.charAt(0)],c=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var p=new Uint8Array(c.length);for(var a=0;a<p.length;a++)p[a]=c[a];c=p.buffer}return{type:o,data:c}}function bW(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&QW(n))return eF(n,o);if(!n.length)return o("0:");function c(p,a){Df(p,i,!1,function(x){a(null,_W(x))})}PF(n,c,function(p,a){return o(a.join(""))})}function _W(n){return n.length+":"+n}function PF(n,i,o){const c=new Array(n.length);let p=0;for(let a=0;a<n.length;a++)i(n[a],(x,m)=>{if(c[a]=m,++p===n.length)o(null,c)})}function sW(n,i,o){if(typeof n!=="string")return gF(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(Jo,0,1);var c="",p,a,x;for(var m=0,l=n.length;m<l;m++){var f=n.charAt(m);if(f!==":"){c+=f;continue}if(c===""||c!=(p=Number(c)))return o(Jo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(Jo,0,1);if(a.length){if(x=hf(a,i,!1),Jo.type===x.type&&Jo.data===x.data)return o(Jo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(Jo,0,1)}function jW(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function NW(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,c=n.length;o<c;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function If(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function eF(n,i){if(!n.length)return i(UW);PF(n,LW,function(o,c){return i(Buffer.concat(c))})}function LW(n,i){function o(c){var p=""+c.length,a;if(typeof c==="string"){a=Buffer.allocUnsafe(p.length+2),a[0]=0;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);return a[a.length-1]=255,i(null,Buffer.concat([a,NW(c)]))}a=Buffer.allocUnsafe(p.length+2),a[0]=1;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);a[a.length-1]=255,i(null,Buffer.concat([a,c]))}Df(n,!0,!0,o)}function gF(n,i,o){if(typeof i==="function")o=i,i=null;var c=n,p=[],a;while(c.length>0){var x="",m=c[0]===0;for(a=1;;a++){if(c[a]===255)break;if(x.length>310)return o(Jo,0,1);x+=""+c[a]}c=c.slice(x.length+1);var l=parseInt(x,10),f=c.slice(1,l+1);if(m)f=jW(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(hf(v,i,!0),a,$)}}Object.defineProperty(dF,"__esModule",{value:!0});dF.packets=dF.protocol=void 0;dF.encodePacket=Df;dF.encodeBase64Packet=ZF;dF.decodePacket=hf;dF.decodeBase64Packet=qF;dF.encodePayload=bW;dF.decodePayload=sW;dF.encodePayloadAsBinary=eF;dF.decodePayloadAsBinary=gF;var rF=tF();dF.protocol=3;var QW=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};dF.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var Jp=Object.keys(dF.packets),Jo={type:"error",data:"parser error"},UW=Buffer.concat([])});var oA=I((KN,iA)=>{function PW(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return o*qW;case"weeks":case"week":case"w":return o*ZW;case"days":case"day":case"d":return o*Ec;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Tp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Mp;case"seconds":case"second":case"secs":case"sec":case"s":return o*Ap;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function eW(n){var i=Math.abs(n);if(i>=Ec)return Math.round(n/Ec)+"d";if(i>=Tp)return Math.round(n/Tp)+"h";if(i>=Mp)return Math.round(n/Mp)+"m";if(i>=Ap)return Math.round(n/Ap)+"s";return n+"ms"}function gW(n){var i=Math.abs(n);if(i>=Ec)return Sm(n,i,Ec,"day");if(i>=Tp)return Sm(n,i,Tp,"hour");if(i>=Mp)return Sm(n,i,Mp,"minute");if(i>=Ap)return Sm(n,i,Ap,"second");return n+" ms"}function Sm(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}var Ap=1000,Mp=Ap*60,Tp=Mp*60,Ec=Tp*24,ZW=Ec*7,qW=Ec*365.25;iA.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return PW(n);else if(o==="number"&&isFinite(n))return i.long?gW(n):eW(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Cf=I((WN,cA)=>{function dW(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=oA(),o.destroy=f,Object.keys(n).forEach(($)=>{o[$]=n[$]}),o.names=[],o.skips=[],o.formatters={};function i($){let v=0;for(let S=0;S<$.length;S++)v=(v<<5)-v+$.charCodeAt(S),v|=0;return o.colors[Math.abs(v)%o.colors.length]}o.selectColor=i;function o($){let v,S=null,M,R;function A(...X){if(!A.enabled)return;const G=A,Y=Number(new Date),E=Y-(v||Y);if(G.diff=E,G.prev=v,G.curr=Y,v=Y,X[0]=o.coerce(X[0]),typeof X[0]!=="string")X.unshift("%O");let s=0;X[0]=X[0].replace(/%([a-zA-Z%])/g,(T,O)=>{if(T==="%%")return"%";s++;const U=o.formatters[O];if(typeof U==="function"){const V=X[s];T=U.call(G,V),X.splice(s,1),s--}return T}),o.formatArgs.call(G,X),(G.log||o.log).apply(G,X)}if(A.namespace=$,A.useColors=o.useColors(),A.color=o.selectColor($),A.extend=c,A.destroy=o.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(M!==o.namespaces)M=o.namespaces,R=o.enabled($);return R},set:(X)=>{S=X}}),typeof o.init==="function")o.init(A);return A}function c($,v){const S=o(this.namespace+(typeof v==="undefined"?":":v)+$);return S.log=this.log,S}function p($){o.save($),o.namespaces=$,o.names=[],o.skips=[];let v;const S=(typeof $==="string"?$:"").split(/[\s,]+/),M=S.length;for(v=0;v<M;v++){if(!S[v])continue;if($=S[v].replace(/\*/g,".*?"),$[0]==="-")o.skips.push(new RegExp("^"+$.slice(1)+"$"));else o.names.push(new RegExp("^"+$+"$"))}}function a(){const $=[...o.names.map(m),...o.skips.map(m).map((v)=>"-"+v)].join(",");return o.enable(""),$}function x($){if($[$.length-1]==="*")return!0;let v,S;for(v=0,S=o.skips.length;v<S;v++)if(o.skips[v].test($))return!1;for(v=0,S=o.names.length;v<S;v++)if(o.names[v].test($))return!0;return!1}function m($){return $.toString().substring(2,$.toString().length-2).replace(/\.\*\?$/,"*")}function l($){if($ instanceof Error)return $.stack||$.message;return $}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}cA.exports=dW});var aA=I((pA,Fm)=>{function n7(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function i7(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Fm.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,c=0;n[0].replace(/%[a-zA-Z%]/g,(p)=>{if(p==="%%")return;if(o++,p==="%c")c=o}),n.splice(c,0,i)}function o7(n){try{if(n)pA.storage.setItem("debug",n);else pA.storage.removeItem("debug")}catch(i){}}function c7(){let n;try{n=pA.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function p7(){try{return localStorage}catch(n){}}pA.formatArgs=i7;pA.save=o7;pA.load=c7;pA.useColors=n7;pA.storage=p7();pA.destroy=(()=>{let n=!1;return()=>{if(!n)n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();pA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];pA.log=console.debug||console.log||(()=>{});Fm.exports=Cf()(pA);var{formatters:a7}=Fm.exports;a7.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var mA=I((GN,xA)=>{xA.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",c=i.indexOf(o+n),p=i.indexOf("--");return c!==-1&&(p===-1?!0:c<p)}});var fA=I((zN,lA)=>{function J7(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function F7(n){if(Rp===!1)return 0;if(Fo("color=16m")||Fo("color=full")||Fo("color=truecolor"))return 3;if(Fo("color=256"))return 2;if(n&&!n.isTTY&&Rp!==!0)return 0;const i=Rp?1:0;if(process.platform==="win32"){const o=S7.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in Ti){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Ti))||Ti.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Ti)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ti.TEAMCITY_VERSION)?1:0;if(Ti.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ti){const o=parseInt((Ti.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ti.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ti.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ti.TERM))return 1;if("COLORTERM"in Ti)return 1;if(Ti.TERM==="dumb")return i;return i}function tf(n){const i=F7(n);return J7(i)}var S7=import.meta.require("os"),Fo=mA(),Ti=process.env,Rp;if(Fo("no-color")||Fo("no-colors")||Fo("color=false"))Rp=!1;else if(Fo("color")||Fo("colors")||Fo("color=true")||Fo("color=always"))Rp=!0;if("FORCE_COLOR"in Ti)Rp=Ti.FORCE_COLOR.length===0||parseInt(Ti.FORCE_COLOR,10)!==0;lA.exports={supportsColor:tf,stdout:tf(process.stdout),stderr:tf(process.stderr)}});var SA=I((vA,Mm)=>{function M7(){return"colors"in vA.inspectOpts?Boolean(vA.inspectOpts.colors):A7.isatty(process.stderr.fd)}function T7(n){const{namespace:i,useColors:o}=this;if(o){const c=this.color,p="\x1B[3"+(c<8?c:"8;5;"+c),a=` ${p};1m${i} \x1B[0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(p+"m+"+Mm.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=R7()+i+" "+n[0]}function R7(){if(vA.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function K7(...n){return process.stderr.write(Am.formatWithOptions(vA.inspectOpts,...n)+"\n")}function W7(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function X7(){return process.env.DEBUG}function G7(n){n.inspectOpts={};const i=Object.keys(vA.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=vA.inspectOpts[i[o]]}var A7=import.meta.require("tty"),Am=import.meta.require("util");vA.init=G7;vA.log=K7;vA.formatArgs=T7;vA.save=W7;vA.load=X7;vA.useColors=M7;vA.destroy=Am.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");vA.colors=[6,2,3,4,5,1];try{const n=fA();if(n&&(n.stderr||n).level>=2)vA.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(n){}vA.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(p,a)=>{return a.toUpperCase()});let c=process.env[i];if(/^(yes|on|true|enabled)$/i.test(c))c=!0;else if(/^(no|off|false|disabled)$/i.test(c))c=!1;else if(c==="null")c=null;else c=Number(c);return n[o]=c,n},{});Mm.exports=Cf()(vA);var{formatters:$A}=Mm.exports;$A.o=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};$A.O=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts)}});var xi=I((uN,kf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)kf.exports=aA();else kf.exports=SA()});var Uc=I((AA)=>{function s7(){}Object.defineProperty(AA,"__esModule",{value:!0});AA.Transport=void 0;var U7=import.meta.require("events"),V7=Ua(),b7=nA(),_7=xi(),JA=_7.default("engine:transport");class FA extends U7.EventEmitter{get readyState(){return this._readyState}set readyState(n){JA("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?V7:b7,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||s7)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else JA("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}AA.Transport=FA});var rf=I((KA)=>{Object.defineProperty(KA,"__esModule",{value:!0});KA.Polling=void 0;var j7=Uc(),TA=import.meta.require("zlib"),N7=am(),L7=xi(),Di=L7.default("engine:polling"),y7={gzip:TA.createGzip,deflate:TA.createDeflate};class RA extends j7.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){Di("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}Di("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},c=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=c,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)Di("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let c=o?Buffer.concat([]):"";const p=()=>{n.removeListener("data",x),n.removeListener("end",m),n.removeListener("close",a),this.dataReq=this.dataRes=c=null},a=()=>{p(),this.onError("data request connection closed prematurely")},x=(l)=>{let f;if(o)c=Buffer.concat([c,l]),f=c.length;else c+=l,f=Buffer.byteLength(c);if(f>this.maxHttpBufferSize)i.writeHead(413).end(),p()},m=()=>{this.onData(c);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),p()};if(n.on("close",a),!o)n.setEncoding("utf8");n.on("data",x),n.on("end",m)}onData(n){Di('received "%s"',n);const i=(o)=>{if(o.type==="close")return Di("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)Di("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){Di('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{a["Content-Length"]=typeof f==="string"?Buffer.byteLength(f):f.length,this.res.writeHead(200,this.headers(this.req,a)),this.res.end(f),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=N7(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeHead(500),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){Di("compressing");const c=[];let p=0;y7[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){Di("closing");let i;if(this.dataReq)Di("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)Di("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)Di("transport discarded - closing right away"),o();else Di("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}KA.Polling=RA});var YA=I((GA)=>{Object.defineProperty(GA,"__esModule",{value:!0});GA.JSONP=void 0;var B7=rf(),D7=import.meta.require("querystring"),h7=/\\\\n/g,I7=/(\\)?\\n/g;class XA extends B7.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=D7.parse(n).d,typeof n==="string")n=n.replace(I7,function(i,o){return o?i:"\n"}),super.onData(n.replace(h7,"\\n"))}doWrite(n,i,o){const c=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+c+this.foot,super.doWrite(n,i,o)}}GA.JSONP=XA});var QA=I((HA)=>{Object.defineProperty(HA,"__esModule",{value:!0});HA.WebSocket=void 0;var C7=Uc(),t7=xi(),uA=t7.default("engine:ws");class OA extends C7.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const c=o?i:i.toString();uA('received "%s"',c),super.onData(c)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,c?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,c?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,c;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((c=n.options)===null||c===void 0?void 0:c.wsPreEncodedFrame)!==void 0}doClose(n){uA("closing"),this.socket.close(),n&&n()}}HA.WebSocket=OA});var Zf=I((VA)=>{Object.defineProperty(VA,"__esModule",{value:!0});VA.WebTransport=void 0;var k7=Uc(),r7=xi(),Z7=Ua(),Kp=r7.default("engine:webtransport");class UA extends k7.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const c=Z7.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{Kp("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){const{value:p,done:a}=await o.read();if(a){Kp("session is closed");break}Kp("received chunk: %o",p),this.onPacket(p)}}catch(p){Kp("error while reading: %s",p.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){Kp("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){Kp("closing WebTransport session"),this.session.close(),n&&n()}}VA.WebTransport=UA});var qf=I((sA)=>{function _A(n){if(typeof n._query.j==="string")return new P7.JSONP(n);else return new q7.Polling(n)}Object.defineProperty(sA,"__esModule",{value:!0});var q7=rf(),P7=YA(),e7=QA(),g7=Zf();sA.default={polling:_A,websocket:e7.WebSocket,webtransport:g7.WebTransport};_A.upgradesTo=["websocket","webtransport"]});var Pf=I((NA)=>{Object.defineProperty(NA,"__esModule",{value:!0});NA.Socket=void 0;var n3=import.meta.require("events"),i3=xi(),Lo=import.meta.require("timers"),rn=i3.default("engine:socket");class jA extends n3.EventEmitter{get readyState(){return this._readyState}set readyState(n){rn("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,c,p){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=c,this.protocol=p,c)if(c.websocket&&c.websocket._socket)this.remoteAddress=c.websocket._socket.remoteAddress;else this.remoteAddress=c.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket)this.sendPacket("message",this.server.opts.initialPacket);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return rn("packet received with closed socket");switch(rn(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}rn("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}rn("got pong"),Lo.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){rn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=Lo.setTimeout(()=>{rn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){Lo.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=Lo.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),c=this.onPacket.bind(this),p=this.onDrain.bind(this),a=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",c),this.transport.on("drain",p),this.transport.once("close",a),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",c),n.removeListener("drain",p),n.removeListener("close",a)})}onDrain(){if(this.sentCallbackFn.length>0){rn("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){rn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=Lo.setTimeout(()=>{if(rn("client did not complete upgrade - closing transport"),a(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const c=(f)=>{if(f.type==="ping"&&f.data==="probe")rn("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(p,100);else if(f.type==="upgrade"&&this.readyState!=="closed"){if(rn("got upgrade packet - upgrading"),a(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else a(),n.close()},p=()=>{if(this.transport.name==="polling"&&this.transport.writable)rn("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},a=()=>{this.upgrading=!1,clearInterval(o),Lo.clearTimeout(i),n.removeListener("packet",c),n.removeListener("close",m),n.removeListener("error",x),this.removeListener("close",l)},x=(f)=>{rn("client did not complete upgrade - %s",f),a(),n.close(),n=null},m=()=>{x("transport closed")},l=()=>{x("socket closed")};n.on("packet",c),n.once("close",m),n.once("error",x),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){rn("error triggered by discarded transport")}),this.transport.close(),Lo.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",Lo.clearTimeout(this.pingIntervalTimer),Lo.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},c){if(typeof o==="function")c=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){rn('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const p={type:n,options:o};if(i)p.data=i;if(this.emit("packetCreate",p),this.writeBuffer.push(p),typeof c==="function")this.packetsFn.push(c);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){rn("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const c=i[o];if(this.server.opts.transports.indexOf(c)!==-1)n.push(c)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){rn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{rn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}rn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(rn("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}NA.Socket=jA});var yA=I((m3)=>{function p3(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},c=i||{},p=n.split(";"),a=c.decode||o3;for(var x=0;x<p.length;x++){var m=p[x],l=m.indexOf("=");if(l<0)continue;var f=m.substring(0,l).trim();if(o[f]==null){var $=m.substring(l+1,m.length).trim();if($[0]==='"')$=$.slice(1,-1);o[f]=x3($,a)}}return o}function a3(n,i,o){var c=o||{},p=c.encode||c3;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!Tm.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!Tm.test(a))throw new TypeError("argument val is invalid");var x=n+"="+a;if(c.maxAge!=null){var m=c.maxAge-0;if(isNaN(m)||!isFinite(m))throw new TypeError("option maxAge is invalid");x+="; Max-Age="+Math.floor(m)}if(c.domain){if(!Tm.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!Tm.test(c.path))throw new TypeError("option path is invalid");x+="; Path="+c.path}if(c.expires){if(typeof c.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");x+="; Expires="+c.expires.toUTCString()}if(c.httpOnly)x+="; HttpOnly";if(c.secure)x+="; Secure";if(c.sameSite){var l=typeof c.sameSite==="string"?c.sameSite.toLowerCase():c.sameSite;switch(l){case!0:x+="; SameSite=Strict";break;case"lax":x+="; SameSite=Lax";break;case"strict":x+="; SameSite=Strict";break;case"none":x+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return x}function x3(n,i){try{return i(n)}catch(o){return n}}/*!
|
|
28
|
+
*/var Qa=import.meta.require("crypto"),bf=function(){};bf.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Qa.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Qa.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==c)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>p){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Qa.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Qa.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};bf.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Qa.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};OF=HF.exports=new bf});var xm=I((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});QF.ERROR_PACKET=QF.PACKET_TYPES_REVERSE=QF.PACKET_TYPES=void 0;var Eo=Object.create(null);QF.PACKET_TYPES=Eo;Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";var EF=Object.create(null);QF.PACKET_TYPES_REVERSE=EF;Object.keys(Eo).forEach((n)=>{EF[Eo[n]]=n});var fW={type:"error",data:"parser error"};QF.ERROR_PACKET=fW});var _F=I((bF)=>{Object.defineProperty(bF,"__esModule",{value:!0});bF.encodePacket=void 0;bF.encodePacketToBinary=JW;var wW=xm(),SW=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+VF(i,!0).toString("base64"));return c(wW.PACKET_TYPES[n]+(i||""))};bF.encodePacket=SW;var VF=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},sf;function JW(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(VF(n.data,!1));bF.encodePacket(n,!0,(o)=>{if(!sf)sf=new TextEncoder;i(sf.encode(o))})}});var LF=I((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});jF.decodePacket=void 0;var mm=xm(),AW=(n,i)=>{if(typeof n!=="string")return{type:"message",data:sF(n,i)};let o=n.charAt(0);if(o==="b"){let c=Buffer.from(n.substring(1),"base64");return{type:"message",data:sF(c,i)}}if(!mm.PACKET_TYPES_REVERSE[o])return mm.ERROR_PACKET;return n.length>1?{type:mm.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:mm.PACKET_TYPES_REVERSE[o]}};jF.decodePacket=AW;var sF=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Ua=I(($m)=>{Object.defineProperty($m,"__esModule",{value:!0});$m.decodePayload=$m.decodePacket=$m.encodePayload=$m.encodePacket=$m.protocol=void 0;$m.createPacketEncoderStream=RW;$m.createPacketDecoderStream=KW;var Lf=_F();Object.defineProperty($m,"encodePacket",{enumerable:!0,get:function(){return Lf.encodePacket}});var yf=LF();Object.defineProperty($m,"decodePacket",{enumerable:!0,get:function(){return yf.decodePacket}});var yF=xm(),BF=String.fromCharCode(30),MW=(n,i)=>{let o=n.length,c=new Array(o),p=0;n.forEach((a,x)=>{Lf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(BF))})})};$m.encodePayload=MW;var TW=(n,i)=>{let o=n.split(BF),c=[];for(let p=0;p<o.length;p++){let a=yf.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};$m.decodePayload=TW;function RW(){return new TransformStream({transform(n,i){Lf.encodePacketToBinary(n,(o)=>{let c=o.length,p;if(c<126)p=new Uint8Array(1),new DataView(p.buffer).setUint8(0,c);else if(c<65536){p=new Uint8Array(3);let a=new DataView(p.buffer);a.setUint8(0,126),a.setUint16(1,c)}else{p=new Uint8Array(9);let a=new DataView(p.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(c))}if(n.data&&typeof n.data!=="string")p[0]|=128;i.enqueue(p),i.enqueue(o)})}})}var Nf;function lm(n){return n.reduce((i,o)=>i+o.length,0)}function fm(n,i){if(n[0].length===i)return n.shift();let o=new Uint8Array(i),c=0;for(let p=0;p<i;p++)if(o[p]=n[0][c++],c===n[0].length)n.shift(),c=0;if(n.length&&c<n[0].length)n[0]=n[0].slice(c);return o}function KW(n,i){if(!Nf)Nf=new TextDecoder;let o=[],c=0,p=-1,a=!1;return new TransformStream({transform(x,m){o.push(x);while(!0){if(c===0){if(lm(o)<1)break;let l=fm(o,1);if(a=(l[0]&128)===128,p=l[0]&127,p<126)c=3;else if(p===126)c=1;else c=2}else if(c===1){if(lm(o)<2)break;let l=fm(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(lm(o)<8)break;let l=fm(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(yF.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(lm(o)<p)break;let l=fm(o,p);m.enqueue(yf.decodePacket(a?l:Nf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(yF.ERROR_PACKET);break}}}})}$m.protocol=4});var tF=I((TN,CF)=>{/*! https://mths.be/utf8js v2.1.2 by @mathias */var mc=String.fromCharCode;function hF(n){var i=[],o=0,c=n.length,p,a;while(o<c)if(p=n.charCodeAt(o++),p>=55296&&p<=56319&&o<c)if(a=n.charCodeAt(o++),(a&64512)==56320)i.push(((p&1023)<<10)+(a&1023)+65536);else i.push(p),o--;else i.push(p);return i}function YW(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=mc(c>>>10&1023|55296),c=56320|c&1023;p+=mc(c)}return p}function IF(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Bf(n,i){return mc(n>>i&63|128)}function uW(n,i){if((n&4294967168)==0)return mc(n);var o="";if((n&4294965248)==0)o=mc(n>>6&31|192);else if((n&4294901760)==0){if(!IF(n,i))n=65533;o=mc(n>>12&15|224),o+=Bf(n,6)}else if((n&4292870144)==0)o=mc(n>>18&7|240),o+=Bf(n,12),o+=Bf(n,6);return o+=mc(n&63|128),o}function OW(n,i){i=i||{};var o=i.strict!==!1,c=hF(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=uW(x,o);return m}function Sp(){if(lc>=wm)throw Error("Invalid byte index");var n=vm[lc]&255;if(lc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function HW(n){var i,o,c,p,a;if(lc>wm)throw Error("Invalid byte index");if(lc==wm)return!1;if(i=vm[lc]&255,lc++,(i&128)==0)return i;if((i&224)==192)if(o=Sp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=Sp(),c=Sp(),a=(i&15)<<12|o<<6|c,a>=2048)return IF(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=Sp(),c=Sp(),p=Sp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}var vm,wm,lc;function EW(n,i){i=i||{};var o=i.strict!==!1;vm=hF(n),wm=vm.length,lc=0;var c=[],p;while((p=HW(o))!==!1)c.push(p);return YW(c)}CF.exports={version:"2.1.2",encode:OW,decode:EW}});var nA=I((dF)=>{Object.defineProperty(dF,"__esModule",{value:!0});dF.packets=dF.protocol=void 0;dF.encodePacket=Df;dF.encodeBase64Packet=ZF;dF.decodePacket=hf;dF.decodeBase64Packet=qF;dF.encodePayload=bW;dF.decodePayload=sW;dF.encodePayloadAsBinary=eF;dF.decodePayloadAsBinary=gF;var rF=tF();dF.protocol=3;var QW=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};dF.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var Jp=Object.keys(dF.packets),Jo={type:"error",data:"parser error"},UW=Buffer.concat([]);function Df(n,i,o,c){if(typeof i==="function")c=i,i=null;if(typeof o==="function")c=o,o=null;if(Buffer.isBuffer(n.data))return kF(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return kF({type:n.type,data:If(n.data)},i,c);var p=dF.packets[n.type];if(n.data!==void 0)p+=o?rF.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function kF(n,i,o){if(!i)return ZF(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=dF.packets[n.type],o(Buffer.concat([p,c]))}function ZF(n,i){var o=Buffer.isBuffer(n.data)?n.data:If(n.data),c="b"+dF.packets[n.type];return c+=o.toString("base64"),i(c)}function hf(n,i,o){if(n===void 0)return Jo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return qF(n.slice(1),i);if(o){if(n=VW(n),n===!1)return Jo}if(Number(c)!=c||!Jp[c])return Jo;if(n.length>1)return{type:Jp[c],data:n.slice(1)};else return{type:Jp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:Jp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=If(n);return c=n[0],{type:Jp[c],data:n.slice(1)}}function VW(n){try{n=rF.decode(n,{strict:!1})}catch(i){return!1}return n}function qF(n,i){var o=Jp[n.charAt(0)],c=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var p=new Uint8Array(c.length);for(var a=0;a<p.length;a++)p[a]=c[a];c=p.buffer}return{type:o,data:c}}function bW(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&QW(n))return eF(n,o);if(!n.length)return o("0:");function c(p,a){Df(p,i,!1,function(x){a(null,_W(x))})}PF(n,c,function(p,a){return o(a.join(""))})}function _W(n){return n.length+":"+n}function PF(n,i,o){let c=new Array(n.length),p=0;for(let a=0;a<n.length;a++)i(n[a],(x,m)=>{if(c[a]=m,++p===n.length)o(null,c)})}function sW(n,i,o){if(typeof n!=="string")return gF(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(Jo,0,1);var c="",p,a,x;for(var m=0,l=n.length;m<l;m++){var f=n.charAt(m);if(f!==":"){c+=f;continue}if(c===""||c!=(p=Number(c)))return o(Jo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(Jo,0,1);if(a.length){if(x=hf(a,i,!1),Jo.type===x.type&&Jo.data===x.data)return o(Jo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(Jo,0,1)}function jW(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function NW(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,c=n.length;o<c;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function If(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function eF(n,i){if(!n.length)return i(UW);PF(n,LW,function(o,c){return i(Buffer.concat(c))})}function LW(n,i){function o(c){var p=""+c.length,a;if(typeof c==="string"){a=Buffer.allocUnsafe(p.length+2),a[0]=0;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);return a[a.length-1]=255,i(null,Buffer.concat([a,NW(c)]))}a=Buffer.allocUnsafe(p.length+2),a[0]=1;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);a[a.length-1]=255,i(null,Buffer.concat([a,c]))}Df(n,!0,!0,o)}function gF(n,i,o){if(typeof i==="function")o=i,i=null;var c=n,p=[],a;while(c.length>0){var x="",m=c[0]===0;for(a=1;;a++){if(c[a]===255)break;if(x.length>310)return o(Jo,0,1);x+=""+c[a]}c=c.slice(x.length+1);var l=parseInt(x,10),f=c.slice(1,l+1);if(m)f=jW(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(hf(v,i,!0),a,$)}}});var oA=I((KN,iA)=>{var Ap=1000,Mp=Ap*60,Tp=Mp*60,Ec=Tp*24,ZW=Ec*7,qW=Ec*365.25;iA.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return PW(n);else if(o==="number"&&isFinite(n))return i.long?gW(n):eW(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function PW(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return o*qW;case"weeks":case"week":case"w":return o*ZW;case"days":case"day":case"d":return o*Ec;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Tp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Mp;case"seconds":case"second":case"secs":case"sec":case"s":return o*Ap;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function eW(n){var i=Math.abs(n);if(i>=Ec)return Math.round(n/Ec)+"d";if(i>=Tp)return Math.round(n/Tp)+"h";if(i>=Mp)return Math.round(n/Mp)+"m";if(i>=Ap)return Math.round(n/Ap)+"s";return n+"ms"}function gW(n){var i=Math.abs(n);if(i>=Ec)return Sm(n,i,Ec,"day");if(i>=Tp)return Sm(n,i,Tp,"hour");if(i>=Mp)return Sm(n,i,Mp,"minute");if(i>=Ap)return Sm(n,i,Ap,"second");return n+" ms"}function Sm(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}});var Cf=I((WN,cA)=>{function dW(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=oA(),o.destroy=f,Object.keys(n).forEach(($)=>{o[$]=n[$]}),o.names=[],o.skips=[],o.formatters={};function i($){let v=0;for(let S=0;S<$.length;S++)v=(v<<5)-v+$.charCodeAt(S),v|=0;return o.colors[Math.abs(v)%o.colors.length]}o.selectColor=i;function o($){let v,S=null,M,R;function A(...X){if(!A.enabled)return;let G=A,Y=Number(new Date),E=Y-(v||Y);if(G.diff=E,G.prev=v,G.curr=Y,v=Y,X[0]=o.coerce(X[0]),typeof X[0]!=="string")X.unshift("%O");let s=0;X[0]=X[0].replace(/%([a-zA-Z%])/g,(T,O)=>{if(T==="%%")return"%";s++;let U=o.formatters[O];if(typeof U==="function"){let V=X[s];T=U.call(G,V),X.splice(s,1),s--}return T}),o.formatArgs.call(G,X),(G.log||o.log).apply(G,X)}if(A.namespace=$,A.useColors=o.useColors(),A.color=o.selectColor($),A.extend=c,A.destroy=o.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(M!==o.namespaces)M=o.namespaces,R=o.enabled($);return R},set:(X)=>{S=X}}),typeof o.init==="function")o.init(A);return A}function c($,v){let S=o(this.namespace+(typeof v==="undefined"?":":v)+$);return S.log=this.log,S}function p($){o.save($),o.namespaces=$,o.names=[],o.skips=[];let v,S=(typeof $==="string"?$:"").split(/[\s,]+/),M=S.length;for(v=0;v<M;v++){if(!S[v])continue;if($=S[v].replace(/\*/g,".*?"),$[0]==="-")o.skips.push(new RegExp("^"+$.slice(1)+"$"));else o.names.push(new RegExp("^"+$+"$"))}}function a(){let $=[...o.names.map(m),...o.skips.map(m).map((v)=>"-"+v)].join(",");return o.enable(""),$}function x($){if($[$.length-1]==="*")return!0;let v,S;for(v=0,S=o.skips.length;v<S;v++)if(o.skips[v].test($))return!1;for(v=0,S=o.names.length;v<S;v++)if(o.names[v].test($))return!0;return!1}function m($){return $.toString().substring(2,$.toString().length-2).replace(/\.\*\?$/,"*")}function l($){if($ instanceof Error)return $.stack||$.message;return $}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}cA.exports=dW});var aA=I((pA,Fm)=>{pA.formatArgs=i7;pA.save=o7;pA.load=c7;pA.useColors=n7;pA.storage=p7();pA.destroy=(()=>{let n=!1;return()=>{if(!n)n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();pA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n7(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function i7(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Fm.exports.humanize(this.diff),!this.useColors)return;let i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,c=0;n[0].replace(/%[a-zA-Z%]/g,(p)=>{if(p==="%%")return;if(o++,p==="%c")c=o}),n.splice(c,0,i)}pA.log=console.debug||console.log||(()=>{});function o7(n){try{if(n)pA.storage.setItem("debug",n);else pA.storage.removeItem("debug")}catch(i){}}function c7(){let n;try{n=pA.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function p7(){try{return localStorage}catch(n){}}Fm.exports=Cf()(pA);var{formatters:a7}=Fm.exports;a7.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var mA=I((GN,xA)=>{xA.exports=(n,i)=>{i=i||process.argv;let o=n.startsWith("-")?"":n.length===1?"-":"--",c=i.indexOf(o+n),p=i.indexOf("--");return c!==-1&&(p===-1?!0:c<p)}});var fA=I((zN,lA)=>{var S7=import.meta.require("os"),Fo=mA(),Ti=process.env,Rp;if(Fo("no-color")||Fo("no-colors")||Fo("color=false"))Rp=!1;else if(Fo("color")||Fo("colors")||Fo("color=true")||Fo("color=always"))Rp=!0;if("FORCE_COLOR"in Ti)Rp=Ti.FORCE_COLOR.length===0||parseInt(Ti.FORCE_COLOR,10)!==0;function J7(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function F7(n){if(Rp===!1)return 0;if(Fo("color=16m")||Fo("color=full")||Fo("color=truecolor"))return 3;if(Fo("color=256"))return 2;if(n&&!n.isTTY&&Rp!==!0)return 0;let i=Rp?1:0;if(process.platform==="win32"){let o=S7.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in Ti){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Ti))||Ti.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Ti)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ti.TEAMCITY_VERSION)?1:0;if(Ti.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ti){let o=parseInt((Ti.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ti.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ti.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ti.TERM))return 1;if("COLORTERM"in Ti)return 1;if(Ti.TERM==="dumb")return i;return i}function tf(n){let i=F7(n);return J7(i)}lA.exports={supportsColor:tf,stdout:tf(process.stdout),stderr:tf(process.stderr)}});var SA=I((vA,Mm)=>{var A7=import.meta.require("tty"),Am=import.meta.require("util");vA.init=G7;vA.log=K7;vA.formatArgs=T7;vA.save=W7;vA.load=X7;vA.useColors=M7;vA.destroy=Am.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");vA.colors=[6,2,3,4,5,1];try{let n=fA();if(n&&(n.stderr||n).level>=2)vA.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(n){}vA.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{let o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(p,a)=>{return a.toUpperCase()}),c=process.env[i];if(/^(yes|on|true|enabled)$/i.test(c))c=!0;else if(/^(no|off|false|disabled)$/i.test(c))c=!1;else if(c==="null")c=null;else c=Number(c);return n[o]=c,n},{});function M7(){return"colors"in vA.inspectOpts?Boolean(vA.inspectOpts.colors):A7.isatty(process.stderr.fd)}function T7(n){let{namespace:i,useColors:o}=this;if(o){let c=this.color,p="\x1B[3"+(c<8?c:"8;5;"+c),a=` ${p};1m${i} \x1B[0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(p+"m+"+Mm.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=R7()+i+" "+n[0]}function R7(){if(vA.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function K7(...n){return process.stderr.write(Am.formatWithOptions(vA.inspectOpts,...n)+"\n")}function W7(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function X7(){return process.env.DEBUG}function G7(n){n.inspectOpts={};let i=Object.keys(vA.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=vA.inspectOpts[i[o]]}Mm.exports=Cf()(vA);var{formatters:$A}=Mm.exports;$A.o=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};$A.O=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts)}});var xi=I((uN,kf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)kf.exports=aA();else kf.exports=SA()});var Uc=I((AA)=>{Object.defineProperty(AA,"__esModule",{value:!0});AA.Transport=void 0;var U7=import.meta.require("events"),V7=Ua(),b7=nA(),_7=xi(),JA=_7.default("engine:transport");function s7(){}class FA extends U7.EventEmitter{get readyState(){return this._readyState}set readyState(n){JA("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?V7:b7,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||s7)}onError(n,i){if(this.listeners("error").length){let o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else JA("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}AA.Transport=FA});var rf=I((KA)=>{Object.defineProperty(KA,"__esModule",{value:!0});KA.Polling=void 0;var j7=Uc(),TA=import.meta.require("zlib"),N7=am(),L7=xi(),Di=L7.default("engine:polling"),y7={gzip:TA.createGzip,deflate:TA.createDeflate};class RA extends j7.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){let i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){Di("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}Di("setting request"),this.req=n,this.res=i;let o=()=>{this.onError("poll connection closed prematurely")},c=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=c,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)Di("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}let o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let c=o?Buffer.concat([]):"",p=()=>{n.removeListener("data",x),n.removeListener("end",m),n.removeListener("close",a),this.dataReq=this.dataRes=c=null},a=()=>{p(),this.onError("data request connection closed prematurely")},x=(l)=>{let f;if(o)c=Buffer.concat([c,l]),f=c.length;else c+=l,f=Buffer.byteLength(c);if(f>this.maxHttpBufferSize)i.writeHead(413).end(),p()},m=()=>{this.onData(c);let l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),p()};if(n.on("close",a),!o)n.setEncoding("utf8");n.on("data",x),n.on("end",m)}onData(n){Di('received "%s"',n);let i=(o)=>{if(o.type==="close")return Di("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)Di("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;let i=(o)=>{let c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){Di('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){let c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{a["Content-Length"]=typeof f==="string"?Buffer.byteLength(f):f.length,this.res.writeHead(200,this.headers(this.req,a)),this.res.end(f),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}let l=N7(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeHead(500),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){Di("compressing");let c=[],p=0;y7[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){Di("closing");let i;if(this.dataReq)Di("aborting ongoing data request"),this.dataReq.destroy();let o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)Di("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)Di("transport discarded - closing right away"),o();else Di("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){let o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}KA.Polling=RA});var YA=I((GA)=>{Object.defineProperty(GA,"__esModule",{value:!0});GA.JSONP=void 0;var B7=rf(),D7=import.meta.require("querystring"),h7=/\\\\n/g,I7=/(\\)?\\n/g;class XA extends B7.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=D7.parse(n).d,typeof n==="string")n=n.replace(I7,function(i,o){return o?i:"\n"}),super.onData(n.replace(h7,"\\n"))}doWrite(n,i,o){let c=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+c+this.foot,super.doWrite(n,i,o)}}GA.JSONP=XA});var QA=I((HA)=>{Object.defineProperty(HA,"__esModule",{value:!0});HA.WebSocket=void 0;var C7=Uc(),t7=xi(),uA=t7.default("engine:ws");class OA extends C7.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{let c=o?i:i.toString();uA('received "%s"',c),super.onData(c)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){let o=n[i],c=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,c?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,c?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,c;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((c=n.options)===null||c===void 0?void 0:c.wsPreEncodedFrame)!==void 0}doClose(n){uA("closing"),this.socket.close(),n&&n()}}HA.WebSocket=OA});var Zf=I((VA)=>{Object.defineProperty(VA,"__esModule",{value:!0});VA.WebTransport=void 0;var k7=Uc(),r7=xi(),Z7=Ua(),Kp=r7.default("engine:webtransport");class UA extends k7.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;let c=Z7.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{Kp("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){let{value:p,done:a}=await o.read();if(a){Kp("session is closed");break}Kp("received chunk: %o",p),this.onPacket(p)}}catch(p){Kp("error while reading: %s",p.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){let o=n[i];await this.writer.write(o)}}catch(i){Kp("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){Kp("closing WebTransport session"),this.session.close(),n&&n()}}VA.WebTransport=UA});var qf=I((sA)=>{Object.defineProperty(sA,"__esModule",{value:!0});var q7=rf(),P7=YA(),e7=QA(),g7=Zf();sA.default={polling:_A,websocket:e7.WebSocket,webtransport:g7.WebTransport};function _A(n){if(typeof n._query.j==="string")return new P7.JSONP(n);else return new q7.Polling(n)}_A.upgradesTo=["websocket","webtransport"]});var Pf=I((NA)=>{Object.defineProperty(NA,"__esModule",{value:!0});NA.Socket=void 0;var n3=import.meta.require("events"),i3=xi(),Lo=import.meta.require("timers"),rn=i3.default("engine:socket");class jA extends n3.EventEmitter{get readyState(){return this._readyState}set readyState(n){rn("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,c,p){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=c,this.protocol=p,c)if(c.websocket&&c.websocket._socket)this.remoteAddress=c.websocket._socket.remoteAddress;else this.remoteAddress=c.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket)this.sendPacket("message",this.server.opts.initialPacket);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return rn("packet received with closed socket");switch(rn(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}rn("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}rn("got pong"),Lo.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){rn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=Lo.setTimeout(()=>{rn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){Lo.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=Lo.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){let i=this.onError.bind(this),o=()=>this.flush(),c=this.onPacket.bind(this),p=this.onDrain.bind(this),a=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",c),this.transport.on("drain",p),this.transport.once("close",a),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",c),n.removeListener("drain",p),n.removeListener("close",a)})}onDrain(){if(this.sentCallbackFn.length>0){rn("executing batch send callback");let n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){rn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;let i=Lo.setTimeout(()=>{if(rn("client did not complete upgrade - closing transport"),a(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout),o,c=(f)=>{if(f.type==="ping"&&f.data==="probe")rn("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(p,100);else if(f.type==="upgrade"&&this.readyState!=="closed"){if(rn("got upgrade packet - upgrading"),a(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else a(),n.close()},p=()=>{if(this.transport.name==="polling"&&this.transport.writable)rn("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},a=()=>{this.upgrading=!1,clearInterval(o),Lo.clearTimeout(i),n.removeListener("packet",c),n.removeListener("close",m),n.removeListener("error",x),this.removeListener("close",l)},x=(f)=>{rn("client did not complete upgrade - %s",f),a(),n.close(),n=null},m=()=>{x("transport closed")},l=()=>{x("socket closed")};n.on("packet",c),n.once("close",m),n.once("error",x),this.once("close",l)}clearTransport(){let n,i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){rn("error triggered by discarded transport")}),this.transport.close(),Lo.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",Lo.clearTimeout(this.pingIntervalTimer),Lo.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},c){if(typeof o==="function")c=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){rn('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;let p={type:n,options:o};if(i)p.data=i;if(this.emit("packetCreate",p),this.writeBuffer.push(p),typeof c==="function")this.packetsFn.push(c);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){rn("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){let c=i[o];if(this.server.opts.transports.indexOf(c)!==-1)n.push(c)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){rn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{rn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}rn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(rn("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}NA.Socket=jA});var yA=I((m3)=>{/*!
|
|
29
29
|
* cookie
|
|
30
30
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
31
31
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
32
32
|
* MIT Licensed
|
|
33
|
-
*/m3.parse=p3;m3.serialize=a3;var o3=decodeURIComponent,c3=encodeURIComponent,Tm=/^[\u0009\u0020-\u007e\u0080-\u00ff]
|
|
33
|
+
*/m3.parse=p3;m3.serialize=a3;var o3=decodeURIComponent,c3=encodeURIComponent,Tm=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function p3(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},c=i||{},p=n.split(";"),a=c.decode||o3;for(var x=0;x<p.length;x++){var m=p[x],l=m.indexOf("=");if(l<0)continue;var f=m.substring(0,l).trim();if(o[f]==null){var $=m.substring(l+1,m.length).trim();if($[0]==='"')$=$.slice(1,-1);o[f]=x3($,a)}}return o}function a3(n,i,o){var c=o||{},p=c.encode||c3;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!Tm.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!Tm.test(a))throw new TypeError("argument val is invalid");var x=n+"="+a;if(c.maxAge!=null){var m=c.maxAge-0;if(isNaN(m)||!isFinite(m))throw new TypeError("option maxAge is invalid");x+="; Max-Age="+Math.floor(m)}if(c.domain){if(!Tm.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!Tm.test(c.path))throw new TypeError("option path is invalid");x+="; Path="+c.path}if(c.expires){if(typeof c.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");x+="; Expires="+c.expires.toUTCString()}if(c.httpOnly)x+="; HttpOnly";if(c.secure)x+="; Secure";if(c.sameSite){var l=typeof c.sameSite==="string"?c.sameSite.toLowerCase():c.sameSite;switch(l){case!0:x+="; SameSite=Strict";break;case"lax":x+="; SameSite=Lax";break;case"strict":x+="; SameSite=Strict";break;case"none":x+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return x}function x3(n,i){try{return i(n)}catch(o){return n}}});var hA=I((sN,DA)=>{var BA=Object.getOwnPropertySymbols,$3=Object.prototype.hasOwnProperty,v3=Object.prototype.propertyIsEnumerable;function w3(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function S3(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var c=Object.getOwnPropertyNames(i).map(function(a){return i[a]});if(c.join("")!=="0123456789")return!1;var p={};if("abcdefghijklmnopqrst".split("").forEach(function(a){p[a]=a}),Object.keys(Object.assign({},p)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(a){return!1}}DA.exports=S3()?Object.assign:function(n,i){var o,c=w3(n),p;for(var a=1;a<arguments.length;a++){o=Object(arguments[a]);for(var x in o)if($3.call(o,x))c[x]=o[x];if(BA){p=BA(o);for(var m=0;m<p.length;m++)if(v3.call(o,p[m]))c[p[m]]=o[p[m]]}}return c}});var tA=I((jN,ef)=>{/*!
|
|
34
34
|
* vary
|
|
35
35
|
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
36
36
|
* MIT Licensed
|
|
37
|
-
*/ef.exports=F3;ef.exports.append=CA;var J3=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var gf=I((NN,kA)=>{(function(){var n=hA(),i=tA(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function c(R){return typeof R==="string"||R instanceof String}function p(R,A){if(Array.isArray(A)){for(var X=0;X<A.length;++X)if(p(R,A[X]))return!0;return!1}else if(c(A))return R===A;else if(A instanceof RegExp)return A.test(R);else return!!A}function a(R,A){var X=A.headers.origin,G=[],Y;if(!R.origin||R.origin==="*")G.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))G.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),G.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),G.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),G.push([{key:"Vary",value:"Origin"}]);return G}function x(R){var A=R.methods;if(A.join)A=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:A}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,A){var X=R.allowedHeaders||R.headers,G=[];if(!X)X=A.headers["access-control-request-headers"],G.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)G.push([{key:"Access-Control-Allow-Headers",value:X}]);return G}function f(R){var A=R.exposedHeaders;if(!A)return null;else if(A.join)A=A.join(",");if(A&&A.length)return{key:"Access-Control-Expose-Headers",value:A};return null}function $(R){var A=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(A&&A.length)return{key:"Access-Control-Max-Age",value:A};return null}function v(R,A){for(var X=0,G=R.length;X<G;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,A);else if(Y.key==="Vary"&&Y.value)i(A,Y.value);else if(Y.value)A.setHeader(Y.key,Y.value)}}}function S(R,A,X,G){var Y=[],E=A.method&&A.method.toUpperCase&&A.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,A)),Y.push(m(R,A)),Y.push(x(R,A)),Y.push(l(R,A)),Y.push($(R,A)),Y.push(f(R,A)),v(Y,X),R.preflightContinue)G();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,A)),Y.push(m(R,A)),Y.push(f(R,A)),v(Y,X),G()}function M(R){var A=null;if(typeof R==="function")A=R;else A=function(X,G){G(null,R)};return function X(G,Y,E){A(G,function(s,z){if(s)E(s);else{var T=n({},o,z),O=null;if(T.origin&&typeof T.origin==="function")O=T.origin;else if(T.origin)O=function(U,V){V(null,T.origin)};if(O)O(G.headers.origin,function(U,V){if(U||!V)E(U);else T.origin=V,S(T,G,Y,E)});else E()}})}}kA.exports=M})()});var df=I((dA)=>{function G3(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function PA(n,i,o){const c=i===On.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:On.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function eA(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){const c=o.message||On.errorMessages[i],p=Buffer.byteLength(c);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+p+"\r\n\r\n"+c)}n.destroy()}function z3(n){if(n+="",n.length<1)return!1;if(!Va[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Va[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Va[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Va[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Va[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(dA,"__esModule",{value:!0});dA.Server=dA.BaseServer=void 0;var A3=import.meta.require("querystring"),M3=import.meta.require("url"),rA=_f(),Rm=qf(),T3=import.meta.require("events"),ZA=Pf(),R3=xi(),K3=yA(),W3=import.meta.require("ws"),qA=Zf(),X3=Ua(),vn=R3.default("engine"),Wp=Symbol("responseHeaders");class ba extends T3.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:W3.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(gf()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Rm.default[n].upgradesTo||[]}verify(n,i,o){const c=n._query.transport;if(!~this.opts.transports.indexOf(c)||c==="webtransport")return vn('unknown transport "%s"',c),o(On.errors.UNKNOWN_TRANSPORT,{transport:c});if(z3(n.headers.origin)){const x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(On.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:x})}const a=n._query.sid;if(a){if(!this.clients.hasOwnProperty(a))return vn('unknown sid "%s"',a),o(On.errors.UNKNOWN_SID,{sid:a});const x=this.clients[a].transport.name;if(!i&&x!==c)return vn("bad request: unexpected transport without upgrade"),o(On.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(On.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(On.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(On.errors.FORBIDDEN,{message:x});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return vn("no middleware to apply, skipping"),o();const c=(p)=>{vn("applying middleware n\xB0%d",p+1),this.middlewares[p](n,i,(a)=>{if(a)return o(a);if(p+1<this.middlewares.length)c(p+1);else o()})};c(0)}close(){vn("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return rA.generateId()}async handshake(n,i,o){const c=i._query.EIO==="4"?4:3;if(c===3&&!this.opts.allowEIO3){vn("unsupported protocol version"),this.emit("connection_error",{req:i,code:On.errors.UNSUPPORTED_PROTOCOL_VERSION,message:On.errorMessages[On.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(On.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let p;try{p=await this.generateId(i)}catch(m){vn("error while generating an id"),this.emit("connection_error",{req:i,code:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(On.errors.BAD_REQUEST);return}vn('handshaking client "%s"',p);try{var a=this.createTransport(n,i);if(n==="polling")a.maxHttpBufferSize=this.opts.maxHttpBufferSize,a.httpCompression=this.opts.httpCompression;else if(n==="websocket")a.perMessageDeflate=this.opts.perMessageDeflate}catch(m){vn('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(On.errors.BAD_REQUEST);return}const x=new ZA.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[K3.serialize(this.opts.cookie.name,p,this.opts.cookie)];this.emit("initial_headers",m,l)}this.emit("headers",m,l)}),a.onRequest(i),this.clients[p]=x,this.clientsCount++,x.once("close",()=>{delete this.clients[p],this.clientsCount--}),this.emit("connection",x),a}async onWebTransportSession(n){const i=setTimeout(()=>{vn("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),c=await n.incomingBidirectionalStreams.getReader().read();if(c.done){vn("session is closed");return}const p=c.value,a=X3.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),x=p.readable.pipeThrough(a).getReader(),{value:m,done:l}=await x.read();if(l){vn("stream is closed");return}if(clearTimeout(i),m.type!=="open")return vn("invalid WebTransport handshake"),n.close();if(m.data===void 0){const v=new qA.WebTransport(n,p,x),S=rA.generateId();vn('handshaking client "%s" (WebTransport)',S);const M=new ZA.Socket(S,this,v,null,4);this.clients[S]=M,this.clientsCount++,M.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",M);return}const f=G3(m.data);if(!f)return vn("invalid WebTransport handshake"),n.close();const $=this.clients[f];if(!$)vn("upgrade attempt for closed client"),n.close();else if($.upgrading)vn("transport has already been trying to upgrade"),n.close();else if($.upgraded)vn("transport had already been upgraded"),n.close();else{vn("upgrading existing transport");const v=new qA.WebTransport(n,p,x);$._maybeUpgrade(v)}}}dA.BaseServer=ba;ba.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};ba.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class gA{constructor(n,i){this.req=n,this.socket=i,n[Wp]={}}setHeader(n,i){this.req[Wp][n]=i}getHeader(n){return this.req[Wp][n]}removeHeader(n){delete this.req[Wp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class On extends ba{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on==="function")this.ws.on("headers",(n,i)=>{const o=i[Wp]||{};if(delete i[Wp],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),vn("writing headers: %j",o),Object.keys(o).forEach((p)=>{n.push(`${p}: ${o[p]}`)})})}cleanup(){if(this.ws)vn("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?A3.parse(M3.parse(n.url).query):{}}createTransport(n,i){return new Rm.default[n](i)}handleRequest(n,i){vn('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:On.errorMessages[c],context:p}),PA(i,c,p);return}if(n._query.sid)vn("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const a=(x,m)=>PA(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const c=new gA(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:On.errorMessages[a],context:x}),eA(i,a,x);return}const m=Buffer.from(o);o=null,c.writeHead(),this.ws.handleUpgrade(n,i,m,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,c,(a)=>{if(a)p(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),Rm.default[n._query.transport]!==void 0&&!Rm.default[n._query.transport].prototype.handlesUpgrades){vn("transport doesnt handle upgraded requests"),o.close();return}const c=n._query.sid;if(n.websocket=o,c){const a=this.clients[c];if(!a)vn("upgrade attempt for closed client"),o.close();else if(a.upgrading)vn("transport has already been trying to upgrade"),o.close();else if(a.upgraded)vn("transport had already been upgraded"),o.close();else{vn("upgrading existing transport"),o.removeListener("error",p);const x=this.createTransport(n._query.transport,n);x.perMessageDeflate=this.opts.perMessageDeflate,a._maybeUpgrade(x)}}else{const a=(x,m)=>eA(i,x,m);this.handshake(n._query.transport,n,a)}function p(){vn("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),c=i.destroyUpgradeTimeout||1000;function p(x){return o===x.url.slice(0,o.length)}const a=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(x,m)=>{if(p(x))vn('intercepting request for path "%s"',o),this.handleRequest(x,m);else{let l=0;const f=a.length;for(;l<f;l++)a[l].call(n,x,m)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(x,m,l)=>{if(p(x))this.handleUpgrade(x,m,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(m.writable&&m.bytesWritten<=0)return m.on("error",(f)=>{vn("error while destroying upgrade: %s",f.message)}),m.end()},c)})}}dA.Server=On;var Va=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]});var aM=I((cM)=>{Object.defineProperty(cM,"__esModule",{value:!0});cM.Polling=void 0;var u3=Uc(),iM=import.meta.require("zlib"),O3=am(),H3=xi(),no=H3.default("engine:polling"),E3={gzip:iM.createGzip,deflate:iM.createDeflate};class oM extends u3.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){no("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}no("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},c=()=>{this.req=this.res=null};if(n.cleanup=c,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)no("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let p,a=0;const x={"Content-Type":"text/html"};this.headers(n,x);for(let l in x)i.writeHeader(l,String(x[l]));const m=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,f)=>{const $=a+l.byteLength;if($>o){this.onError("content-length mismatch"),i.close();return}if(!p){if(f){m(Buffer.from(l));return}p=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(p,a),f){if($!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}m(p);return}a=$})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){no('received "%s"',n);const i=(o)=>{if(o.type==="close")return no("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)no("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){no('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{this.headers(this.req,a),this.res.cork(()=>{Object.keys(a).forEach(($)=>{this.res.writeHeader($,String(a[$]))}),this.res.end(f)}),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=O3(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){no("compressing");const c=[];let p=0;E3[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){no("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)no("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)no("transport discarded - closing right away"),o();else no("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}cM.Polling=oM});var $M=I((lM)=>{Object.defineProperty(lM,"__esModule",{value:!0});lM.WebSocket=void 0;var Q3=Uc(),U3=xi(),xM=U3.default("engine:ws");class mM extends Q3.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length,p=(a)=>{const x=typeof a!=="string",m=this.perMessageDeflate&&Buffer.byteLength(a)>this.perMessageDeflate.threshold;if(xM('writing "%s"',a),this.socket.send(a,x,m),c)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")p(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,p)}}doClose(n){xM("closing"),n&&n(),this.socket.end()}}lM.WebSocket=mM});var wM=I((vM)=>{Object.defineProperty(vM,"__esModule",{value:!0});var V3=aM(),b3=$M();vM.default={polling:V3.Polling,websocket:b3.WebSocket}});var MM=I((FM)=>{Object.defineProperty(FM,"__esModule",{value:!0});FM.uServer=void 0;var s3=xi(),Vc=df(),j3=wM(),fc=s3.default("engine:uws");class SM extends Vc.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((c,p)=>{n.headers[c]=p}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{fc("response has been aborted")})}createTransport(n,i){return new j3.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(c)=>{const p=c.getUserData().transport;p.socket=c,p.writable=!0,p.emit("ready")},message:(c,p,a)=>{c.getUserData().transport.onData(a?p:Buffer.from(p).toString())},close:(c,p,a)=>{c.getUserData().transport.onClose(p,a)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new JM(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){fc('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:i,code:c,message:Vc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)fc("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const a=(x,m)=>this.abortRequest(n,x,m);this.handshake(i._query.transport,i,a)}};this._applyMiddlewares(i,n,(c)=>{if(c)o(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){fc("on upgrade"),this.prepare(i,n),i.res=n;const c=async(p,a)=>{if(p!==void 0){this.emit("connection_error",{req:i,code:p,message:Vc.Server.errorMessages[p],context:a}),this.abortRequest(n,p,a);return}const x=i._query.sid;let m;if(x){const l=this.clients[x];if(!l)return fc("upgrade attempt for closed client"),n.close();else if(l.upgrading)return fc("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return fc("transport had already been upgraded"),n.close();else fc("upgrading existing transport"),m=this.createTransport(i._query.transport,i),l._maybeUpgrade(m)}else if(m=await this.handshake(i._query.transport,i,(l,f)=>this.abortRequest(n,l,f)),!m)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:m},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(p)=>{if(p)c(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){const c=i===Vc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Vc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}FM.uServer=SM;class JM{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var XM=I((Xp)=>{function h3(n,i,o){if(typeof i==="function")o=i,i={};const c=N3.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=KM(c,i);return p.httpServer=c,c.listen(n,o),p}function KM(n,i){const o=new TM.Server(i);return o.attach(n,i),o}Object.defineProperty(Xp,"__esModule",{value:!0});Xp.protocol=Xp.Transport=Xp.Socket=Xp.uServer=Xp.parser=Xp.transports=Xp.Server=void 0;Xp.listen=h3;Xp.attach=KM;var N3=import.meta.require("http"),TM=df();Object.defineProperty(Xp,"Server",{enumerable:!0,get:function(){return TM.Server}});var L3=qf();Xp.transports=L3.default;var RM=Ua();Xp.parser=RM;var y3=MM();Object.defineProperty(Xp,"uServer",{enumerable:!0,get:function(){return y3.uServer}});var B3=Pf();Object.defineProperty(Xp,"Socket",{enumerable:!0,get:function(){return B3.Socket}});var D3=Uc();Object.defineProperty(Xp,"Transport",{enumerable:!0,get:function(){return D3.Transport}});Xp.protocol=RM.protocol});var GM=I((Z3)=>{function Oi(n){if(n)return r3(n)}function r3(n){for(var i in Oi.prototype)n[i]=Oi.prototype[i];return n}Z3.Emitter=Oi;Oi.prototype.on=Oi.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};Oi.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};Oi.prototype.off=Oi.prototype.removeListener=Oi.prototype.removeAllListeners=Oi.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var c;for(var p=0;p<o.length;p++)if(c=o[p],c===i||c.fn===i){o.splice(p,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};Oi.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var c=1;c<arguments.length;c++)i[c-1]=arguments[c];if(o){o=o.slice(0);for(var c=0,p=o.length;c<p;++c)o[c].apply(this,i)}return this};Oi.prototype.emitReserved=Oi.prototype.emit;Oi.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};Oi.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var n$=I((uM)=>{function YM(n){return P3&&(n instanceof ArrayBuffer||e3(n))||g3&&n instanceof Blob||d3&&n instanceof File}function Km(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(Km(n[o]))return!0;return!1}if(YM(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return Km(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&Km(n[o]))return!0;return!1}Object.defineProperty(uM,"__esModule",{value:!0});uM.hasBinary=uM.isBinary=void 0;var P3=typeof ArrayBuffer==="function",e3=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},zM=Object.prototype.toString,g3=typeof Blob==="function"||typeof Blob!=="undefined"&&zM.call(Blob)==="[object BlobConstructor]",d3=typeof File==="function"||typeof File!=="undefined"&&zM.call(File)==="[object FileConstructor]";uM.isBinary=YM;uM.hasBinary=Km});var QM=I((HM)=>{function oX(n){const i=[],o=n.data,c=n;return c.data=i$(o,i),c.attachments=i.length,{packet:c,buffers:i}}function i$(n,i){if(!n)return n;if(iX.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let c=0;c<n.length;c++)o[c]=i$(n[c],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let c in n)if(Object.prototype.hasOwnProperty.call(n,c))o[c]=i$(n[c],i);return o}return n}function cX(n,i){return n.data=o$(n.data,i),delete n.attachments,n}function o$(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=o$(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=o$(n[o],i)}return n}Object.defineProperty(HM,"__esModule",{value:!0});HM.reconstructPacket=HM.deconstructPacket=void 0;var iX=n$();HM.deconstructPacket=oX;HM.reconstructPacket=cX});var _a=I((NM)=>{function UM(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(NM,"__esModule",{value:!0});NM.Decoder=NM.Encoder=NM.PacketType=NM.protocol=void 0;var aX=GM(),bM=QM(),_M=n$(),xX=xi(),c$=xX.default("socket.io-parser"),mX=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];NM.protocol=5;var tn;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(tn=NM.PacketType||(NM.PacketType={}));class sM{constructor(n){this.replacer=n}encode(n){if(c$("encoding packet %j",n),n.type===tn.EVENT||n.type===tn.ACK){if(_M.hasBinary(n))return this.encodeAsBinary({type:n.type===tn.EVENT?tn.BINARY_EVENT:tn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===tn.BINARY_EVENT||n.type===tn.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return c$("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=bM.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}NM.Encoder=sM;class p$ extends aX.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===tn.BINARY_EVENT;if(o||i.type===tn.BINARY_ACK){if(i.type=o?tn.EVENT:tn.ACK,this.reconstructor=new jM(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(_M.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(tn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===tn.BINARY_EVENT||o.type===tn.BINARY_ACK){const p=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const a=n.substring(p,i);if(a!=Number(a)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(a)}if(n.charAt(i+1)==="/"){const p=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(p,i)}else o.nsp="/";const c=n.charAt(i+1);if(c!==""&&Number(c)==c){const p=i+1;while(++i){const a=n.charAt(i);if(a==null||Number(a)!=a){--i;break}if(i===n.length)break}o.id=Number(n.substring(p,i+1))}if(n.charAt(++i)){const p=this.tryParse(n.substr(i));if(p$.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return c$("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case tn.CONNECT:return UM(i);case tn.DISCONNECT:return i===void 0;case tn.CONNECT_ERROR:return typeof i==="string"||UM(i);case tn.EVENT:case tn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&mX.indexOf(i[0])===-1);case tn.ACK:case tn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}NM.Decoder=p$;class jM{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=bM.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var hM=I((BM)=>{Object.defineProperty(BM,"__esModule",{value:!0});BM.Client=void 0;var Wm=_a(),$X=xi(),vX=import.meta.require("url"),Ao=$X("socket.io:client");class yM{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{if(this.nsps.size===0)Ao("no namespace joined yet, close the client"),this.close();else Ao("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Ao("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Ao("creation of namespace %s was denied",n),this._packet({type:Wm.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(c)=>{if(this.sockets.set(c.id,c),this.nsps.set(o.name,c),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else Ao("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Ao("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Ao("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){Ao("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let c of o)this.conn.write(c,i)}ondata(n){try{this.decoder.add(n)}catch(i){Ao("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const p=vX.parse(n.nsp,!0);i=p.pathname,o=p.query}else i=n.nsp,o=n.data;const c=this.nsps.get(i);if(!c&&n.type===Wm.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==Wm.PacketType.CONNECT&&n.type!==Wm.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Ao("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){Ao("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0}}BM.Client=yM});var Xm=I((CM)=>{Object.defineProperty(CM,"__esModule",{value:!0});CM.StrictEventEmitter=void 0;var wX=import.meta.require("events");class IM extends wX.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}CM.StrictEventEmitter=IM});var a$=I((kM)=>{Object.defineProperty(kM,"__esModule",{value:!0});kM.RESERVED_EVENTS=void 0;kM.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var m$=I((ZM)=>{Object.defineProperty(ZM,"__esModule",{value:!0});ZM.RemoteSocket=ZM.BroadcastOperator=void 0;var SX=a$(),JX=_a();class yo{constructor(n,i=new Set,o=new Set,c={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=c}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new yo(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new yo(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(SX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:JX.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const a=o.pop();let x=!1,m=[];const l=setTimeout(()=>{x=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:m])},this.flags.timeout);let f=-1,$=0,v=0;const S=()=>{if(!x&&f===$&&m.length===v)clearTimeout(l),a.apply(this,[null,this.flags.expectSingleResponse?m[0]:m])};return this.adapter.broadcastWithAck(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(M)=>{v+=M,$++,S()},(M)=>{m.push(M),S()}),this.adapter.serverCount().then((M)=>{f=M,S()}),!0}emitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.emit(n,...i)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((n)=>{return n.map((i)=>{if(i.server)return i;else return new x$(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}ZM.BroadcastOperator=yo;class x${constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new yo(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}ZM.RemoteSocket=x$});var l$=I((Gp)=>{function eM(){}var gM=Gp&&Gp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Gp,"__esModule",{value:!0});Gp.Socket=void 0;var io=_a(),AX=gM(xi()),MX=Xm(),PM=gM(_f()),TX=m$(),RX=a$(),Ri=AX.default("socket.io:socket"),KX=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class dM extends MX.StrictEventEmitter{constructor(n,i,o,c){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,c)this.id=c.sid,this.pid=c.pid,c.rooms.forEach((p)=>this.join(p)),this.data=c.data,c.missedPackets.forEach((p)=>{this.packet({type:io.PacketType.EVENT,data:p})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=PM.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=PM.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",eM)}buildHandshake(n){var i,o,c,p;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(c=this.request)===null||c===void 0?void 0:c.url,query:((p=this.request)===null||p===void 0?void 0:p._query)||{},auth:n}}emit(n,...i){if(RX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:io.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const a=this.nsp._ids++;Ri("emitting packet with ack id %d",a),this.registerAckCallback(a,o.pop()),c.id=a}const p=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(c,{rooms:new Set([this.id]),except:new Set,flags:p});else this.notifyOutgoingListeners(c),this.packet(c,p);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((c,p)=>{i.push((a,x)=>{if(o)return a?p(a):c(x);else return c(a)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const c=setTimeout(()=>{Ri("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...p)=>{clearTimeout(c),i.apply(this,[null,...p])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return Ri("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Ri("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Ri("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:io.PacketType.CONNECT});else this.packet({type:io.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Ri("got packet %j",n),n.type){case io.PacketType.EVENT:this.onevent(n);break;case io.PacketType.BINARY_EVENT:this.onevent(n);break;case io.PacketType.ACK:this.onack(n);break;case io.PacketType.BINARY_ACK:this.onack(n);break;case io.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(Ri("emitting event %j",i),n.id!=null)Ri("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let c of o)c.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const c=Array.prototype.slice.call(arguments);Ri("sending ack %j",c),i.packet({id:n,type:io.PacketType.ACK,data:c}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")Ri("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Ri("bad ack %s",n.id)}ondisconnect(){Ri("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Ri("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&KX.has(n))Ri("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data});this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=eM}_error(n){this.packet({type:io.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:io.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){Ri("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else Ri("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new TX.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Gp.Socket=dM});var f$=I((Bo)=>{var WX=Bo&&Bo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.Namespace=Bo.RESERVED_EVENTS=void 0;var nT=l$(),XX=Xm(),GX=WX(xi()),hi=m$(),sa=GX.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class iT extends XX.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}to(n){return new hi.BroadcastOperator(this.adapter).to(n)}in(n){return new hi.BroadcastOperator(this.adapter).in(n)}except(n){return new hi.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;sa("adding socket to nsp %s",this.name);const p=await this._createSocket(n,i);if(this._preConnectSockets.set(p.id,p),((c=this.server.opts.connectionStateRecovery)===null||c===void 0?void 0:c.skipMiddlewares)&&p.recovered&&n.conn.readyState==="open")return this._doConnect(p,o);this.run(p,(a)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){sa("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(sa("middleware error, sending CONNECT_ERROR packet to the client"),p._cleanup(),n.conn.protocol===3)return p._error(a.data||a.message);else return p._error({message:a.message,data:a.data});this._doConnect(p,o)})})}async _createSocket(n,i){const{pid:o,offset:c}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof c==="string"){let p;try{p=await this.adapter.restoreSession(o,c)}catch(a){sa("error while restoring session: %s",a)}if(p)return sa("connection state recovered for sid %s",p.sid),new nT.Socket(this,n,i,p)}return new nT.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new hi.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(Bo.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new hi.BroadcastOperator(this.adapter).allSockets()}compress(n){return new hi.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new hi.BroadcastOperator(this.adapter).volatile}get local(){return new hi.BroadcastOperator(this.adapter).local}timeout(n){return new hi.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new hi.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new hi.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new hi.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new hi.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=iT});var lT=I((xT)=>{function $$(n){let i="";do i=pT[n%Gm]+i,n=Math.floor(n/Gm);while(n>0);return i}function zX(n){let i=0;for($c=0;$c<n.length;$c++)i=i*Gm+aT[n.charAt($c)];return i}function YX(){const n=$$(+new Date);if(n!==cT)return oT=0,cT=n;return n+"."+$$(oT++)}Object.defineProperty(xT,"__esModule",{value:!0});xT.yeast=xT.decode=xT.encode=void 0;var pT="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gm=64,aT={},oT=0,$c=0,cT;xT.encode=$$;xT.decode=zX;xT.yeast=YX;for(;$c<Gm;$c++)aT[pT[$c]]=$c});var S$=I(($T)=>{function UX(n,i){const o=i.rooms.size===0||n.some((p)=>i.rooms.has(p)),c=n.every((p)=>!i.except.has(p));return o&&c}var v$;Object.defineProperty($T,"__esModule",{value:!0});$T.SessionAwareAdapter=$T.Adapter=void 0;var HX=import.meta.require("events"),EX=lT(),zm=import.meta.require("ws"),QX=typeof((v$=zm===null||zm===void 0?void 0:zm.Sender)===null||v$===void 0?void 0:v$.frame)==="function";class w$ extends HX.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},c={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const p=this._encode(n,c);this.apply(i,(a)=>{if(typeof a.notifyOutgoingListeners==="function")a.notifyOutgoingListeners(n);a.client.writeToEngine(p,c)})}broadcastWithAck(n,i,o,c){const p=i.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const x=this._encode(n,a);let m=0;this.apply(i,(l)=>{if(m++,l.acks.set(n.id,c),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(x,a)}),o(m)}_encode(n,i){const o=this.encoder.encode(n);if(QX&&o.length===1&&typeof o[0]==="string"){const c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=zm.Sender.frame(c,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((c)=>o.leave(c))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,c=this.computeExceptSids(n.except);if(o.size){const p=new Set;for(let a of o){if(!this.rooms.has(a))continue;for(let x of this.rooms.get(a)){if(p.has(x)||c.has(x))continue;const m=this.nsp.sockets.get(x);if(m)i(m),p.add(x)}}}else for(let[p]of this.sids){if(c.has(p))continue;const a=this.nsp.sockets.get(p);if(a)i(a)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((c)=>i.add(c))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}$T.Adapter=w$;class fT extends w${constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((c,p)=>{if(c.disconnectedAt<o)this.sessions.delete(p)});for(let c=this.packets.length-1;c>=0;c--)if(this.packets[c].emittedAt<o){this.packets.splice(0,c+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const p=this.packets.findIndex((x)=>x.id===i);if(p===-1)return null;const a=[];for(let x=p+1;x<this.packets.length;x++){const m=this.packets[x];if(UX(o.rooms,m.opts))a.push(m.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:a}))}broadcast(n,i){var o;const c=n.type===2,p=n.id===void 0,a=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(c&&p&&a){const x=EX.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}$T.SessionAwareAdapter=fT});var ST=I((Mo)=>{function Yp(){return jX.randomBytes(8).toString("hex")}function bc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function zp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var bX=Mo&&Mo.__rest||function(n,i){var o={};for(var c in n)if(Object.prototype.hasOwnProperty.call(n,c)&&i.indexOf(c)<0)o[c]=n[c];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var p=0,c=Object.getOwnPropertySymbols(n);p<c.length;p++)if(i.indexOf(c[p])<0&&Object.prototype.propertyIsEnumerable.call(n,c[p]))o[c[p]]=n[c[p]]}return o};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.ClusterAdapterWithHeartbeat=Mo.ClusterAdapter=Mo.MessageType=void 0;var _X=S$(),sX=xi(),jX=import.meta.require("crypto"),Zn=sX.debug("socket.io-adapter"),NX="emitter",Ym=5000,cn;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(cn=Mo.MessageType||(Mo.MessageType={}));class J$ extends _X.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Yp()}onMessage(n,i){if(n.uid===this.uid)return Zn("[%s] ignore message from self",this.uid);switch(Zn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,zp(n.data.opts),(c)=>{Zn("[%s] waiting for %d client acknowledgements",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:c}})},(c)=>{Zn("[%s] received acknowledgement with value %j",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:c}})});else{const c=n.data.packet,p=zp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(zp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(zp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(zp(n.data.opts),n.data.close);break;case cn.FETCH_SOCKETS:{Zn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(zp(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:cn.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((c)=>{const p=c.handshake,{sessionStore:a}=p,x=bX(p,["sessionStore"]);return{id:c.id,handshake:x,rooms:[...c.rooms],data:c.data}})}})});break}case cn.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let p=!1;const a=(x)=>{if(p)return;p=!0,Zn("[%s] calling acknowledgement with %j",this.uid,x),this.publishResponse(n.uid,{type:cn.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:x}})};this.nsp._onServerSideEmit([...o,a]);break}case cn.BROADCAST_CLIENT_COUNT:case cn.BROADCAST_ACK:case cn.FETCH_SOCKETS_RESPONSE:case cn.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:Zn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const c=n.data.requestId;switch(Zn("[%s] received response %s to request %s",this.uid,n.type,c),n.type){case cn.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(c))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case cn.BROADCAST_ACK:{(o=this.ackRequests.get(c))===null||o===void 0||o.ack(n.data.packet);break}case cn.FETCH_SOCKETS_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,n.data.sockets.forEach((a)=>p.responses.push(a)),p.current===p.expected)clearTimeout(p.timeout),p.resolve(p.responses),this.requests.delete(c);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,p.responses.push(n.data.packet),p.current===p.expected)clearTimeout(p.timeout),p.resolve(null,p.responses),this.requests.delete(c);break}default:Zn("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const p=await this.publishAndReturnOffset({type:cn.BROADCAST,data:{packet:n,opts:bc(i)}});this.addOffsetIfNecessary(n,i,p)}catch(p){return Zn("[%s] error while broadcasting message: %s",this.uid,p.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var c;if(!this.nsp.server.opts.connectionStateRecovery)return;const p=n.type===2,a=n.id===void 0,x=((c=i.flags)===null||c===void 0?void 0:c.volatile)===void 0;if(p&&a&&x)n.data.push(o)}broadcastWithAck(n,i,o,c){var p;if(!((p=i===null||i===void 0?void 0:i.flags)===null||p===void 0?void 0:p.local)){const x=Yp();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:bc(i)}}),setTimeout(()=>{this.ackRequests.delete(x)},i.flags.timeout)}super.broadcastWithAck(n,i,o,c)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_JOIN,data:{opts:bc(n),rooms:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_LEAVE,data:{opts:bc(n),rooms:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.DISCONNECT_SOCKETS,data:{opts:bc(n),close:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets(n),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Yp();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.requests.get(a);if($)m(new Error(`timeout reached: only ${$.current} responses received out of ${$.expected}`)),this.requests.delete(a)},n.flags.timeout||Ym),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,current:0,expected:p,responses:o};this.requests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:bc(n),requestId:a}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=await this.serverCount()-1;if(Zn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Yp(),a=setTimeout(()=>{const m=this.requests.get(p);if(m)o(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`),m.responses),this.requests.delete(p)},Ym),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,current:0,expected:c,responses:[]};this.requests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{Zn("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{Zn("[%s] error while publishing response: %s",this.uid,o)})}}Mo.ClusterAdapter=J$;class wT extends J${constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((c,p)=>{if(o-c>this._opts.heartbeatTimeout)Zn("[%s] node %s seems down",this.uid,p),this.removeNode(p)})},1000)}init(){this.publish({type:cn.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:cn.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:cn.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return Zn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==NX)this.nodesMap.set(n.uid,Date.now());switch(Zn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.INITIAL_HEARTBEAT:this.publish({type:cn.HEARTBEAT});break;case cn.HEARTBEAT:break;case cn.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=this.nodesMap.size;if(Zn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Yp(),a=setTimeout(()=>{const m=this.customRequests.get(p);if(m)o(new Error(`timeout reached: missing ${m.missingUids.size} responses`),m.responses),this.customRequests.delete(p)},Ym),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Yp();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.customRequests.get(a);if($)m(new Error(`timeout reached: missing ${$.missingUids.size} responses`)),this.customRequests.delete(a)},n.flags.timeout||Ym),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:bc(n),requestId:a}})})}onResponse(n){const i=n.data.requestId;switch(Zn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case cn.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((c)=>o.responses.push(c)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===cn.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===cn.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Mo.ClusterAdapterWithHeartbeat=wT});var um=I((_c)=>{Object.defineProperty(_c,"__esModule",{value:!0});_c.MessageType=_c.ClusterAdapterWithHeartbeat=_c.ClusterAdapter=_c.SessionAwareAdapter=_c.Adapter=void 0;var JT=S$();Object.defineProperty(_c,"Adapter",{enumerable:!0,get:function(){return JT.Adapter}});Object.defineProperty(_c,"SessionAwareAdapter",{enumerable:!0,get:function(){return JT.SessionAwareAdapter}});var F$=ST();Object.defineProperty(_c,"ClusterAdapter",{enumerable:!0,get:function(){return F$.ClusterAdapter}});Object.defineProperty(_c,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return F$.ClusterAdapterWithHeartbeat}});Object.defineProperty(_c,"MessageType",{enumerable:!0,get:function(){return F$.MessageType}})});var TT=I((up)=>{var yX=up&&up.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(up,"__esModule",{value:!0});up.ParentNamespace=void 0;var FT=f$(),BX=um(),DX=yX(xi()),AT=DX.default("socket.io:parent-namespace");class Om extends FT.Namespace{constructor(n){super(n,"/_"+Om.count++);this.children=new Set}_initAdapter(){this.adapter=new MT(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){AT("creating child namespace %s",n);const i=new FT.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(c)=>{if(o.call(i,c),i.sockets.size===0)AT("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}up.ParentNamespace=Om;Om.count=0;class MT extends BX.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var zT=I((jc)=>{function CX(n){sc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);WT.call(this,i,o);const p=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!p)return;if(p.conn.transport.name==="websocket"){KT(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)KT(this.nsp.name,p,c,a)})},sc.Adapter.prototype.del=function(i,o){XT.call(this,i,o);const c=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(c&&c.conn.transport.name==="websocket"){const p=c.conn.id,a=c.conn.transport.socket,x=`${this.nsp.name}${A$}${o}`;Hm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},sc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){GT.call(this,i,o);return}const p=o.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};i.nsp=this.nsp.name;const x=this.encoder.encode(i),m=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${A$}${o.rooms.keys().next().value}`;Hm("fast publish to %s",m),x.forEach((l)=>{const f=typeof l!=="string";n.publish(m,f?l:"4"+l,f)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(x,a)})}}function KT(n,i,o,c){const p=i.conn.id,a=i.conn.transport.socket;if(o)Hm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{const m=`${n}${A$}${x}`;Hm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function tX(){sc.Adapter.prototype.addAll=WT,sc.Adapter.prototype.del=XT,sc.Adapter.prototype.broadcast=GT}function rX(n,i){const{size:o}=RT.statSync(i),c=RT.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{const l=kX(m);n.cork(()=>{const f=n.getWriteOffset(),[$,v]=n.tryEnd(l,o);if(!v&&!$)c.pause(),n.onWritable((S)=>{const[M,R]=n.tryEnd(l.slice(S-f),o);if(!R&&M)c.resume();return M})})};n.onAborted(p),c.on("data",x).on("error",a).on("end",p)}var hX=jc&&jc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(jc,"__esModule",{value:!0});jc.patchAdapter=CX;jc.restoreAdapter=tX;jc.serveFile=rX;var sc=um(),RT=import.meta.require("fs"),IX=hX(xi()),Hm=IX.default("socket.io:adapter-uws"),A$="\x1F",{addAll:WT,del:XT,broadcast:GT}=sc.Adapter.prototype,kX=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var YT=I((JL,ZX)=>{ZX.exports={name:"socket.io",version:"4.8.0",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":"prettier --check \"lib/**/*.ts\" \"test/**/*.ts\"","format:fix":"prettier --write \"lib/**/*.ts\" \"test/**/*.ts\"",prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.3.2","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var _T=I((Ki,ja)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",qX=Ki&&Ki.__createBinding||(Object.create?function(n,i,o,c){if(c===void 0)c=o;var p=Object.getOwnPropertyDescriptor(i,o);if(!p||("get"in p?!i.__esModule:p.writable||p.configurable))p={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,c,p)}:function(n,i,o,c){if(c===void 0)c=o;n[c]=i[o]}),PX=Ki&&Ki.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),eX=Ki&&Ki.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))qX(i,n,o)}return PX(i,n),i},VT=Ki&&Ki.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Namespace=Ki.Socket=Ki.Server=void 0;var gX=import.meta.require("http"),dX=import.meta.require("fs"),M$=import.meta.require("zlib"),n5=am(),Em=import.meta.require("stream"),uT=import.meta.require("path"),OT=XM(),i5=hM(),HT=import.meta.require("events"),R$=f$();Object.defineProperty(Ki,"Namespace",{enumerable:!0,get:function(){return R$.Namespace}});var o5=TT(),ET=um(),c5=eX(_a()),p5=VT(xi()),bT=l$();Object.defineProperty(Ki,"Socket",{enumerable:!0,get:function(){return bT.Socket}});var a5=Xm(),T$=zT(),x5=VT(gf()),bi=p5.default("socket.io:server"),QT=YT().version,UT=/\.map/;class Op extends a5.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||c5,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||ET.SessionAwareAdapter);else this.adapter(i.adapter||ET.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=x5.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const c=this.parentNsps.keys(),p=()=>{const a=c.next();if(a.done)return o(!1);a.value(n,i,(x,m)=>{if(x||!m)return p();if(this._nsps.has(n))return bi("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(a.value).createChild(n);bi("dynamic namespace %s was created",n),o(l)})};p()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){bi("creating http server and binding to %d",n);const o=n;n=gX.createServer((c,p)=>{p.writeHead(404),p.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,bi("creating uWebSockets.js-based engine with opts %j",i);const o=new OT.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(c,p)=>{if(!this.clientPathRegex.test(p.getUrl())){p.setYield(!0);return}const a=p.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),x=UT.test(a),m=x?"map":"source",l='"'+QT+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){bi("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}bi("serve client %s",m),c.writeHeader("cache-control","public, max-age=0"),c.writeHeader("content-type","application/"+(x?"json":"javascript")+"; charset=utf-8"),c.writeHeader("etag",l);const v=uT.join(__dirname,"../client-dist/",a);T$.serveFile(c,v)});T$.patchAdapter(n)}initEngine(n,i){if(bi("creating engine.io instance with opts %j",i),this.eio=OT.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){bi("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,c)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,c,()=>{this.serve(o,c)});else this.serve(o,c);else for(let p=0;p<i.length;p++)i[p].call(n,o,c)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),c=UT.test(o),p=c?"map":"source",a='"'+QT+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){bi("serve client %s 304",p),i.writeHead(304),i.end();return}}bi("serve client %s",p),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(c?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",a),Op.sendFile(o,n,i)}static sendFile(n,i,o){const c=dX.createReadStream(uT.join(__dirname,"../client-dist/",n)),p=n5(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),Em.pipeline(c,M$.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Em.pipeline(c,M$.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Em.pipeline(c,M$.createDeflate(),o,a);break;default:o.writeHead(200),Em.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){bi("incoming connection with id %s",n.id);const i=new i5.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const c=new o5.ParentNamespace(this);if(bi("initializing parent namespace %s",c.name),typeof n==="function")this.parentNsps.set(n,c);else this.parentNsps.set((p,a,x)=>x(null,n.test(p)),c),this.parentNamespacesFromRegExp.set(n,c);if(i)c.on("connect",i);return c}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[c,p]of this.parentNamespacesFromRegExp)if(c.test(n))return bi("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(bi("initializing namespace %s",n),o=new R$.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),T$.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}Ki.Server=Op;var m5=Object.keys(HT.EventEmitter.prototype).filter(function(n){return typeof HT.EventEmitter.prototype[n]==="function"});m5.forEach(function(n){Op.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});ja.exports=(n,i)=>new Op(n,i);ja.exports.Server=Op;ja.exports.Namespace=R$.Namespace;ja.exports.Socket=bT.Socket});import{createHash as LR}from"crypto";import*as BR from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class dp extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((c,p)=>{i=c,o=p});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}function Kv(n){return Object.entries(n)}var Wv=(n,i,o=on.STORE)=>{return na(o,{key:`${n.key}:JSON`,get:({get:c})=>i.toJson(c(n)),set:({set:c},p)=>{c(n,i.fromJson(p))}})};function b(n){while(n.child!==null)n=n.child;return n}function Xv(n){while(n.parent!==null)n=n.parent;return n}class an{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class xl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function to(n,i,o){const c={key:i.key,type:"atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=i.default,R={key:v,default:M instanceof Function?M(l):M};if(i.effects)R.effects=i.effects(l);const A=ko(S,R,$);return a.next({type:"state_creation",token:A}),A},c,{subject:a,install:(l)=>to(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Gv(n,i){if("mutable"in i)return ia(n,i);return to(n,i)}function ro(n,i,o){const c={key:i.key,type:"readonly_selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=oa(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:M}),M},c,{internalRoles:o,subject:a,install:(l)=>ro(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>Pn(n,$)})}});return n.families.set(i.key,m),c}function ml(n,i){if("set"in i)return ca(n,i);return ro(n,i)}function ec(n,i){const o=e(i),c=`${n.key}(${o})`,p=B4[n.type],a={key:c,type:p};if(p==="molecule")Object.assign(a,{key:i,family:n});else Object.assign(a,{family:{key:n.key,subKey:o}});return Object.assign(a,{counterfeit:!0}),a}var B4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ti(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return zv(on.STORE,n)}function Mc(n){return Gv(on.STORE,n)}var ll=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},D4={error:ll("error"),info:ll("info"),warn:ll("warn")};class pa{n;i;o;constructor(n,i,o=D4){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)}}function ax(n){return ml(on.STORE,n)}function Tc(n){return fl(n,on.STORE)}class ji{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),c=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(c)c.add(n);else c=new Set([n]),this.relations.set(i,c)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const c=this.relations.get(i);if(c){if(c.delete(n),c.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const c=new Set([n]);this.relations.set(o,c)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let c of o){const p=this.relations.get(c);if(p){if(p.size===1)this.relations.delete(c);else p.delete(n);this.contents.delete(this.makeContentKey(n,c))}}this.relations.set(n,new Set(i));for(let c of i){let p=this.relations.get(c);if(p)p.add(n);else p=new Set([n]),this.relations.set(c,p)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,c])=>[o,new Set(c)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(c,p)=>o.has(c,p),this.addRelation=(c,p)=>{o.addRelation(c,p)},this.deleteRelation=(c,p)=>{o.deleteRelation(c,p)},this.replaceRelationsSafely=(c,p)=>{o.replaceRelationsSafely(c,p)},this.replaceRelationsUnsafely=(c,p)=>{o.replaceRelationsUnsafely(c,p)},this.getRelatedKeys=(c)=>o.getRelatedKeys(c),o.getContent)this.getContentInternal=(c)=>{return o.getContent(c)},this.setContent=(c,p)=>{o.setContent(c,p)},this.deleteContent=(c)=>{o.deleteContent(c)};for(let[c,p]of n.relations??[])for(let a of p)this.addRelation(c,a);for(let[c,p]of n.contents??[])this.setContent(c,p)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],c=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const p=this.getRelatedKey(n);if(p&&p!==o)this.delete(p,n)}case"1:n":{const p=this.getRelatedKey(o);if(p&&p!==n)this.delete(p,o)}}if(c){const p=this.makeContentKey(n,o);this.setContent(p,c)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const c=this.getRelatedKeys(i);if(c)for(let p of c)this.delete(p,i)}if(typeof o==="string"&&i===void 0){const c=this.getRelatedKeys(o);if(c)for(let p of c)this.delete(o,p)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const c=this.makeContentKey(o,i);this.deleteContent(c)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const c=!Array.isArray(i),p=c?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,p);else this.replaceRelationsSafely(n,p);if(c)for(let a of p){const x=this.makeContentKey(n,a),m=i[a];this.setContent(x,m)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const c=this.getRelatedKeys(i);if(c)return[...c].map((p)=>{return[p,this.getContent(i,p)??null]})}if(i===void 0&&o!==void 0){const c=this.getRelatedKeys(o);if(c)return[...c].map((p)=>{return[p,this.getContent(p,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function kn(n){return"epoch"in n.transactionMeta}function Fn(n){return"phase"in n.transactionMeta}var Yv=(n)=>{const i=b(n);if(!Fn(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function xo(n){return n.type.split("_").map(h4).join(" ")}var h4=(n)=>n[0].toUpperCase()+n.slice(1);class Qi extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${xo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{const c=n[1];super(`${xo(i)} "${i.key}" member ${e(c)} not found in store "${o.config.name}".`)}}}function qo(n,i,o){return(...c)=>{const p=d(n,o);if(p)return p.run(c,i);throw new Qi(n,o)}}var xx=(n)=>(i)=>n instanceof Function?n(i):n;var Po=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),uv(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var Ov=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!Fn(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Hv=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},Ev=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},gc=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var Qv=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var $l=(n,i)=>{const o=b(i),c=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,c?`evicting ${c.size} states downstream:`:"no downstream states",c??"to evict"),c){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let p of c){if(Ev(o,p))continue;Uv(p,o),gc(o,p)}}};function I4(n,i){if(bv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Vv=(n,i,o)=>{const{key:c}=n,p=b(o);if(!Fn(p)||p.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",c,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!I4(c,i))return;const x={type:"atom_update",key:c,...i};if(n.family)x.family=n.family;p.transactionMeta.update.updates.push(x),o.logger.info("\uD83D\uDCC1","atom",c,"stowed (",i.oldValue,"->",i.newValue,")")};var _v=(n,i,o)=>{const c=Po(n,o);let p=c;if(n.type==="mutable_atom"&&Fn(o)){const{parent:x}=o;p=aa(n,x,o)}if(p=xx(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ki(n.key,p,n.subject,o),sv(n.key,o))jv(n.key,o);gc(o,n.key),$l(n,o);const a={oldValue:c,newValue:p};if(kn(o))Qv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Vv(n,a,o);else if(n.key.startsWith("*")){const x=n.key.slice(1),m=o.atoms.get(x);let l=o.valueMap.get(x);if(m.type==="mutable_atom"&&Fn(o)){const{parent:$}=o;l=aa(m,$,o)}if(l.do(a.newValue)===null)$l(m,o)}}};var mx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":_v(n,i,o);break;case"selector":n.set(i);break}};function lx(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function zn(n,...i){let o,c,p,a;if(i.length===2){if(o=i[0],a=i[1],c=lx(n,o)??null,c)p=o.family?ii(o.family.subKey):null,o=An(n,c,p)}else c=i[0],p=i[1],a=i[2],o=An(n,c,p);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((f)=>f?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const x=Ov(n,o);if(x){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${x}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${x}`),zn(n,o,a)});return}const m=d(o,n);mx(m,a,n),Hv(n)}function fx(n,i,o){const{key:c,newValue:p,oldValue:a}=i,x=n==="newValue"?p:a,m={key:c,type:"atom"};if(i.family)Object.assign(m,{family:i.family});zn(o,m,x)}function vl(n,i,o){const c=e(o);try{const p=[];let a;if(i==="root")p.push(n.molecules.get('"root"')),a="all";else if(i[0][0]===Nv){a="any";const $=e(i),v=n.molecules.get($);if(!v)throw new Error(`Molecule ${$} not found in store "${n.config.name}"`);p.push(v)}else if(o[0][0]===Nv){a="all";for(let v of i){const S=e(v),M=n.molecules.get(S);if(!M)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(M)}}else{a="any";const v=e(i),S=n.molecules.get(v);if(!S)throw new Error(`Molecule ${v} not found in store "${n.config.name}"`);p.push(S)}const x=new dc(p,o);x._dependsOn=a,n.molecules.set(c,x);for(let $ of p)$.below.set(x.stringKey,x);const m={type:"molecule_creation",subType:"modern",key:x.key,provenance:i},l=b(n);if(Fn(l)&&l.transactionMeta.phase==="building")l.transactionMeta.update.updates.push(m);else l.on.moleculeCreationStart.next(m)}catch(p){if(p instanceof Error)n.logger.error("\u274C","molecule",c,"allocation failed:",p.message)}return o}function xa(n,i){const o=e(i),c=n.molecules.get(o);if(!c)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let f of c.joins.values())f.relations.delete(c.key),f.molecules.delete(c.stringKey);let p;if(c.above.size===1)p=c.above.values().next().value.key;else p=[...c.above.values()].map(({key:f})=>f);const a=[];for(let f of c.tokens.values()){const $=f.family;a.push([$.key,n.valueMap.get(f.key)])}for(let f of c.tokens.values())li(n,f);for(let f of c.below.values())if(f.dependsOn==="all")xa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)xa(n,f.key);c.below.clear();const x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(Fn(m)&&m.transactionMeta.phase==="building")m.transactionMeta.update.updates.push(x);else m.on.moleculeDisposal.next(x);m.molecules.delete(c.stringKey);for(let f of c.above.values())f.below.delete(c.stringKey)}var cY=Symbol("provenance"),Nv="T$";function Lv(n,i){const o=new an,c={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},p={...c,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,p),c}function mo(n,i,o){const c=bo(o,i,n.key);n.tokens.set(c.key,c);const p=Fn(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function $x(n){return{store:n}}function Kn(n,...i){let o,c,p;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(c=lx(n,o)??null,c)p=o.family?ii(o.family.subKey):null,o=An(n,c,p)}}else{c=i[0],p=i[1];let a;if(c.type==="molecule_family")a=Nn(n,c,p)??ec(c,p);else a=An(n,c,p);o=a}if("counterfeit"in o&&"family"in o){c=o.type==="molecule"?d(o.family,n):n.families.get(o.family.key);const a=o.type==="molecule"?o.key:o.family.subKey,x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,x?`This state was previously disposed:\n${x.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);const m=d(c,n).default(a);return n.defaults.set(c.key,m),m}case"molecule_family":throw new Qi(c,a,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return Po(d(o,n),n);case"molecule":return d(o,n).instance}}class dc{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new an;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=e(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let c of n)this.above.set(c.stringKey,c)}}function yv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){const a=Xv(n),x=b(n),m=e(c);x.moleculeInProgress=m;const l=Array.isArray(i)?i:[i],f=l.map((X)=>{if(X instanceof dc)return X;const G=e(X.key),Y=n.molecules.get(G);if(!Y)throw new Error(`Molecule ${G} not found in store "${n.config.name}"`);return Y}),$=new dc(f,c,o);x.molecules.set(m,$);for(let X of f)X.below.set($.stringKey,$);const v={get:(...X)=>Kn(b(a),...X),set:(...X)=>{zn(b(a),...X)},seek:(X,G)=>Nn(b(a),X,G),json:(X)=>Pn(b(a),X),run:(X,G=Pc())=>qo(X,G,b(n)),make:(X,G,Y,...E)=>_o(b(a),X,G,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>$x(b(a)),bond:(X,G)=>{if(X.type==="join"){const{as:Y}=G,E=ma(X,a);E.molecules.set(m,$),$.joins.set(X.key,E);const s=S.subject.subscribe(`join:${X.key}-${m}`,(K)=>{if(K.type==="molecule_disposal"){if(e(K.token.key)===m)s(),E.molecules.delete(m)}});if(Y===null)return;const z=X.a===Y?X.b:X.a,T=Bv(X,c),O=T[`${z}KeysOf${yv(Y)}`],U=T[`${z}EntriesOf${yv(Y)}`];let V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return mo($,d(X,a),b(a))},claim:(X,G)=>{const{exclusive:Y}=G,E=b(n).molecules.get(e(X.key));if(E)if(Y){for(let s of E.above.values())s.below.delete(E.stringKey);E.above.clear(),E.above.set($.stringKey,$),$.below.set(E.stringKey,E)}else E.above.set($.stringKey,$),$.below.set(E.stringKey,E)},spawn:(X,G,...Y)=>_o(b(n),[$],d(X,n),G,...Y)},S=d(o,n),M=S.new;$.instance=new M(v,c,...p);const R={type:"molecule",key:c,family:o},A={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(A);else if(Fn(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(A);return x.moleculeInProgress=null,R}function wl(n,i,o){switch(i){case"newValue":{Dv(n,o);break}case"oldValue":{li(o,n.token);break}}}function Sl(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{Dv(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Dv(n,i){const{family:o}=n.token;if(o){const c=i.families.get(o.key);if(c)An(i,c,ii(o.subKey))}}function Jl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":_o(o,n.context,n.family,n.token.key,...n.params);break;case"modern":vl(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":xa(o,n.key);break}break}}function Fl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":xa(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{const c=_o(o,n.context,n.family,n.token.key);for(let[p,a]of n.values){const x=`${p}(${e(c.key)})`,m=d(c,o),l=m.tokens.has(x),f=o.families.get(p);if(f&&!l)mo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{vl(o,n.provenance,n.key);for(let[c,p]of n.values){const a=o.families.get(c);if(a){An(o,a,n.key);const x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function vx(n,i,o){const c=n==="newValue"?i.updates:[...i.updates].reverse();for(let p of c)switch(p.type){case"atom_update":case"selector_update":fx(n,p,o);break;case"state_creation":wl(p,n,o);break;case"state_disposal":Sl(p,n,o);break;case"molecule_creation":Jl(p,n,o);break;case"molecule_disposal":Fl(p,n,o);break;case"transaction_update":vx(n,p,o);break}}function hv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function Iv(n,i,o){if(!kn(o))return;const p=o.transactionMeta.actionContinuities.getRelatedKey(n);if(p!==void 0)o.transactionMeta.epoch.set(p,i)}var Cv=(n,i)=>{const o=b(i),{parent:c}=o;if(c===null||!Fn(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);const{updates:p}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${p.length} updates:`,p),vx("newValue",o.transactionMeta.update,c),kn(c))Iv(o.transactionMeta.update.key,o.transactionMeta.update.epoch,c),d({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(Fn(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function tv(n,i,o){if(!kn(o))return;const{epoch:p,actionContinuities:a}=o.transactionMeta;if(a.set(n,i),!p.has(n))p.set(n,-1)}class ri extends Map{n;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 kv=(n,i,o,c)=>{const p=b(o),a={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new ri(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new ri(p.families),operation:{open:!1},readonlySelectors:new ri(p.readonlySelectors),timelines:new ri(p.timelines),timelineTopics:new ji(p.timelineTopics.toJSON()),trackers:new Map,transactions:new ri(p.transactions),selectorAtoms:new ji(p.selectorAtoms.toJSON()),selectorGraph:new ji(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new ri(p.selectors),valueMap:new ri(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new ri(p.molecules),moleculeFamilies:new ri(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new ri(p.miscResources)},x=rv(n,o),m={phase:"building",update:{type:"transaction_update",key:n,id:c,epoch:x===void 0?Number.NaN:x+1,updates:[],params:i,output:void 0},toolkit:{get:(...f)=>Kn(l,...f),set:(...f)=>{zn(l,...f)},run:(f,$=Pc())=>qo(f,$,l),find:(f,$)=>An(l,f,$),seek:(f,$)=>Nn(l,f,$),json:(f)=>Pn(l,f),make:(f,$,v,...S)=>_o(l,f,$,v,...S),dispose:(...f)=>{li(l,...f)},env:()=>$x(l)}},l=Object.assign(a,{transactionMeta:m});return p.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function fl(n,i){const o={key:n.key,type:"transaction",run:(a,x)=>{const m=kv(n.key,a,i,x);try{const l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Cv($,l),$}catch(l){throw Yv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>fl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);const p=ti(o);return i.on.transactionCreation.next(p),p}function rv(n,i){const o=kn(i),c=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&c!==void 0?i.transactionMeta.epoch.get(c):void 0}class wx{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new wx([...this._buffer]);return n._index=this._index,n}}class Zv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new ji({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new ji({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new ji({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new ji({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new wx(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new an,atomDisposal:new an,selectorCreation:new an,selectorDisposal:new an,timelineCreation:new an,transactionCreation:new an,transactionApplying:new xl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new pa("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},kn(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new ji(i?.transactionMeta.actionContinuities.toJSON())};for(let[,c]of i.families){if(c.internalRoles?.includes("mutable")||c.internalRoles?.includes("join"))continue;c.install(this)}const o=new Set;for(let[,c]of i.atoms){if(o.has(c.key))continue;if(c.install(this),c.type==="mutable_atom"){const p=Pn(i,c),a=so(c);o.add(p.key),o.add(a.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 on={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new Zv({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(n,i){let o,c=i;while(c!==null){switch(n.type){case"atom":case"mutable_atom":o=c.atoms.get(n.key);break;case"selector":o=c.selectors.get(n.key);break;case"readonly_selector":o=c.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(n.key);break;case"timeline":o=c.timelines.get(n.key);break;case"transaction":o=c.transactions.get(n.key);break;case"molecule":o=c.molecules.get(e(n.key));break;case"molecule_family":o=c.moleculeFamilies.get(n.key);break}if(o)return o;c=c.child}throw new Qi(n,i)}function Sx(n,i){let o;o=d(n,i);const{family:c}=n;for(let x of o.joins.values())x.relations.delete(o.key),x.molecules.delete(o.stringKey);const p=[];for(let x of o.above.values())p.push(ti(x));const a=[];for(let x of o.tokens.values()){const m=x.family;a.push([m.key,i.valueMap.get(x.key)])}if(c){const x=d(c,i),m={type:"molecule_disposal",subType:"classic",token:n,family:c,context:p,values:a};if(n.family)m.family=n.family;for(let f of o.tokens.values())li(i,f);for(let f of o.below.values())if(f.dependsOn==="all")Sx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)Sx(f,i);if(o.below.clear(),Fn(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(m);else x.subject.next(m);i.molecules.delete(o.stringKey)}for(let x of o.above.values())x.below.delete(o.stringKey)}function bo(n,i,o){const c=n.families.get(i.key);if(c===void 0)throw new Qi(i,n);const p=c(o),a=b(n);if(p.family&&a.moleculeInProgress===null){if(kn(a))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(Fn(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function Nn(n,i,o){const c=e(o),p=`${i.key}(${c})`,a=b(n);let x;switch(i.type){case"atom_family":case"mutable_atom_family":x=a.atoms.get(p);break;case"selector_family":x=a.selectors.get(p);break;case"readonly_selector_family":x=a.readonlySelectors.get(p);break;case"molecule_family":x=a.molecules.get(e(o))}if(x)return ti(x);return x}function An(n,i,o){let c=Nn(n,i,o);if(c)return c;const p=n.molecules.get(e(o));if(p)return mo(p,i,n);if(n.config.lifespan==="immortal"){const a=ec(i,o);return n.logger.error("\u274C",a.type,a.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),a}return c=bo(n,i,o),c}function li(n,...i){let o,c;if(i.length===1)o=i[0],c=o.key;else{const a=i[0],x=i[1];o=a.type==="molecule_family"?Nn(n,a,x)??ec(a,x):An(n,a,x)}try{d(o,n)}catch(a){const x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,x?`\n This state was most recently disposed\n${x.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":Al(o,n);break;case"selector":case"readonly_selector":qv(o,n);break;case"molecule":Sx(o,n);break}const{stack:p}=new Error;if(p){const a=p?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:a})}}var Jx=(n,i)=>b(i).atoms.has(n),C4=(n,i)=>b(i).selectors.has(n),t4=(n,i)=>b(i).readonlySelectors.has(n),Pv=(n,i)=>Jx(n,i)||C4(n,i)||t4(n,i);var Fx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Pv(c,i))};var Ml=(n,i,o)=>{const c=[],p=Fx(n,o);while(p.length>0){const a=p.shift();if(i.has(a))continue;if(i.add(a),!Jx(a,o))p.push(...Fx(a,o));else if(!c.includes(a))c.push(a)}return c},ev=(n,i)=>{const o=n.key,c=Fx(o,i),p=new Set;return c.flatMap((a)=>Jx(a,i)?a:Ml(a,p,i))};var gv=(n,i,o,c)=>{const 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{const a=Ml(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${a.map((x)=>`"${x}"`).join(", ")} ]`);for(let x of a)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:x})}o.add(i.key)};var Ax=(n,i,o)=>({get:(...c)=>{const p=b(o);let a;if(c.length===2){const[l,f]=c;switch(l.type){case"molecule_family":return Kn(o,l,f);default:if(o.config.lifespan==="ephemeral")a=An(o,l,f);else{const $=Nn(o,l,f);if($)a=$;else throw new Qi(l,f,o)}}}else[a]=c;if(a.type==="molecule")return Kn(o,a);const x=d(a,o),m=Po(x,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${a.key}" =`,m,")"),p.selectorGraph.set({upstreamSelectorKey:a.key,downstreamSelectorKey:n},{source:a.key}),gv(n,a,i,o),m},set:(...c)=>{let p,a;if(c.length===2)p=c[0],a=c[1];else{const l=c[0],f=c[1];a=c[2];const $=o.config.lifespan==="ephemeral"?An(o,l,f):Nn(o,l,f);if(!$)throw new Qi(l,f,o);p=$}const x=b(o),m=d(p,x);mx(m,a,x)},find:(c,p)=>An(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>Pn(o,c)});var oa=(n,i,o)=>{const c=b(n),p=new an,a=new Set,{get:x,find:m,seek:l,json:f}=Ax(i.key,a,c),$=()=>{const R=i.get({get:x,find:m,seek:l,json:f});return ki(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>oa(R,i,o),get:$,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,v);const S=$();n.logger.info("\u2728",v.type,v.key,"=",S);const M={key:i.key,type:"readonly_selector"};if(o)M.family=o;return M};var la=(n,i,o)=>{const c=b(n),p=new an,a=new Set,x=Ax(i.key,a,c),{find:m,get:l,seek:f,json:$}=x,v={find:m,get:l,seek:f,json:$},S=(G=i.get,Y=b(n))=>{const E=G(v);return ki(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(G)=>la(G,i,o),get:S,set:(G)=>{const Y=b(n),E=S(i.get,Y),s=xx(G)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ki(i.key,s,p,Y),gc(Y,i.key),kn(Y))p.next({newValue:s,oldValue:E});i.set(x,s)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,R);const A=S();n.logger.info("\u2728",R.type,R.key,"=",A);const X={key:i.key,type:"selector"};if(o)X.family=o;return X};function na(n,i){if("set"in i){const p=la(n,i,void 0);return n.on.selectorCreation.next(p),p}const c=oa(n,i,void 0);return n.on.selectorCreation.next(c),c}function qv(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{const a=o.molecules.get(p.family.subKey);if(a)a.tokens.delete(c);switch(n.type){case"selector":o.selectors.delete(c),d({key:p.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(c),d({key:p.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),i.logger.info("\uD83D\uDD25",n.type,c,"deleted"),Fn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ca(n,i,o){const 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 ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=la(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:M}),M},c,{internalRoles:o,subject:a,install:(l)=>ca(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>Pn(n,$)})}});return n.families.set(i.key,m),c}function dv(n,i,o=on.STORE){const c=ca(o,{key:`${n.key}:JSON`,get:(a)=>({seek:x,get:m})=>{const l=x(n,a);if(l)return i.toJson(m(l));const f=e(a),$=o.molecules.get(f);if($){const S=mo($,n,o);return i.toJson(m(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${f}"`);const v=bo(o,n,a);return i.toJson(m(v))},set:(a)=>({seek:x,set:m},l)=>{const f=x(n,a);if(f)m(f,i.fromJson(l));else{const $=e(a),v=o.molecules.get($);if(v){const S=mo(v,n,o);m(S,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${$}"`);m(bo(o,n,a),i.fromJson(l))}}}},["mutable","json"]);return d(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(a)=>{if(a.token.family)Nn(o,c,ii(a.token.family.subKey))}),c}var ii=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),ZO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var n0=(n,i)=>{const o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Kl=(n,i)=>{const o=b(i);return ev(n,i).map((p)=>{const a=o.atoms.get(p);if(a===void 0)throw new Error(`Atom "${p}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return a.subject.subscribe(`${n.type}:${n.key}`,(x)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",p,"went",x.oldValue,"->",x.newValue);const m=n0(n,o),l=Po(n,o);i.logger.info("\u2728",n.type,n.key,"went",m,"->",l),n.subject.next({newValue:l,oldValue:m})})})};function zi(n,i,o,c){function p(v){if(c.operation.open){const S=c.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(v)})}else i(v)}const a=d(n,c);c.logger.info("\uD83D\uDC40",a.type,a.key,`Adding subscription "${o}"`);const x=a.type==="selector"||a.type==="readonly_selector";let m=null,l=p;if(x)m=Kl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Kl(a,c));p(v)};const f=a.subject.subscribe(o,l);return()=>{if(c.logger.info("\uD83D\uDE48",a.type,a.key,`Removing subscription "${o}"`),f(),m)for(let v of m)v()}}var Tl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),a()}};var Rl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),a()}};class eo{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const c=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,p=ko(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){const a=i.parent.valueMap.get(o);i.valueMap.set(o,a)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const c=`tracker:${o.config.name}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=zi(n,(a)=>{if(a.newValue!==a.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(c,(x)=>{zn(o,i,x)})},c,o)}updateCore(n,i,o){const c=`tracker:${o.config.name}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`;zi(i,({newValue:p,oldValue:a})=>{const x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){const f=Tl({key:x,type:"timeline"},($)=>{f(),zn(o,n,(v)=>{if($==="redo"&&p)v.do(p);else if($==="undo"&&a)v.undo(a);return v})},c,o);return}}const m=o.on.operationClose.subscribe(c,()=>{m();const l=Kn(o,n),f=p===null?-1:l.getUpdateNumber(p),$=f-l.cacheUpdateNumber;if(p&&$===1)zn(o,n,(v)=>(v.do(p),v));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${f}`)})},c,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const 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.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function fa(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const 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."),ti(p);const a=new an,x={...i,type:"mutable_atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),fa(f,i,o)},subject:a};if(o)x.family=o;const m=i.default();c.atoms.set(x.key,x),Mx(i.key,n),ki(i.key,m,a,c);const l=ti(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(M)=>{zn(n,l,M)},onSet:(M)=>zi(l,M,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Wv(l,i,n);return l}class Wl{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=to(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=ii(c.token.family.subKey);Nn(i,this.latestUpdateAtoms,p),new eo(c.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=ii(c.token.family.subKey),a=Nn(i,this.mutableAtoms,p);if(a)new eo(a,i)}})}}function ia(n,i,o){const 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 ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)M.effects=i.effects(l);const R=fa(S,M,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>ia(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),dv(m,i,n),new Wl(m,n),c}var Xl=(n,i)=>{const o=b(i),c=`${n.key}:JSON`;return o.families.get(c)};var Pn=(n,i)=>{if(i.family){const c=b(n),a={key:`${i.family.key}:JSON`,type:"selector_family"},x=d(a,c),m=JSON.parse(i.family.subKey);return An(n,x,m)}return{type:"selector",key:`${i.key}:JSON`}};var so=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function bv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function aa(n,i,o){const c=i.valueMap.get(n.key),p=o.valueMap.get(n.key);if(c===p){if(c===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const a=n.toJson(c),x=n.fromJson(a);return o.valueMap.set(n.key,x),new eo(n,i),x}return p}function ki(n,i,o,c){const p=c.valueMap.get(n);if(p instanceof dp)p.use(i);if(i instanceof Promise){const a=new dp(i);return c.valueMap.set(n,a),a.then((x)=>{ki(n,x,o,c),o.next({newValue:x,oldValue:a})}).catch((x)=>{c.logger.error("\uD83D\uDCA5","state",n,"rejected:",x)}),a}return c.valueMap.set(n,i),i}var uv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&Fn(i)){const{parent:c}=i;o=aa(n,c,i)}return o},Uv=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof dp){const 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 sv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Mx=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},jv=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(b(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function ko(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const 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."),ti(p);const a=new an,x={...i,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ko(f,i,o)},subject:a};if(o)x.family=o;let m=i.default;if(i.default instanceof Function)m=i.default();c.atoms.set(x.key,x),Mx(i.key,n),ki(i.key,m,a,c);const l=ti(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(M)=>{zn(n,l,M)},onSet:(M)=>zi(l,M,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function zv(n,i){if("mutable"in i){const p=fa(n,i,void 0);return n.on.atomCreation.next(p),p}const c=ko(n,i,void 0);return n.on.atomCreation.next(c),c}function Al(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{p.cleanup?.();const a=i.valueMap.get(p.key);d({key:p.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:a});const m=o.molecules.get(p.family.subKey);if(m)m.tokens.delete(c);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),i.timelineTopics.delete(c),n.type==="mutable_atom"){const l=so(n);Al(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),Fn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}class oi extends Set{mode="record";subject=new an;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof oi)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){const i=new oi(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${e(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${e(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new oi(this);const 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.error("Failed to apply transaction to SetRTX:",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){const 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){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),c=o-this.cacheUpdateNumber;if(c>0){if(c===1){this.mode="playback";const a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){const a=this.cacheIdx+c;if(this.cache[a]===n)return null;this.mode="playback";let m=!1;while(!m){this.cacheIdx%=this.cacheLimit;const f=this.cache[this.cacheIdx];if(this.cacheIdx--,!f)return"OUT_OF_RANGE";this.undo(f),m=this.cacheIdx===a-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const 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":{const p=JSON.parse(c);for(let a of p)this.add(a);break}case"tx":{const p=c.split(";");for(let a=p.length-1;a>=0;a--)this.undoStep(p[a])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const c=n.substring(i+1);return this.undoStep(c),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Ln(n){return n[0].toUpperCase()+n.slice(1)}function Tx(n,i,o=on.STORE){return Gl(o).set(n.key,new zl(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Gl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function ma(n,i){const o=Gl(i);let c=o.get(n.key);if(c===void 0){if(c=Gl(on.STORE).get(n.key)?.in(i),c===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,c)}return c}function np(n,i,o){const c=ma(n,o);let p;switch(n.cardinality){case"1:1":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeyOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntryOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"1:n":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"n:n":{const a=`${n.a}KeysOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntriesOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}}}return p}function Bv(n,i){return np(n,i,on.STORE)}function Rc(n,i,o){const c=ma(n,o),p=b(o);if(Fn(p)){const{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function k4(n,i){return ma(n,i).core.findRelatedKeysState}function i0(n){return k4(n,on.STORE)}class zl{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const c=new zl(this.options,this.defaultContent,n);return this.alternates.set(i,c),c.alternates=this.alternates,c}constructor(n,i,o=on.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(z,T)=>{const O=this.toolkit.seek(z,T);if(O)return O;const U=this.molecules.get(e(T));if(U){const V=d(z,o);return mo(U,V,o)}if(o.config.lifespan==="immortal")throw new Qi(z,T,o);return bo(o,z,T)},this.toolkit={get:(...z)=>Kn(o,...z),set:(...z)=>{zn(o,...z)},find:this.retrieve,seek:(...z)=>Nn(o,...z),json:(z)=>Pn(o,z),dispose:(...z)=>{li(o,...z)}};const c=n.between[0],p=n.between[1],a=ia(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(z)=>oi.fromJSON(z),toJson:(z)=>z.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};const x=({get:z},T)=>z(this.retrieve(a,T)),m=(z,T,O)=>{const{set:U}=z,V=this.retrieve(a,T),K=this.retrieve(a,O);U(V,(y)=>y.add(O)),U(K,(y)=>y.add(T))},l=(z,T,O)=>{const{set:U}=z,V=this.retrieve(a,T),K=this.retrieve(a,O);let y,_;U(V,(P)=>{if(P.delete(O),P.size===0)y=`"${T}"`;return P}),U(K,(P)=>{if(P.delete(T),P.size===0)_=`"${O}"`;return P})},f=(z,T,O)=>{const{get:U,set:V}=z,K=this.retrieve(a,T),y=U(K);for(let _ of y){if(O.includes(_))continue;const ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(T),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){const $n=x(z,ln),Un=$n.has(T);if(this.relations.cardinality==="1:n"){const si=[];for(let H of $n){if(H===T)continue;const k=x(z,H);if(k.delete(ln),k.size===0)si.push(H)}if(!Un&&$n.size>0)$n.clear();for(let H of si){const k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Un)$n.add(T);P.add(ln)}return!0}),_})},$=(z,T,O)=>{const{set:U}=z,V=this.retrieve(a,T);U(V,(K)=>{return K.transaction((y)=>{for(let _ of O)y.add(_);return!0}),K});for(let K of O){const y=this.retrieve(a,K);U(y,(_)=>{return _.add(T),_})}return!0},v=(z,T,O)=>{const U=x(z,T);return O?U.has(O):U.size>0},S={getRelatedKeys:(z)=>x(this.toolkit,z),addRelation:(z,T)=>{m(this.toolkit,z,T)},deleteRelation:(z,T)=>{l(this.toolkit,z,T)},replaceRelationsSafely:(z,T)=>{f(this.toolkit,z,T)},replaceRelationsUnsafely:(z,T)=>{$(this.toolkit,z,T)},has:(z,T)=>v(this.toolkit,z,T)};let M,R,A;if(i){R=to(o,{key:`${n.key}/content`,default:i},["join","content"]);const z={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};A=Lv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(y,_){this.key=_}}});const T=({get:K},y)=>K(this.retrieve(R,y)),O=({set:K},y,_)=>{K(this.retrieve(R,y),_)},U=(K,y)=>{const _=o.molecules.get(`"${y}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${y}"`)};M=Object.assign(S,{getContent:(K)=>{return T(this.toolkit,K)},setContent:(K,y)=>{O(this.toolkit,K,y)},deleteContent:(K)=>{U(this.toolkit,K)}})}else M=S;const X=new ji(n,{externalStore:M,makeContentKey:(...z)=>{const T=z.sort(),O=`${T[0]}:${T[1]}`,[U,V]=T.map((K)=>this.molecules.get(e(K)));if(o.config.lifespan==="immortal"&&U&&V){const K=b(o),y=_o(K,[U,V],A,O);this.molecules.set(`"${O}"`,d(y,K))}return O}}),G=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(z)=>({get:T})=>{const O=this.retrieve(a,z),U=T(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(z)=>({get:T})=>{const O=Xl(a,o),U=this.retrieve(O,z);return T(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(z)=>({get:T})=>{const O=this.retrieve(a,z),U=T(O);for(let V of U){const K=X.makeContentKey(z,V),y=this.retrieve(R,K),_=T(y);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(z)=>({get:T})=>{const O=Xl(a,o),U=this.retrieve(O,z);return T(U).members.map((K)=>{const y=X.makeContentKey(z,K),_=this.retrieve(R,y),P=T(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const z=G(),T=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[T]:z,[O]:z};let V;if(i){const K=E(),y=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[y]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{const z=G(),T=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:z,[U]:T};let K;if(i){const y=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:y,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{const z=Y(),T=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[T]:z,[O]:z};let V;if(i){const K=s(),y=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[y]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V}}}}class ip{n;listeners;globalListeners;handleEvent(n,...i){for(let c of this.globalListeners)c(n,...i);const 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){const 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){const 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 $a extends ip{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((c,...p)=>{const a=JSON.stringify([c,...p])+"\x03",x=(m)=>{if(m.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",x)};return this.process.stdin.once("error",x),this.process.stdin.write(a),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(c)=>{const p=c.toString();if(p==="\u2728")return;this.unprocessedEvents.push(...p.split("\x03"));const a=this.unprocessedEvents.shift();this.incompleteData+=a??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let x=ii(this.incompleteData);this.handleEvent(...x);while(this.unprocessedEvents.length>0){const m=this.unprocessedEvents.shift();if(m){if(this.unprocessedEvents.length===0)this.incompleteData=m;x=ii(m),this.handleEvent(...x)}}this.incompleteData=""}catch(x){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(x)}}),this.process.stderr.on("data",(c)=>{const p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));const a=this.unprocessedLogs.shift();this.incompleteLog+=a??"";try{let x=ii(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=ii(this.incompleteLog),this.handleLog(x)}catch(x){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(x),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class o0 extends ip{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new an,this.out=new an,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Yl extends ip{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(e(n.map((i)=>i instanceof oi?`{ ${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)=>{const 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)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const c=ii(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",c),this.handleEvent(...c);while(this.unprocessedEvents.length>0){const p=this.unprocessedEvents.shift();if(p){if(this.unprocessedEvents.length===0)this.incompleteData=p;const a=ii(p);this.handleEvent(...a)}}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");const i=new o0(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const 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)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function p0(n){const{key:i,config:o}=n,c=Rx.create(i,o),{actions:p}=c;for(let a of p)tv(i,a.key,on.STORE);return hv(i,-1,on.STORE),c}class c0 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 Rx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new c0;static create(n,i){const o=new Rx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Rx.existing.set(n,m),m}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":{const[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}var wU=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),ul=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),r4={enteredAtEpoch:0},va=Tx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},r4),SU=ax({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=i0(va);return[i(o,n)]}});import{spawn as Z4}from"child_process";var Ol=Mc({key:"roomArguments",default:["echo",["Hello World!"]]}),a0=ax({key:"room",get:(n)=>async({get:i,find:o})=>{const c=o(Ol,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{const f=Z4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new $a(m,n)}});var OU=Tc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{const x=a?[p,a]:[p],m=o(Ol,c);i(m,x),i(ul,($)=>$.add(c));const l=o(a0,c);return n(l)}}),HU=Tc({key:"joinRoom",do:(n,i,o,c)=>{const p={enteredAtEpoch:c};return Rc(va,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),EU=Tc({key:"leaveRoom",do:(n,i,o)=>{Rc(va,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),QU=Tc({key:"destroyRoom",do:(n,i)=>{Rc(va,(o)=>{o.delete({room:i})},n.env().store),n.set(ul,(o)=>(o.delete(i),o))}});function Hl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const c=Hl(n,o.updates);return{...o,updates:c}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var bU=Mc({key:"transactionRedactor",default:{occlude:(n)=>n}}),x0=Mc({key:"unacknowledgedUpdates",default:()=>[]});var wa=Mc({key:"sockets",default:null}),El=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Ql=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kc=Tx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function m0({socket:n,store:i=on.STORE}){return function o(c){let p=n;const a=c.key,x=np(Kc,p.id,i).userKeyOfSocket,m=Kn(i,x);if(!m)return i.logger.error("\u274C","continuity",a,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};const l=np(Kc,m,i).socketKeyOfUser;zi(l,({newValue:G})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${G}`),G===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}const Y=An(i,wa,G);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);const f=An(i,x0,m),$=Kn(i,f),v=[],M=(()=>{const G=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=An(i,E,m),z=zi(s,({oldValue:T,newValue:O})=>{const U=T.map((_)=>_.key),V=O.map((_)=>_.key),K=T.filter((_)=>!V.includes(_.key)),y=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{const P=_.type==="mutable_atom"?Pn(i,_):_,ln=Kn(i,P);return[P,ln]});if(i.logger.info("\uD83D\uDC41","atom",Y.resourceAtoms.key,`${m} has a new perspective`,{oldKeys:U,newKeys:V,revealed:y,concealed:K}),y.length>0)p?.emit(`reveal:${a}`,y);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);G.push(z)}return()=>{for(let Y of G)Y()}})(),R=()=>{const G=[];for(let E of c.globals){const s=E.type==="mutable_atom"?Pn(i,E):E,z=Kn(i,s);G.push(s,z)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:z}=E,T=An(i,s,m),O=Kn(i,T);i.logger.info("\uD83D\uDC41","atom",z.key,`${m} can see`,{viewAtoms:s,resourceAtoms:z,userView:O});for(let U of O){const V=U.type==="mutable_atom"?Pn(i,U):U,K=Kn(i,V);G.push(V,K)}}const Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,G);for(let E of c.actions){const s=Rl(E,(z)=>{try{const T=c.globals.map((V)=>{if(V.type==="atom")return V.key;return so(V).key}).concat(c.perspectives.flatMap((V)=>{const{viewAtoms:K}=V,y=An(i,K,m);return Kn(i,y).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Hl(T,z.updates),U={...z,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,y)=>K.epoch-y.epoch);return V}),p?.emit(`tx-new:${a}`,U)}catch(T){if(T instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,T.message)}},`sync-continuity:${a}:${m}`,i);v.push(s)}};p.off(`get:${a}`,R),p.on(`get:${a}`,R);const A=(G)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",G);const{key:Y,id:E}=G,s=`tx-run:${Y}:${E}`,z=`${s}:start`,T=`${s}:end`;performance.mark(z);try{qo({type:"transaction",key:Y},E,i)(...G.params)}catch(y){if(y instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,y.message)}performance.mark(T);const O=performance.measure(s,z,T);i?.logger.info("\uD83D\uDE80","transaction",Y,E,O.duration);const U=`valuesOfCardsView("${m}")`,V=i.selectorAtoms.getRelatedKeys(U),K=i.valueMap.get(U);i.logger.info("\uD83D\uDC41","continuity",a,`seeing ${m} card values`,{valuesOfCardsViewKey:U,rootsOfCardValueView:V,myCardValueView:K})};p.off(`tx-run:${a}`,A),p.on(`tx-run:${a}`,A);const X=(G)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${G}`),$[0]?.epoch===G)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let G of v)G();p?.off(`ack:${a}`,X),M(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,A)}}}var DR=al(af(),1);function u(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,J))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(J in o&&o[J]===i[J])return!0;o=Object.getPrototypeOf(o)}return!1}var J=Symbol.for("drizzle:entityKind"),uV=Symbol.for("drizzle:hasOwnEntityKind");class _n{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[J]="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 xf{static[J]="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 vo=Symbol.for("drizzle:Name");class mf{static[J]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(n,i){if(this.reference=()=>{const{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 vS(n,this)}}class vS{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[J]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((x)=>x.name),p=o.map((x)=>x.name),a=[this.table[vo],...c,o[0].table[vo],...p];return n??`${a.join("_")}_fk`}}function yx(n,...i){return n(...i)}function wS(n,i){return`${n[vo]}_${i.join("_")}_unique`}function SS(n,i,o){for(let c=i;c<n.length;c++){const 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 JS(n,i=0){const o=[];let c=i,p=!1;while(c<n.length){const a=n[c];if(a===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,a==="\\"){c+=2;continue}if(a==='"'){const[l,f]=SS(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){const[l,f]=JS(n,c+1);o.push(l),c=f;continue}const[x,m]=SS(n,c,!1);o.push(x),c=m}return[o,c]}function FS(n){const[i]=JS(n,1);return i}function lf(n){return`{${n.map((i)=>{if(Array.isArray(i))return lf(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class C extends xf{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new MS(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 yx((p,a)=>{const x=new mf(()=>{const m=p();return{columns:[n],foreignColumns:[m]}});if(a.onUpdate)x.onUpdate(a.onUpdate);if(a.onDelete)x.onDelete(a.onDelete);return x.build(i)},o,c)})}buildExtraConfigColumn(n){return new AS(n,this.config)}}class j extends _n{constructor(n,i){if(!i.uniqueName)i.uniqueName=wS(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class AS extends j{static[J]="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 Ga{static[J]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class MS extends C{static[J]="PgArrayBuilder";constructor(n,i,o){super(n,"array","PgArray");this.config.baseBuilder=i,this.config.size=o}build(n){const i=this.config.baseBuilder.build(n);return new ff(n,this.config,i)}}class ff extends j{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[J]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=FS(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){const o=n.map((c)=>c===null?null:u(this.baseColumn,ff)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return lf(o)}}function TS(n){return!!n&&typeof n==="function"&&$f in n&&n[$f]===!0}function Bx(n,i){return S6(n,i,void 0)}function S6(n,i,o){const c=Object.assign((p)=>new RS(p??"",c),{enumName:n,enumValues:i,schema:o,[$f]:!0});return c}var $f=Symbol.for("drizzle:isPgEnum");class RS extends C{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new KS(n,this.config)}}class KS extends j{static[J]="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}}class fi{static[J]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class za extends fi{static[J]="WithSubquery"}var WS="0.35.1";var vf,wf,En={startActiveSpan(n,i){if(!vf)return i();if(!wf)wf=vf.trace.getTracer("drizzle-orm",WS);return yx((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(a){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:a instanceof Error?a.message:"Unknown error"}),a}finally{p.end()}}),vf,wf)}};var hn=Symbol.for("drizzle:ViewBaseConfig");function gi(n){return n[vo]}function Oc(n){return`${n[Dx]??"public"}.${n[vo]}`}var Dx=Symbol.for("drizzle:Schema"),XS=Symbol.for("drizzle:Columns"),GS=Symbol.for("drizzle:ExtraConfigColumns"),Sf=Symbol.for("drizzle:OriginalName"),Jf=Symbol.for("drizzle:BaseName"),zS=Symbol.for("drizzle:IsAlias"),YS=Symbol.for("drizzle:ExtraConfigBuilder"),J6=Symbol.for("drizzle:IsDrizzleTable");class D{static[J]="Table";static Symbol={Name:vo,Schema:Dx,OriginalName:Sf,Columns:XS,ExtraConfigColumns:GS,BaseName:Jf,IsAlias:zS,ExtraConfigBuilder:YS};[vo];[Sf];[Dx];[XS];[GS];[Jf];[zS]=!1;[J6]=!0;[YS]=void 0;constructor(n,i,o){this[vo]=this[Sf]=n,this[Dx]=i,this[Jf]=o}}function Ff(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function F6(n){const 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}function uS(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}function F(n,...i){const o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new ci(n[0]));for(let[c,p]of i.entries())o.push(p,new ci(n[c+1]));return new t(o)}function Af(n,i){return n.map((o)=>{if(u(o,cc)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(u(o,Li)&&u(o.value,cc)){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})}class ci{static[J]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new t([this])}}class t{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=OS;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return En.startActiveSpan("drizzle.buildSQL",(i)=>{const 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){const o=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:p,escapeParam:a,prepareTyping:x,inlineParams:m,paramStartIndex:l}=o;return F6(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,hx))return{sql:p(f.value),params:[]};if(f===void 0)return{sql:"",params:[]};if(Array.isArray(f)){const $=[new ci("(")];for(let[v,S]of f.entries())if($.push(S),v<f.length-1)$.push(new ci(", "));return $.push(new ci(")")),this.buildQueryFromSourceParams($,o)}if(u(f,t))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,D)){const $=f[D.Symbol.Schema],v=f[D.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,_n)){const $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[D.Symbol.Name])+"."+p($),params:[]}}if(u(f,Ui)){const $=f[hn].schema,v=f[hn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};const $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,t))return this.buildQueryFromSourceParams([$],o);if(m)return{sql:this.mapInlineParam($,o),params:[]};let v=["none"];if(x)v=[x(f.encoder)];return{sql:a(l.value++,$),params:[$],typings:v}}if(u(f,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,t.Aliased)&&f.fieldAlias!==void 0)return{sql:p(f.fieldAlias),params:[]};if(u(f,fi)){if(f._.isWith)return{sql:p(f._.alias),params:[]};return this.buildQueryFromSourceParams([new ci("("),f._.sql,new ci(") "),new hx(f._.alias)],o)}if(TS(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(Ff(f)){if(f.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([f.getSQL()],o);return this.buildQueryFromSourceParams([new ci("("),f.getSQL(),new ci(")")],o)}if(m)return{sql:this.mapInlineParam(f,o),params:[]};return{sql:a(l.value++,f),params:[f],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"){const 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 t.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 hx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new t([this])}}var OS={mapFromDriverValue:(n)=>n},HS={mapToDriverValue:(n)=>n},Jb={...OS,...HS};class Li{constructor(n,i=HS){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new t([this])}}((n)=>{function i(){return new t([])}n.empty=i;function o(l){return new t(l)}n.fromList=o;function c(l){return new t([new ci(l)])}n.raw=c;function p(l,f){const $=[];for(let[v,S]of l.entries()){if(v>0&&f!==void 0)$.push(f);$.push(S)}return new t($)}n.join=p;function a(l){return new hx(l)}n.identifier=a;function x(l){return new cc(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(F||(F={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[J]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(t||(t={}));class cc{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new t([this])}}class Ui{static[J]="View";[hn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[hn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new t([this])}}_n.prototype.getSQL=function(){return new t([this])};D.prototype.getSQL=function(){return new t([this])};fi.prototype.getSQL=function(){return new t([this])};function Ix(n,i){return new Proxy(n,new Ya(i,!1))}function Oo(n,i){return new Proxy(n,new wp(new Proxy(n.table,new Ya(i,!1))))}function Mf(n,i){return new t.Aliased(ua(n.sql,i),n.fieldAlias)}function ua(n,i){return F.join(n.queryChunks.map((o)=>{if(u(o,_n))return Oo(o,i);if(u(o,t))return ua(o,i);if(u(o,t.Aliased))return Mf(o,i);return o}))}class wp{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Ya{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="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===hn)return{...n[hn],name:this.alias,isAlias:!0};if(i===D.Symbol.Columns){const c=n[D.Symbol.Columns];if(!c)return c;const p={};return Object.keys(c).map((a)=>{p[a]=new Proxy(c[a],new wp(new Proxy(n,this)))}),p}const o=n[i];if(u(o,_n))return new Proxy(o,new wp(new Proxy(n,this)));return o}}class Cx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Tf extends Cx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Vi(n,i){if(uS(i)&&!Ff(n)&&!u(n,Li)&&!u(n,cc)&&!u(n,_n)&&!u(n,D)&&!u(n,Ui))return new Li(n,i);return n}function Hc(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" and ")),new ci(")")])}function QS(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" or ")),new ci(")")])}function US(n){return F`not ${n}`}function sS(n,i){if(Array.isArray(i)){if(i.length===0)return F`false`;return F`${n} in ${i.map((o)=>Vi(o,n))}`}return F`${n} in ${Vi(i,n)}`}function jS(n,i){if(Array.isArray(i)){if(i.length===0)return F`true`;return F`${n} not in ${i.map((o)=>Vi(o,n))}`}return F`${n} not in ${Vi(i,n)}`}function NS(n){return F`${n} is null`}function LS(n){return F`${n} is not null`}function yS(n){return F`exists ${n}`}function BS(n){return F`not exists ${n}`}function DS(n,i,o){return F`${n} between ${Vi(i,n)} and ${Vi(o,n)}`}function hS(n,i,o){return F`${n} not between ${Vi(i,n)} and ${Vi(o,n)}`}function IS(n,i){return F`${n} like ${i}`}function CS(n,i){return F`${n} not like ${i}`}function tS(n,i){return F`${n} ilike ${i}`}function kS(n,i){return F`${n} not ilike ${i}`}var Ho=(n,i)=>{return F`${n} = ${Vi(i,n)}`},ES=(n,i)=>{return F`${n} <> ${Vi(i,n)}`},tx=(n,i)=>{return F`${n} > ${Vi(i,n)}`},VS=(n,i)=>{return F`${n} >= ${Vi(i,n)}`},bS=(n,i)=>{return F`${n} < ${Vi(i,n)}`},_S=(n,i)=>{return F`${n} <= ${Vi(i,n)}`};function rS(n){return F`${n} asc`}function ZS(n){return F`${n} desc`}class qS{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Rf{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new qS}logQuery(n,i){const 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 Kf{static[J]="NoopLogger";logQuery(){}}class ui{static[J]="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 PS(n,i,o){const c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,_n))f=m;else if(u(m,t))f=m.decoder;else f=m.sql.decoder;let $=a;for(let[v,S]of x.entries())if(v<x.length-1){if(!(S in $))$[S]={};$=$[S]}else{const M=i[l],R=$[S]=M===null?null:f.mapFromDriverValue(M);if(o&&u(m,_n)&&x.length===2){const A=x[0];if(!(A in c))c[A]=R===null?gi(m.table):!1;else if(typeof c[A]==="string"&&c[A]!==gi(m.table))c[A]=!1}}return a},{});if(o&&Object.keys(c).length>0){for(let[a,x]of Object.entries(c))if(typeof x==="string"&&!o[x])p[a]=null}return p}function di(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;const a=i?[...i,c]:[c];if(u(p,_n)||u(p,t)||u(p,t.Aliased))o.push({path:a,field:p});else if(u(p,D))o.push(...di(p[D.Symbol.Columns],a));else o.push(...di(p,a));return o},[])}function Wf(n,i){const o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,a]of o.entries())if(a!==c[p])return!1;return!0}function kx(n,i){const o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,t))return[c,p];else return[c,new Li(p,n[D.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function eS(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 gS(n){return n[D.Symbol.Columns]}function Xf(n){return u(n,fi)?n._.alias:u(n,Ui)?n[hn].name:u(n,t)?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}}class pc extends C{static[J]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(n){if(n){const{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){const{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}}function c1(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new dS(o);return new i1(o)}class dS extends pc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new n1(n,this.config)}}class n1 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class i1 extends pc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new o1(n,this.config)}}class o1 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function l1(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new p1(o);return new x1(o)}class p1 extends C{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new a1(n,this.config)}}class a1 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class x1 extends C{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new m1(n,this.config)}}class m1 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function Oa(n){return new f1(n??"")}class f1 extends C{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new $1(n,this.config)}}class $1 extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function S1(n,i={}){const{name:o,config:c}=Jn(n,i);return new v1(o,c)}class v1 extends C{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new w1(n,this.config)}}class w1 extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function A1(n){return new J1(n??"")}class J1 extends C{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new F1(n,this.config)}}class F1 extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function R1(n){return(i,o)=>{const{name:c,config:p}=Jn(i,o);return new M1(c,p,n)}}class M1 extends C{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new T1(n,this.config)}}class T1 extends j{static[J]="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}}class No extends C{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(F`now()`)}}function X1(n,i){const{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new K1(o);return new W1(o)}class K1 extends No{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new rx(n,this.config)}}class rx extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class W1 extends No{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Zx(n,this.config)}}class Zx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function Y1(n){return new G1(n??"")}class G1 extends C{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new z1(n,this.config)}}class z1 extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function H1(n){return new u1(n??"")}class u1 extends C{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new O1(n,this.config)}}class O1 extends j{static[J]="PgInet";getSQLType(){return"inet"}}function qx(n){return new E1(n??"")}class E1 extends pc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Q1(n,this.config)}}class Q1 extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function b1(n,i={}){const{name:o,config:c}=Jn(n,i);return new U1(o,c)}class U1 extends C{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new V1(n,this.config)}}class V1 extends j{static[J]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const n=this.fields?` ${this.fields}`:"",i=this.precision?`(${this.precision})`:"";return`interval${n}${i}`}}function s1(n){return new _1(n??"")}class _1 extends C{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Px(n,this.config)}}class Px extends j{static[J]="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 N1(n){return new j1(n??"")}class j1 extends C{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new ex(n,this.config)}}class ex extends j{static[J]="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 h1(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new L1(o);return new B1(o)}class L1 extends C{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new y1(n,this.config)}}class y1 extends j{static[J]="PgLine";getSQLType(){return"line"}mapFromDriverValue(n){const[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 B1 extends C{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new D1(n,this.config)}}class D1 extends j{static[J]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(n){const[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 t1(n){return new I1(n??"")}class I1 extends C{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new C1(n,this.config)}}class C1 extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function Z1(n){return new k1(n??"")}class k1 extends C{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new r1(n,this.config)}}class r1 extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function P1(n,i){const{name:o,config:c}=Jn(n,i);return new q1(o,c?.precision,c?.scale)}class q1 extends C{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new gx(n,this.config)}}class gx extends j{static[J]="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 iJ(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new e1(o);return new d1(o)}class e1 extends C{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new g1(n,this.config)}}class g1 extends j{static[J]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[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 d1 extends C{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new nJ(n,this.config)}}class nJ extends j{static[J]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[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 A6(n){const 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 oJ(n,i){const 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 Gf(n){const i=A6(n);let o=0;const c=i[o];o+=1;const p=new DataView(i.buffer),a=p.getUint32(o,c===1);o+=4;let x;if(a&536870912)x=p.getUint32(o,c===1),o+=4;if((a&65535)===1){const m=oJ(i,o);o+=8;const l=oJ(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}function mJ(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new cJ(o);return new aJ(o)}class cJ extends C{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new pJ(n,this.config)}}class pJ extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Gf(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class aJ extends C{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new xJ(n,this.config)}}class xJ extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){const i=Gf(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function $J(n){return new lJ(n??"")}class lJ extends C{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new fJ(n,this.config)}}class fJ extends j{static[J]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function SJ(n){return new vJ(n??"")}class vJ extends C{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new wJ(n,this.config)}}class wJ extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function AJ(n){return new JJ(n??"")}class JJ extends pc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new FJ(n,this.config)}}class FJ extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function RJ(n){return new MJ(n??"")}class MJ extends C{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new TJ(n,this.config)}}class TJ extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function XJ(n,i={}){const{name:o,config:c}=Jn(n,i);return new KJ(o,c)}class KJ extends C{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new WJ(n,this.config)}}class WJ extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function zJ(n,i={}){const{name:o,config:c}=Jn(n,i);return new GJ(o,c.withTimezone??!1,c.precision)}class GJ extends No{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[J]="PgTimeBuilder";build(n){return new dx(n,this.config)}}class dx extends j{static[J]="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 wo(n,i={}){const{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new uJ(o,c.withTimezone??!1,c.precision);return new YJ(o,c?.withTimezone??!1,c?.precision)}class YJ extends No{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new nm(n,this.config)}}class nm extends j{static[J]="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 uJ extends No{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new im(n,this.config)}}class im extends j{static[J]="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 yi(n){return new OJ(n??"")}class OJ extends C{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(F`gen_random_uuid()`)}build(n){return new om(n,this.config)}}class om extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function $i(n,i={}){const{name:o,config:c}=Jn(n,i);return new HJ(o,c)}class HJ extends C{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new EJ(n,this.config)}}class EJ extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function VJ(n,i){const{name:o,config:c}=Jn(n,i);return new QJ(o,c)}class QJ extends C{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new UJ(n,this.config)}}class UJ extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function sJ(n,i){const{name:o,config:c}=Jn(n,i);return new bJ(o,c)}class bJ extends C{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new _J(n,this.config)}}class _J extends j{static[J]="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 LJ(n,i){const{name:o,config:c}=Jn(n,i);return new jJ(o,c)}class jJ extends C{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new NJ(n,this.config)}}class NJ extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function DJ(n,i){const{name:o,config:c}=Jn(n,i);return new yJ(o,c)}class yJ extends C{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new BJ(n,this.config)}}class BJ extends j{static[J]="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 hJ(){return{bigint:c1,bigserial:l1,boolean:Oa,char:S1,cidr:A1,customType:R1,date:X1,doublePrecision:Y1,inet:H1,integer:qx,interval:b1,json:s1,jsonb:N1,line:h1,macaddr:t1,macaddr8:Z1,numeric:P1,point:iJ,geometry:mJ,real:$J,serial:SJ,smallint:AJ,smallserial:RJ,text:XJ,time:zJ,timestamp:wo,uuid:yi,varchar:$i,bit:VJ,halfvec:sJ,sparsevec:LJ,vector:DJ}}function M6(n,i,o,c,p=n){const a=new So(n,c,p),x=typeof i==="function"?i(hJ()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const M=S.build(a);return a[zf].push(...S.buildForeignKeys(M,a)),[$,M]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const M=S.buildExtraConfigColumn(a);return[$,M]})),f=Object.assign(a,m);if(f[D.Symbol.Columns]=m,f[D.Symbol.ExtraConfigColumns]=l,o)f[So.Symbol.ExtraConfigBuilder]=o;return f}var zf=Symbol.for("drizzle:PgInlineForeignKeys");class So extends D{static[J]="PgTable";static Symbol=Object.assign({},D.Symbol,{InlineForeignKeys:zf});[zf]=[];[D.Symbol.ExtraConfigBuilder]=void 0}var ac=(n,i,o)=>{return M6(n,i,o,void 0)};function IJ(...n){if(n[0].columns)return new Ha(n[0].columns,n[0].name);return new Ha(n)}class Ha{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new CJ(n,this.columns,this.name)}}class CJ{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[So.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}function kJ(){return{and:Hc,between:DS,eq:Ho,exists:yS,gt:tx,gte:VS,ilike:tS,inArray:sS,isNull:NS,isNotNull:LS,like:IS,lt:bS,lte:_S,ne:ES,not:US,notBetween:hS,notExists:BS,notLike:CS,notIlike:kS,notInArray:jS,or:QS,sql:F}}function rJ(){return{sql:F,asc:rS,desc:ZS}}function ZJ(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,D))n=n.default;const o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,D)){const m=Oc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[D.Symbol.Name],schema:x[D.Symbol.Schema],columns:x[D.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[D.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);const f=x[D.Symbol.ExtraConfigBuilder]?.(x[D.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Ha))p[a].primaryKey.push(...$.columns)}}else if(u(x,tJ)){const m=Oc(x.table),l=o[m],f=x.config(i(x.table));let $;for(let[v,S]of Object.entries(f))if(l){const M=p[l];if(M.relations[v]=S,$)M.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function T6(n){return function i(o,c){return new xc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function R6(n){return function i(o,c){return new Ea(n,o,c)}}function qJ(n,i,o){if(u(o,xc)&&o.config)return{fields:o.config.fields,references:o.config.references};const c=i[Oc(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[D.Symbol.Name]}" not found in schema`);const p=n[c];if(!p)throw new Error(`Table "${c}" not found in schema`);const a=o.sourceTable,x=i[Oc(a)];if(!x)throw new Error(`Table "${a[D.Symbol.Name]}" not found in schema`);const m=[];for(let l of Object.values(p.relations))if(o.relationName&&o!==l&&l.relationName===o.relationName||!o.relationName&&l.referencedTable===o.sourceTable)m.push(l);if(m.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(m[0]&&u(m[0],xc)&&m[0].config)return{fields:m[0].config.references,references:m[0].config.fields};throw new Error(`There is not enough information to infer relation "${x}.${o.fieldName}"`)}function PJ(n){return{one:T6(n),many:R6(n)}}function cm(n,i,o,c,p=(a)=>a){const a={};for(let[x,m]of c.entries())if(m.isJson){const l=i.relations[m.tsKey],f=o[x],$=typeof f==="string"?JSON.parse(f):f;a[m.tsKey]=u(l,xc)?$&&cm(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>cm(n,n[m.relationTableTsKey],v,m.selection,p))}else{const l=p(o[x]),f=m.field;let $;if(u(f,_n))$=f;else if(u(f,t))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}class Yf{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[D.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class tJ{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class xc extends Yf{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){const i=new xc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ea extends Yf{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){const i=new Ea(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}var sT=al(_T(),1),{Server:jT,Namespace:FL,Socket:AL}=sT.default;function $5(n){yT=n}function Qm(){return yT}function B(n,i){const o=Qm(),c=Um({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Up?void 0:Up].filter((p)=>!!p)});n.common.issues.push(c)}function Vm(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 BT(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}function mn(n){if(!n)return{};const{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:(x,m)=>{var l,f;const{message:$}=n;if(x.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:m.defaultError};if(typeof m.data==="undefined")return{message:(l=$!==null&&$!==void 0?$:c)!==null&&l!==void 0?l:m.defaultError};if(x.code!=="invalid_type")return{message:m.defaultError};return{message:(f=$!==null&&$!==void 0?$:o)!==null&&f!==void 0?f:m.defaultError}},description:p}}function hT(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 z5(n){return new RegExp(`^${hT(n)}\$`)}function IT(n){let i=`${DT}T${hT(n)}`;const 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 Y5(n,i){if((i==="v4"||!i)&&K5.test(n))return!0;if((i==="v6"||!i)&&W5.test(n))return!0;return!1}function u5(n,i){const o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,a=parseInt(n.toFixed(p).replace(".","")),x=parseInt(i.toFixed(p).replace(".",""));return a%x/Math.pow(10,p)}function Hp(n){if(n instanceof In){const i={};for(let o in n.shape){const c=n.shape[o];i[o]=Ko.create(Hp(c))}return new In({...n._def,shape:()=>i})}else if(n instanceof Ro)return new Ro({...n._def,type:Hp(n.element)});else if(n instanceof Ko)return Ko.create(Hp(n.unwrap()));else if(n instanceof ho)return ho.create(Hp(n.unwrap()));else if(n instanceof Uo)return Uo.create(n.items.map((i)=>Hp(i)));else return n}function z$(n,i){const o=vc(n),c=vc(i);if(n===i)return{valid:!0,data:n};else if(o===h.object&&c===h.object){const p=Tn.objectKeys(i),a=Tn.objectKeys(n).filter((m)=>p.indexOf(m)!==-1),x={...n,...i};for(let m of a){const l=z$(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===h.array&&c===h.array){if(n.length!==i.length)return{valid:!1};const p=[];for(let a=0;a<n.length;a++){const x=n[a],m=i[a],l=z$(x,m);if(!l.valid)return{valid:!1};p.push(l.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}}function CT(n,i){return new Fc({values:n,typeName:g.ZodEnum,...mn(i)})}function tT(n,i={},o){if(n)return Lc.create().superRefine((c,p)=>{var a,x;if(!n(c)){const m=typeof i==="function"?i(c):typeof i==="string"?{message:i}:i,l=(x=(a=m.fatal)!==null&&a!==void 0?a:o)!==null&&x!==void 0?x:!0,f=typeof m==="string"?{message:m}:m;p.addIssue({code:"custom",...f,fatal:l})}});return Lc.create()}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)=>{const a={};for(let x of p)a[x]=x;return a},n.getValidEnumValues=(p)=>{const a=n.objectKeys(p).filter((m)=>typeof p[p[m]]!=="number"),x={};for(let m of a)x[m]=p[m];return n.objectValues(x)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(a){return p[a]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{const a=[];for(let x in p)if(Object.prototype.hasOwnProperty.call(p,x))a.push(x);return a},n.find=(p,a)=>{for(let x of p)if(a(x))return x;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,a=" | "){return p.map((x)=>typeof x==="string"?`'${x}'`:x).join(a)}n.joinValues=c,n.jsonStringifyReplacer=(p,a)=>{if(typeof a==="bigint")return a.toString();return a}})(Tn||(Tn={}));var W$;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(W$||(W$={}));var h=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vc=(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}},Q=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"]),f5=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}get errors(){return this.issues}format(n){const i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let a of p.issues)if(a.code==="invalid_union")a.unionErrors.map(c);else if(a.code==="invalid_return_type")c(a.returnTypeError);else if(a.code==="invalid_arguments")c(a.argumentsError);else if(a.path.length===0)o._errors.push(i(a));else{let x=o,m=0;while(m<a.path.length){const l=a.path[m];if(m!==a.path.length-1)x[l]=x[l]||{_errors:[]};else x[l]=x[l]||{_errors:[]},x[l]._errors.push(i(a));x=x[l],m++}}};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){const 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 Up=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===h.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case Q.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case Q.invalid_arguments:o="Invalid function arguments";break;case Q.invalid_return_type:o="Invalid function return type";break;case Q.invalid_date:o="Invalid date";break;case Q.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 Q.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 Q.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 Q.custom:o="Invalid input";break;case Q.invalid_intersection_types:o="Intersection results could not be merged";break;case Q.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case Q.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},yT=Up,Um=(n)=>{const{data:i,path:o,errorMaps:c,issueData:p}=n,a=[...o,...p.path||[]],x={...p,path:a};if(p.message!==void 0)return{...p,path:a,message:p.message};let m="";const l=c.filter((f)=>!!f).slice().reverse();for(let f of l)m=f(x,{data:i,defaultError:m}).message;return{...p,path:a,message:m}},v5=[];class Wi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){const o=[];for(let c of i){if(c.status==="aborted")return nn;if(c.status==="dirty")n.dirty();o.push(c.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){const o=[];for(let c of i){const p=await c.key,a=await c.value;o.push({key:p,value:a})}return Wi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){const o={};for(let c of i){const{key:p,value:a}=c;if(p.status==="aborted")return nn;if(a.status==="aborted")return nn;if(p.status==="dirty")n.dirty();if(a.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof a.value!=="undefined"||c.alwaysSet))o[p.value]=a.value}return{status:n.value,value:o}}}var nn=Object.freeze({status:"aborted"}),Ep=(n)=>({status:"dirty",value:n}),Hi=(n)=>({status:"valid",value:n}),X$=(n)=>n.status==="aborted",G$=(n)=>n.status==="dirty",ya=(n)=>n.status==="valid",Ba=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;var r;(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})(r||(r={}));var Na,La;class Wo{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 NT=(n,i)=>{if(ya(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;const o=new Ii(n.common.issues);return this._error=o,this._error}}}};class fn{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)}get description(){return this._def.description}_getType(n){return vc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Wi,ctx:{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Ba(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){const i=this._parse(n);return Promise.resolve(i)}parse(n,i){const o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;const 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:vc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return NT(c,p)}async parseAsync(n,i){const o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){const 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:vc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ba(c)?c:Promise.resolve(c));return NT(o,p)}refine(n,i){const 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)=>{const a=n(c),x=()=>p.addIssue({code:Q.custom,...o(c)});if(typeof Promise!=="undefined"&&a instanceof Promise)return a.then((m)=>{if(!m)return x(),!1;else return!0});if(!a)return x(),!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 oo({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Ko.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ro.create(this,this._def)}promise(){return Bc.create(this,this._def)}or(n){return sp.create([this,n],this._def)}and(n){return jp.create(this,n,this._def)}transform(n){return new oo({...mn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new Bp({...mn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new _m({typeName:g.ZodBranded,type:this,...mn(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new Dp({...mn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return ka.create(this,n)}readonly(){return hp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var w5=/^c[^\s-]{8,}$/i,S5=/^[0-9a-z]+$/,J5=/^[0-9A-HJKMNP-TV-Z]{26}$/,F5=/^[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,A5=/^[a-z0-9_-]{21}$/i,M5=/^[-+]?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)?)??$/,T5=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,R5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",K$,K5=/^(?:(?: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])$/,W5=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,X5=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,DT="((\\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])))",G5=new RegExp(`^${DT}\$`);class To extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==h.string){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.string,received:p.parsedType}),nn}const o=new Wi;let 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),B(c,{code:Q.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),B(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){const a=n.data.length>p.value,x=n.data.length<p.value;if(a||x){if(c=this._getOrReturnCtx(n,c),a)B(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)B(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!T5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!K$)K$=new RegExp(R5,"u");if(!K$.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!F5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!A5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!w5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!S5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!J5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"ulid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(a){c=this._getOrReturnCtx(n,c),B(c,{validation:"url",code:Q.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),B(c,{validation:"regex",code:Q.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),B(c,{code:Q.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),B(c,{code:Q.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),B(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!IT(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!G5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!z5(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!M5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!Y5(n.data,p.version))c=this._getOrReturnCtx(n,c),B(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!X5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"base64",code:Q.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:Q.invalid_string,...r.errToObj(o)})}_addCheck(n){return new To({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...r.errToObj(n)})}url(n){return this._addCheck({kind:"url",...r.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...r.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...r.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...r.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...r.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...r.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...r.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...r.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...r.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,...r.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,...r.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...r.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...r.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...r.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...r.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...r.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...r.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...r.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...r.errToObj(i)})}nonempty(n){return this.min(1,r.errToObj(n))}trim(){return new To({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new To({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new To({...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 isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}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}}To.create=(n)=>{var i;return new To({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};class Sc extends fn{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){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.number,received:p.parsedType}),nn}let o=void 0;const c=new Wi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),B(o,{code:Q.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),B(o,{code:Q.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),B(o,{code:Q.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(u5(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),B(o,{code:Q.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),B(o,{code:Q.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,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new Sc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Sc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:r.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:r.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r.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)}}Sc.create=(n)=>{return new Sc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Jc extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)n.data=BigInt(n.data);if(this._getType(n)!==h.bigint){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.bigint,received:p.parsedType}),nn}let o=void 0;const c=new Wi;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),B(o,{code:Q.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),B(o,{code:Q.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),B(o,{code:Q.not_multiple_of,multipleOf:p.value,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,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new Jc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Jc({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.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}}Jc.create=(n)=>{var i;return new Jc({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};class Vp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==h.boolean){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.boolean,received:o.parsedType}),nn}return Hi(n.data)}}Vp.create=(n)=>{return new Vp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Nc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==h.date){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_date}),nn}const o=new Wi;let 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),B(c,{code:Q.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),B(c,{code:Q.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 Nc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:r.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:r.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}}Nc.create=(n)=>{return new Nc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...mn(n)})};class Da extends fn{_parse(n){if(this._getType(n)!==h.symbol){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.symbol,received:o.parsedType}),nn}return Hi(n.data)}}Da.create=(n)=>{return new Da({typeName:g.ZodSymbol,...mn(n)})};class bp extends fn{_parse(n){if(this._getType(n)!==h.undefined){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.undefined,received:o.parsedType}),nn}return Hi(n.data)}}bp.create=(n)=>{return new bp({typeName:g.ZodUndefined,...mn(n)})};class _p extends fn{_parse(n){if(this._getType(n)!==h.null){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.null,received:o.parsedType}),nn}return Hi(n.data)}}_p.create=(n)=>{return new _p({typeName:g.ZodNull,...mn(n)})};class Lc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Hi(n.data)}}Lc.create=(n)=>{return new Lc({typeName:g.ZodAny,...mn(n)})};class wc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Hi(n.data)}}wc.create=(n)=>{return new wc({typeName:g.ZodUnknown,...mn(n)})};class Qo extends fn{_parse(n){const i=this._getOrReturnCtx(n);return B(i,{code:Q.invalid_type,expected:h.never,received:i.parsedType}),nn}}Qo.create=(n)=>{return new Qo({typeName:g.ZodNever,...mn(n)})};class ha extends fn{_parse(n){if(this._getType(n)!==h.undefined){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.void,received:o.parsedType}),nn}return Hi(n.data)}}ha.create=(n)=>{return new ha({typeName:g.ZodVoid,...mn(n)})};class Ro extends fn{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==h.array)return B(i,{code:Q.invalid_type,expected:h.array,received:i.parsedType}),nn;if(c.exactLength!==null){const a=i.data.length>c.exactLength.value,x=i.data.length<c.exactLength.value;if(a||x)B(i,{code:a?Q.too_big:Q.too_small,minimum:x?c.exactLength.value:void 0,maximum:a?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)B(i,{code:Q.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)B(i,{code:Q.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((a,x)=>{return c.type._parseAsync(new Wo(i,a,i.path,x))})).then((a)=>{return Wi.mergeArray(o,a)});const p=[...i.data].map((a,x)=>{return c.type._parseSync(new Wo(i,a,i.path,x))});return Wi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new Ro({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new Ro({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new Ro({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}Ro.create=(n,i)=>{return new Ro({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...mn(i)})};class In extends fn{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const n=this._def.shape(),i=Tn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==h.object){const l=this._getOrReturnCtx(n);return B(l,{code:Q.invalid_type,expected:h.object,received:l.parsedType}),nn}const{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:a}=this._getCached(),x=[];if(!(this._def.catchall instanceof Qo&&this._def.unknownKeys==="strip")){for(let l in c.data)if(!a.includes(l))x.push(l)}const m=[];for(let l of a){const f=p[l],$=c.data[l];m.push({key:{status:"valid",value:l},value:f._parse(new Wo(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Qo){const l=this._def.unknownKeys;if(l==="passthrough")for(let f of x)m.push({key:{status:"valid",value:f},value:{status:"valid",value:c.data[f]}});else if(l==="strict"){if(x.length>0)B(c,{code:Q.unrecognized_keys,keys:x}),o.dirty()}else if(l==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(let f of x){const $=c.data[f];m.push({key:{status:"valid",value:f},value:l._parse(new Wo(c,$,c.path,f)),alwaysSet:f in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{const l=[];for(let f of m){const $=await f.key,v=await f.value;l.push({key:$,value:v,alwaysSet:f.alwaysSet})}return l}).then((l)=>{return Wi.mergeObjectSync(o,l)});else return Wi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new In({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,a,x;const m=(a=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&a!==void 0?a:o.defaultError;if(i.code==="unrecognized_keys")return{message:(x=r.errToObj(n).message)!==null&&x!==void 0?x:m};return{message:m}}}:{}})}strip(){return new In({...this._def,unknownKeys:"strip"})}passthrough(){return new In({...this._def,unknownKeys:"passthrough"})}extend(n){return new In({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new In({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:g.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new In({...this._def,catchall:n})}pick(n){const i={};return Tn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new In({...this._def,shape:()=>i})}omit(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new In({...this._def,shape:()=>i})}deepPartial(){return Hp(this)}partial(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{const c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new In({...this._def,shape:()=>i})}required(n){const 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 Ko)p=p._def.innerType;i[o]=p}}),new In({...this._def,shape:()=>i})}keyof(){return CT(Tn.objectKeys(this.shape))}}In.create=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.strictCreate=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strict",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.lazycreate=(n,i)=>{return new In({shape:n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};class sp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let x of p)if(x.result.status==="valid")return x.result;for(let x of p)if(x.result.status==="dirty")return i.common.issues.push(...x.ctx.common.issues),x.result;const a=p.map((x)=>new Ii(x.ctx.common.issues));return B(i,{code:Q.invalid_union,unionErrors:a}),nn}if(i.common.async)return Promise.all(o.map(async(p)=>{const a={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:a}),ctx:a}})).then(c);else{let p=void 0;const a=[];for(let m of o){const l={...i,common:{...i.common,issues:[]},parent:null},f=m._parseSync({data:i.data,path:i.path,parent:l});if(f.status==="valid")return f;else if(f.status==="dirty"&&!p)p={result:f,ctx:l};if(l.common.issues.length)a.push(l.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;const x=a.map((m)=>new Ii(m));return B(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}sp.create=(n,i)=>{return new sp({options:n,typeName:g.ZodUnion,...mn(i)})};var Do=(n)=>{if(n instanceof Np)return Do(n.schema);else if(n instanceof oo)return Do(n.innerType());else if(n instanceof Lp)return[n.value];else if(n instanceof Fc)return n.options;else if(n instanceof yp)return Tn.objectValues(n.enum);else if(n instanceof Bp)return Do(n._def.innerType);else if(n instanceof bp)return[void 0];else if(n instanceof _p)return[null];else if(n instanceof Ko)return[void 0,...Do(n.unwrap())];else if(n instanceof ho)return[null,...Do(n.unwrap())];else if(n instanceof _m)return Do(n.unwrap());else if(n instanceof hp)return Do(n.unwrap());else if(n instanceof Dp)return Do(n._def.innerType);else return[]};class bm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.object)return B(i,{code:Q.invalid_type,expected:h.object,received:i.parsedType}),nn;const o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return B(i,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),nn;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){const c=new Map;for(let p of i){const a=Do(p.shape[n]);if(!a.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let x of a){if(c.has(x))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(x)}`);c.set(x,p)}}return new bm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...mn(o)})}}class jp extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(X$(p)||X$(a))return nn;const x=z$(p.value,a.value);if(!x.valid)return B(o,{code:Q.invalid_intersection_types}),nn;if(G$(p)||G$(a))i.dirty();return{status:i.value,value:x.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,a])=>c(p,a));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}))}}jp.create=(n,i,o)=>{return new jp({left:n,right:i,typeName:g.ZodIntersection,...mn(o)})};class Uo extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.array)return B(o,{code:Q.invalid_type,expected:h.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return B(o,{code:Q.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),nn;if(!this._def.rest&&o.data.length>this._def.items.length)B(o,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();const p=[...o.data].map((a,x)=>{const m=this._def.items[x]||this._def.rest;if(!m)return null;return m._parse(new Wo(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Wi.mergeArray(i,a)});else return Wi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Uo({...this._def,rest:n})}}Uo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Uo({items:n,typeName:g.ZodTuple,rest:null,...mn(i)})};class Ia extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.object)return B(o,{code:Q.invalid_type,expected:h.object,received:o.parsedType}),nn;const c=[],p=this._def.keyType,a=this._def.valueType;for(let x in o.data)c.push({key:p._parse(new Wo(o,x,o.path,x)),value:a._parse(new Wo(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Wi.mergeObjectAsync(i,c);else return Wi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ia({keyType:n,valueType:i,typeName:g.ZodRecord,...mn(o)});return new Ia({keyType:To.create(),valueType:n,typeName:g.ZodRecord,...mn(i)})}}class Ca extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.map)return B(o,{code:Q.invalid_type,expected:h.map,received:o.parsedType}),nn;const c=this._def.keyType,p=this._def.valueType,a=[...o.data.entries()].map(([x,m],l)=>{return{key:c._parse(new Wo(o,x,o.path,[l,"key"])),value:p._parse(new Wo(o,m,o.path,[l,"value"]))}});if(o.common.async){const x=new Map;return Promise.resolve().then(async()=>{for(let m of a){const l=await m.key,f=await m.value;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}})}else{const x=new Map;for(let m of a){const{key:l,value:f}=m;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}}}}Ca.create=(n,i,o)=>{return new Ca({valueType:i,keyType:n,typeName:g.ZodMap,...mn(o)})};class yc extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.set)return B(o,{code:Q.invalid_type,expected:h.set,received:o.parsedType}),nn;const c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)B(o,{code:Q.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)B(o,{code:Q.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}const p=this._def.valueType;function a(m){const l=new Set;for(let f of m){if(f.status==="aborted")return nn;if(f.status==="dirty")i.dirty();l.add(f.value)}return{status:i.value,value:l}}const x=[...o.data.values()].map((m,l)=>p._parse(new Wo(o,m,o.path,l)));if(o.common.async)return Promise.all(x).then((m)=>a(m));else return a(x)}min(n,i){return new yc({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new yc({...this._def,maxSize:{value:n,message:r.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}yc.create=(n,i)=>{return new yc({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...mn(i)})};class Qp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.function)return B(i,{code:Q.invalid_type,expected:h.function,received:i.parsedType}),nn;function o(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].filter((l)=>!!l),issueData:{code:Q.invalid_return_type,returnTypeError:m}})}const p={errorMap:i.common.contextualErrorMap},a=i.data;if(this._def.returns instanceof Bc){const x=this;return Hi(async function(...m){const l=new Ii([]),f=await x._def.args.parseAsync(m,p).catch((S)=>{throw l.addIssue(o(m,S)),l}),$=await Reflect.apply(a,this,f);return await x._def.returns._def.type.parseAsync($,p).catch((S)=>{throw l.addIssue(c($,S)),l})})}else{const x=this;return Hi(function(...m){const l=x._def.args.safeParse(m,p);if(!l.success)throw new Ii([o(m,l.error)]);const f=Reflect.apply(a,this,l.data),$=x._def.returns.safeParse(f,p);if(!$.success)throw new Ii([c(f,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new Qp({...this._def,args:Uo.create(n).rest(wc.create())})}returns(n){return new Qp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Qp({args:n?n:Uo.create([]).rest(wc.create()),returns:i||wc.create(),typeName:g.ZodFunction,...mn(o)})}}class Np extends fn{get schema(){return this._def.getter()}_parse(n){const{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}Np.create=(n,i)=>{return new Np({getter:n,typeName:g.ZodLazy,...mn(i)})};class Lp extends fn{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return B(i,{received:i.data,code:Q.invalid_literal,expected:this._def.value}),nn}return{status:"valid",value:n.data}}get value(){return this._def.value}}Lp.create=(n,i)=>{return new Lp({value:n,typeName:g.ZodLiteral,...mn(i)})};class Fc extends fn{constructor(){super(...arguments);Na.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{expected:Tn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,Na,"f"))BT(this,Na,new Set(this._def.values),"f");if(!Vm(this,Na,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Hi(n.data)}get options(){return this._def.values}get enum(){const n={};for(let i of this._def.values)n[i]=i;return n}get Values(){const n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){const n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return Fc.create(n,{...this._def,...i})}exclude(n,i=this._def){return Fc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Na=new WeakMap;Fc.create=CT;class yp extends fn{constructor(){super(...arguments);La.set(this,void 0)}_parse(n){const i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==h.string&&o.parsedType!==h.number){const c=Tn.objectValues(i);return B(o,{expected:Tn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,La,"f"))BT(this,La,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!Vm(this,La,"f").has(n.data)){const c=Tn.objectValues(i);return B(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Hi(n.data)}get enum(){return this._def.values}}La=new WeakMap;yp.create=(n,i)=>{return new yp({values:n,typeName:g.ZodNativeEnum,...mn(i)})};class Bc extends fn{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.promise&&i.common.async===!1)return B(i,{code:Q.invalid_type,expected:h.promise,received:i.parsedType}),nn;const o=i.parsedType===h.promise?i.data:Promise.resolve(i.data);return Hi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Bc.create=(n,i)=>{return new Bc({type:n,typeName:g.ZodPromise,...mn(i)})};class oo extends fn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===g.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=this._def.effect||null,p={addIssue:(a)=>{if(B(o,a),a.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){const a=c.transform(o.data,p);if(o.common.async)return Promise.resolve(a).then(async(x)=>{if(i.value==="aborted")return nn;const m=await this._def.schema._parseAsync({data:x,path:o.path,parent:o});if(m.status==="aborted")return nn;if(m.status==="dirty")return Ep(m.value);if(i.value==="dirty")return Ep(m.value);return m});else{if(i.value==="aborted")return nn;const x=this._def.schema._parseSync({data:a,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")return Ep(x.value);if(i.value==="dirty")return Ep(x.value);return x}}if(c.type==="refinement"){const a=(x)=>{const m=c.refinement(x,p);if(o.common.async)return Promise.resolve(m);if(m instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return x};if(o.common.async===!1){const x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value),{status:i.value,value:x.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value).then(()=>{return{status:i.value,value:x.value}})})}if(c.type==="transform")if(o.common.async===!1){const a=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!ya(a))return a;const x=c.transform(a.value,p);if(x instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:x}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((a)=>{if(!ya(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Tn.assertNever(c)}}oo.create=(n,i,o)=>{return new oo({schema:n,typeName:g.ZodEffects,effect:i,...mn(o)})};oo.createWithPreprocess=(n,i,o)=>{return new oo({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...mn(o)})};class Ko extends fn{_parse(n){if(this._getType(n)===h.undefined)return Hi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Ko.create=(n,i)=>{return new Ko({innerType:n,typeName:g.ZodOptional,...mn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===h.null)return Hi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...mn(i)})};class Bp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);let 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}}Bp.create=(n,i)=>{return new Bp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...mn(i)})};class Dp extends fn{_parse(n){const{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(Ba(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}}Dp.create=(n,i)=>{return new Dp({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...mn(i)})};class ta extends fn{_parse(n){if(this._getType(n)!==h.nan){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ta.create=(n)=>{return new ta({typeName:g.ZodNaN,...mn(n)})};var O5=Symbol("zod_brand");class _m extends fn{_parse(n){const{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 ka extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{const p=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(p.status==="aborted")return nn;if(p.status==="dirty")return i.dirty(),Ep(p.value);else return this._def.out._parseAsync({data:p.value,path:o.path,parent:o})})();else{const c=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(c.status==="aborted")return nn;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 ka({in:n,out:i,typeName:g.ZodPipeline})}}class hp extends fn{_parse(n){const i=this._def.innerType._parse(n),o=(c)=>{if(ya(c))c.value=Object.freeze(c.value);return c};return Ba(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}hp.create=(n,i)=>{return new hp({innerType:n,typeName:g.ZodReadonly,...mn(i)})};var H5={object:In.lazycreate},g;(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"})(g||(g={}));var E5=(n,i={message:`Input not instance of ${n.name}`})=>tT((o)=>o instanceof n,i),kT=To.create,rT=Sc.create,Q5=ta.create,U5=Jc.create,ZT=Vp.create,V5=Nc.create,b5=Da.create,_5=bp.create,s5=_p.create,j5=Lc.create,N5=wc.create,L5=Qo.create,y5=ha.create,B5=Ro.create,ra=In.create,D5=In.strictCreate,h5=sp.create,I5=bm.create,C5=jp.create,t5=Uo.create,k5=Ia.create,r5=Ca.create,Z5=yc.create,q5=Qp.create,P5=Np.create,e5=Lp.create,g5=Fc.create,d5=yp.create,nG=Bc.create,LT=oo.create,iG=Ko.create,oG=ho.create,cG=oo.createWithPreprocess,pG=ka.create,aG=()=>kT().optional(),xG=()=>rT().optional(),mG=()=>ZT().optional(),lG={string:(n)=>To.create({...n,coerce:!0}),number:(n)=>Sc.create({...n,coerce:!0}),boolean:(n)=>Vp.create({...n,coerce:!0}),bigint:(n)=>Jc.create({...n,coerce:!0}),date:(n)=>Nc.create({...n,coerce:!0})},fG=nn,Qn=Object.freeze({__proto__:null,defaultErrorMap:Up,setErrorMap:$5,getErrorMap:Qm,makeIssue:Um,EMPTY_PATH:v5,addIssueToContext:B,ParseStatus:Wi,INVALID:nn,DIRTY:Ep,OK:Hi,isAborted:X$,isDirty:G$,isValid:ya,isAsync:Ba,get util(){return Tn},get objectUtil(){return W$},ZodParsedType:h,getParsedType:vc,ZodType:fn,datetimeRegex:IT,ZodString:To,ZodNumber:Sc,ZodBigInt:Jc,ZodBoolean:Vp,ZodDate:Nc,ZodSymbol:Da,ZodUndefined:bp,ZodNull:_p,ZodAny:Lc,ZodUnknown:wc,ZodNever:Qo,ZodVoid:ha,ZodArray:Ro,ZodObject:In,ZodUnion:sp,ZodDiscriminatedUnion:bm,ZodIntersection:jp,ZodTuple:Uo,ZodRecord:Ia,ZodMap:Ca,ZodSet:yc,ZodFunction:Qp,ZodLazy:Np,ZodLiteral:Lp,ZodEnum:Fc,ZodNativeEnum:yp,ZodPromise:Bc,ZodEffects:oo,ZodTransformer:oo,ZodOptional:Ko,ZodNullable:ho,ZodDefault:Bp,ZodCatch:Dp,ZodNaN:ta,BRAND:O5,ZodBranded:_m,ZodPipeline:ka,ZodReadonly:hp,custom:tT,Schema:fn,ZodSchema:fn,late:H5,get ZodFirstPartyTypeKind(){return g},coerce:lG,any:j5,array:B5,bigint:U5,boolean:ZT,date:V5,discriminatedUnion:I5,effect:LT,enum:g5,function:q5,instanceof:E5,intersection:C5,lazy:P5,literal:e5,map:r5,nan:Q5,nativeEnum:d5,never:L5,null:s5,nullable:oG,number:rT,object:ra,oboolean:mG,onumber:xG,optional:iG,ostring:aG,pipeline:pG,preprocess:cG,promise:nG,record:k5,set:Z5,strictObject:D5,string:kT,symbol:b5,transformer:LT,tuple:t5,undefined:_5,union:h5,unknown:N5,void:y5,NEVER:fG,ZodIssueCode:Q,quotelessJson:f5,ZodError:Ii});function qT(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[T,O]of Object.entries(i))if(O==="")delete i[T]}if(!!n.skipValidation)return i;const p=typeof n.client==="object"?n.client:{},a=typeof n.server==="object"?n.server:{},x=typeof n.shared==="object"?n.shared:{},m=ra(p),l=ra(a),f=ra(x),$=n.isServer??(typeof window==="undefined"||("Deno"in window)),v=m.merge(f),S=l.merge(f).merge(m),M=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((T)=>{throw console.error("\u274C Invalid environment variables:",T.flatten().fieldErrors),new Error("Invalid environment variables")}),A=n.onInvalidAccess??((T)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(M.success===!1)return R(M.error);const X=(T)=>{if(!n.clientPrefix)return!0;return!T.startsWith(n.clientPrefix)&&!(T in f.shape)},G=(T)=>{return $||!X(T)},Y=(T)=>{return T==="__esModule"||T==="$$typeof"},E=(n.extends??[]).reduce((T,O)=>{return Object.assign(T,O)},{}),s=Object.assign(M.data,E);return new Proxy(s,{get(T,O){if(typeof O!=="string")return;if(Y(O))return;if(!G(O))return A(O);return Reflect.get(T,O)}})}var $G="__vite_start_time"in globalThis,vG=typeof window!=="undefined",pi=qT({isServer:!$G&&!vG,server:{POSTGRES_USER:Qn.string(),POSTGRES_PASSWORD:Qn.string(),POSTGRES_DATABASE:Qn.string(),POSTGRES_HOST:Qn.string(),POSTGRES_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:Qn.union([Qn.literal("true"),Qn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:Qn.string().transform((n)=>JSON.parse(n)).pipe(Qn.array(Qn.string())),OPENAI_API_KEY:Qn.string().optional()},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:Qn.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var Dc=new Yl,Xn=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:Dc.logger;on.STORE.loggers[0]=new pa("warn",void 0,Xn);import{spawn as wG}from"child_process";import{resolve as SG}from"path";function Y$(n,i,o=n.logger){const c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[SG(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=wG(p,x);return new $a(m,i,o)}var PT=al(af(),1);var JG=604800000,sm=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new PT.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){const p=Date.now();for(let[a,x]of c.entries())if(p-x>JG)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),Xn.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import xz from"path";import LG from"os";import yG from"fs";function FG(n){if(jm.has(n))return jm.get(n);const i=Error.stackTraceLimit;return Error.stackTraceLimit=4,jm.set(n,new Error),Error.stackTraceLimit=i,jm.get(n)}var jm=new Map,u$=new Map,O$=Symbol("OriginError"),Ip={};class co extends Promise{constructor(n,i,o,c,p={}){let a,x;super((m,l)=>{a=m,x=l});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=(m)=>(this.active=!1,a(m)),this.reject=(m)=>(this.active=!1,x(m)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[O$]=this.handler.debug?new Error:this.tagged&&FG(this.strings)}get origin(){return(this.handler.debug?this[O$].stack:this.tagged&&u$.has(this.strings)?u$.get(this.strings):u$.set(this.strings,this[O$].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();const c=new Promise((p,a)=>{this.cursorFn=(x)=>{return p({value:x,done:!1}),new Promise((m)=>o=m)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(x)=>(this.active=!1,a(x))});return this.execute(),c},return(){return o&&o(Ip),{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 eT(n,i,o){const{host:c,port:p}=o||i,a=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(a,eT),a}function gT(n){const i=new Cp(n);return Error.captureStackTrace(i,gT),i}function dT(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,dT),o}function nR(n){const i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,nR),i}class Cp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var gn={connection:eT,postgres:gT,generic:dT,notSupported:nR};function Dm(n,i,o,c){let p=n instanceof Vo?n.value:n;if(p===void 0){if(n instanceof Vo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw gn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Vo?(i.push(n.value),n.array?n.array[n.type||Lm(n.value)]||n.type||pR(n.value):n.type):(i.push(n),Lm(n)))}function U$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=V$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function V$(n,i,o,c,p){return i instanceof Bm?i.build(n,o,c,p):i instanceof co?Q$(i,o,c,p):i instanceof ea?i.value:i&&i[0]instanceof co?i.reduce((a,x)=>a+" "+Q$(x,o,c,p),""):Dm(i,o,c,p)}function Q$(n,i,o,c){return n.fragment=!0,U$(n,n.strings[0],n.args[0],i,o,c)}function cR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>V$("values",a[x],i,o,p)).join(",")+")").join(",")}function iR(n,i,o,c,p){const a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return cR(a?n:[n],o,c,x,p)}function Nm(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return b$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof co?Q$(a,o,c,p):a instanceof ea?a.value:Dm(a,o,c,p))+" as "+hm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}function H$(){throw gn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}function pR(n){if(Array.isArray(n))return pR(n[0]);return typeof n==="string"?1009:0}function xR(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 b$(n,{transform:{column:i}}){return n.map((o)=>hm(i.to?i.to(o):o)).join(",")}function XG(n){return n.replace(KG,"\\\\").replace(WG,'\\"')}function fR(n,i,o,c){const p=[],a=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(fR(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===a&&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}function _$(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,[a,x])=>Object.assign(p,{[n(a)]:i(x,c)}),{}):o}}var AG={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 ym{then(){H$()}catch(){H$()}finally(){H$()}}class ea extends ym{constructor(n){super();this.value=hm(n)}}class Vo extends ym{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Bm extends ym{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){const p=MG.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?b$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}var oR=xR(AG),MG=Object.entries({values:iR,in:(...n)=>{const i=iR(...n);return i==="()"?"(null)":i},select:Nm,as:Nm,returning:Nm,"\\(":Nm,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>hm(p.transform.column.to?p.transform.column.to(a):a)+"="+V$("values",n[a],o,c,p))},insert(n,i,o,c,p){const a=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+b$(a,p)+")values"+cR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]),TG=oR.serializers,RG=oR.parsers;var aR=function(n){const i=xR(n||{});return{serializers:Object.assign({},TG,i.serializers),parsers:Object.assign({},RG,i.parsers)}},hm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},Lm=function n(i){return i instanceof Vo?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},KG=/\\/g,WG=/"/g,mR=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";const a=i[0],x=p===1020?";":",";if(Array.isArray(a)&&!a.type)return"{"+i.map((m)=>n(m,o,c,p)).join(x)+"}";return"{"+i.map((m)=>{if(m===void 0){if(m=c.transform.undefined,m===void 0)throw gn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+XG(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},E$={i:0,char:null,str:"",quoted:!1,last:0},lR=function n(i,o,c){return E$.i=E$.last=0,fR(E$,i,o,c)},hc=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Ic=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Cc=(n)=>n.replace(/_/g,"-"),Za=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),qa=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),Pa=(n)=>n.replace(/-/g,"_");hc.column={from:hc};hc.value={from:_$(hc)};Za.column={to:Za};var s$={...hc};s$.column.to=Za;Ic.column={from:Ic};Ic.value={from:_$(Ic)};qa.column={to:qa};var j$={...Ic};j$.column.to=qa;Cc.column={from:Cc};Cc.value={from:_$(Cc)};Pa.column={to:Pa};var N$={...Cc};N$.column.to=Pa;import $R from"net";import uG from"tls";import ga from"crypto";import L$ from"stream";import{performance as vR}from"perf_hooks";class tc 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}}function GG(n=[]){let i=n.slice(),o=0;return{get length(){return i.length-o},remove:(c)=>{const p=i.indexOf(c);return p===-1?null:(i.splice(p,1),c)},push:(c)=>(i.push(c),c),shift:()=>{const c=i[o++];if(o===i.length)o=0,i=[];else i[o-1]=void 0;return c}}}var Ci=GG;function Im(n){if(Xi.length-Hn.i<n){const i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function YG(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),zG="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{const o=i.charCodeAt(0);return n[i]=()=>{return Xi[0]=o,Hn.i=5,Hn},n},{}),Hn=Object.assign(YG,zG,{N:String.fromCharCode(0),i:0,inc(n){return Hn.i+=n,Hn},str(n){const i=Buffer.byteLength(n);return Im(i),Hn.i+=Xi.write(n,Hn.i,i,"utf8"),Hn},i16(n){return Im(2),Xi.writeUInt16BE(n,Hn.i),Hn.i+=2,Hn},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),Hn;return Im(4),Xi.writeUInt32BE(n,Hn.i),Hn.i+=4,Hn},z(n){return Im(n),Xi.fill(0,Hn.i,Hn.i+n),Hn.i+=n,Hn},raw(n){return Xi=Buffer.concat([Xi.subarray(0,Hn.i),n]),Hn.i=Xi.length,Hn},end(n=1){Xi.writeUInt32BE(Hn.i-n,n);const i=Xi.subarray(0,Hn.i);return Hn.i=0,Xi=Buffer.allocUnsafe(256),i}}),Z=Hn;function JR(n,i={},{onopen:o=tp,onend:c=tp,onclose:p=tp}={}){const{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:M,onnotify:R,onparameter:A,max_pipeline:X,keep_alive:G,backoff:Y,target_session_attrs:E}=n,s=Ci(),z=OG++,T={pid:null,secret:null},O=B$(ol,n.idle_timeout),U=B$(ol,n.max_lifetime),V=B$(ZR,n.connect_timeout);let K=null,y,_=new tc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Un={},si=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Gn=0,dn=0,wn=0,Vn=0,qn=0,yn=null,sn=null,vi=!1,bn=null,po=null,wi=null,Io=null,ni=null,jn=null,ao=null,Go=null,N=null,Pp=null;const Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,Fv()},terminate:gp,execute:ep,cancel:CR,end:ol,count:0,id:z};return i.closed&&i.closed.push(Si),Si;async function IR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new $R.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",Av),w.on("drain",Sv),w}async function CR({pid:w,secret:W},q,Rn){try{y=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await Jv(),K.once("error",Rn),K.once("close",q)}catch(Cn){Rn(Cn)}}function ep(w){if(vi)return px(w,gn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=T,N?s.push(w):(N=w,N.active=!0),rR(w),mi(tR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Ac),zo(W),!0}}function tR(w){if(w.parameters.length>=65534)throw gn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return w.options.simple?Z().Q().str(w.statement.string+Z.N).end():w.describeFirst?Buffer.concat([$v(w),wR]):w.prepare?w.prepared?cx(w):Buffer.concat([$v(w),cx(w)]):kR(w)}function $v(w){return Buffer.concat([Tv(w.statement.string,w.parameters,w.statement.types,w.statement.name),V4("S",w.statement.name)])}function cx(w){return Buffer.concat([U4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?Rv("",w.cursorRows):EG])}function kR(w){return Buffer.concat([Tv(w.statement.string,w.parameters,w.statement.types),QG,cx(w)])}function rR(w){const W=[],q=[],Rn=U$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((Cn)=>Dm(Cn,W,q,n)),w.prepare=n.prepare&&("prepare"in w.options?w.options.prepare:!0),w.string=Rn,w.signature=w.prepare&&q+Rn,w.onlyDescribe&&delete Un[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Un,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Un[w.signature]:{string:Rn,types:q,name:w.prepare?si+H++:""},typeof n.debug==="function"&&n.debug(z,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return vv(W);return sn===null&&(sn=setImmediate(vv)),!0}function vv(w){const W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function ZR(){zo(gn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function wv(){if(mi(HG),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=uG.connect({socket:K,servername:$R.isIP(K.host)?void 0:K.host,...a==="require"||a==="allow"||a==="prefer"?{rejectUnauthorized:!1}:a==="verify-full"?{}:typeof a==="object"?a:{}}),K.on("secureConnect",Zc),K.on("error",qc),K.on("close",Av),K.on("drain",Sv)}function Sv(){!N&&o(Si)}function il(w){if(bn){if(bn.push(w),Sn-=w.length,Sn>=0)return}P=bn?Buffer.concat(bn,wn-Sn):P.length===0?w:Buffer.concat([P,w],P.length+w.length);while(P.length>4){if(wn=P.readUInt32BE(1),wn>=P.length){Sn=wn-P.length,bn=[P];break}try{qR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Ac),zo(W)}P=P.subarray(wn+1),Sn=0,bn=null}}async function Jv(){if(vi=!1,$n={},K||(K=await IR()),!K)return;if(V.start(),n.socket)return a?wv():Zc();if(K.on("connect",a?wv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Gn],l[Gn]),K.host=l[Gn],K.port=f[Gn],Gn=(Gn+1)%f.length}function Fv(){setTimeout(Jv,k?k+Vn-vR.now():0)}function Zc(){try{Un={},ln=n.fetch_types,si=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",il),G&&K.setKeepAlive&&K.setKeepAlive(!0,1000*G);const w=_4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[dn+1])return;zo(w);while(s.length)px(s.shift(),w)}function zo(w){ni&&(ni.destroy(w),ni=null),N&&px(N,w),wi&&(px(wi,w),wi=null)}function px(w,W){Object.defineProperties(W,{stack:{value:W.stack+w.origin.replace(/.*\n/,"\n"),enumerable:n.debug},query:{value:w.string,enumerable:n.debug},parameters:{value:w.parameters,enumerable:n.debug},args:{value:w.args,enumerable:n.debug},types:{value:w.statement&&w.statement.types,enumerable:n.debug}}),w.reject(W)}function ol(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(gp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>ao=w))}function gp(){if(vi=!0,ni||N||wi||s.length)qc(gn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",il),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());ao&&(ao(),Io=ao=null)}async function Av(w){if(P=Buffer.alloc(0),Sn=0,bn=null,clearImmediate(sn),K.removeListener("data",il),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return Fv();!w&&(N||s.length)&&qc(gn.connection("CONNECTION_CLOSED",n,K)),k=vR.now(),w&&n.shared.retries++,Vn=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,gn.connection("CONNECTION_CLOSED",n,K))}function qR(w,W=w[0]){(W===68?PR:W===100?G4:W===65?M4:W===83?eR:W===90?gR:W===67?dR:W===50?Mv:W===49?n4:W===116?i4:W===84?o4:W===82?c4:W===110?f4:W===75?$4:W===69?F4:W===115?T4:W===51?R4:W===71?K4:W===78?Y4:W===72?W4:W===99?z4:W===73?u4:W===86?O4:W===118?H4:W===87?X4:E4)(w)}function PR(w){let W=7,q,Rn,Cn;const Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let Gi=0;Gi<N.statement.columns.length;Gi++)Rn=N.statement.columns[Gi],q=w.readInt32BE(W),W+=4,Cn=q===-1?null:N.isRaw===!0?w.subarray(W,W+=q):Rn.parser===void 0?w.toString("utf8",W,W+=q):Rn.parser.array===!0?Rn.parser(w.toString("utf8",W+1,W+=q)):Rn.parser(w.toString("utf8",W,W+=q)),N.isRaw?Ji[Gi]=N.isRaw===!0?Cn:S.value.from?S.value.from(Cn,Rn):Cn:Ji[Rn.name]=S.value.from?S.value.from(Cn,Rn):Cn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[qn++]=S.row.from?S.row.from(Ji):Ji}function eR(w){const[W,q]=w.toString("utf8",5,w.length-1).split(Z.N);if($n[W]=q,n.parameters[W]!==q)n.parameters[W]=q,A&&A(W,q)}function gR(w){if(N&&N.options.simple&&N.resolve(po||_),N=po=null,_=new tc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return J4();else if(S4(E,$n))return gp()}if(ln)return wi===!0&&(wi=null),v4();wi!==!0&&ep(wi),n.shared.retries=dn=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))JR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?gp():(Si.reserved=null,o(Si)):Si.reserved():Io?gp():o(Si)}function dR(w){qn=0;for(let W=w.length-1;W>0;W--){if(w[W]===32&&w[W+1]<58&&_.count===null)_.count=+w.toString("utf8",W+1,w.length-1);if(w[W-1]>=65){_.command=w.toString("utf8",5,W),_.state=T;break}}if(Pp&&(Pp(),Pp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return zo(gn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return Mv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Ac);N.resolve(_)}function n4(){N.parsing=!1}function Mv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function i4(w){const W=w.readUInt16BE(5);for(let q=0;q<W;++q)!N.statement.types[q]&&(N.statement.types[q]=w.readUInt32BE(7+q*4));N.prepare&&(Un[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(cx(N)),N.describeFirst=!1)}function o4(w){if(_.command)po=po||[_],po.push(_=new tc),_.count=null,N.statement.columns=null;const W=w.readUInt16BE(5);let q=7,Rn;N.statement.columns=Array(W);for(let Cn=0;Cn<W;++Cn){Rn=q;while(w[q++]!==0);const Ji=w.readUInt32BE(q),Gi=w.readUInt16BE(q+4),Co=w.readUInt32BE(q+6);N.statement.columns[Cn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[Co],table:Ji,number:Gi,type:Co},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}async function c4(w,W=w.readUInt32BE(5)){(W===3?p4:W===5?a4:W===10?x4:W===11?m4:W===12?l4:W!==0?Q4:tp)(w,W)}async function p4(){const w=await cl();mi(Z().p().str(w).z(1).end())}async function a4(w){const W="md5"+await SR(Buffer.concat([Buffer.from(await SR(await cl()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function x4(){Go=(await ga.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);const w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+Go).i32(Z.i-w-4,w).end())}async function m4(w){const W=w.toString("utf8",9).split(",").reduce((Gi,Co)=>(Gi[Co[0]]=Co.slice(2),Gi),{}),q=await ga.pbkdf2Sync(await cl(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await Cm(q,"Client Key"),Cn="n=*,r="+Go+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;yn=(await Cm(await Cm(q,"Server Key"),Cn)).toString("base64");const Ji="c=biws,r="+W.r+",p="+_G(Rn,Buffer.from(await Cm(await bG(Rn),Cn))).toString("base64");mi(Z().p().str(Ji).end())}function l4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===yn)return;zo(gn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function cl(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function f4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}function $4(w){T.pid=w.readUInt32BE(5),T.secret=w.readUInt32BE(9)}async function v4(){ln=!1,(await new co([`
|
|
37
|
+
*/ef.exports=F3;ef.exports.append=CA;var J3=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function CA(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?IA(String(i)):i;for(var c=0;c<o.length;c++)if(!J3.test(o[c]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var p=n,a=IA(n.toLowerCase());if(o.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var x=0;x<o.length;x++){var m=o[x].toLowerCase();if(a.indexOf(m)===-1)a.push(m),p=p?p+", "+o[x]:o[x]}return p}function IA(n){var i=0,o=[],c=0;for(var p=0,a=n.length;p<a;p++)switch(n.charCodeAt(p)){case 32:if(c===i)c=i=p+1;break;case 44:o.push(n.substring(c,i)),c=i=p+1;break;default:i=p+1;break}return o.push(n.substring(c,i)),o}function F3(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",c=Array.isArray(o)?o.join(", "):String(o);if(o=CA(c,i))n.setHeader("Vary",o)}});var gf=I((NN,kA)=>{(function(){var n=hA(),i=tA(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function c(R){return typeof R==="string"||R instanceof String}function p(R,A){if(Array.isArray(A)){for(var X=0;X<A.length;++X)if(p(R,A[X]))return!0;return!1}else if(c(A))return R===A;else if(A instanceof RegExp)return A.test(R);else return!!A}function a(R,A){var X=A.headers.origin,G=[],Y;if(!R.origin||R.origin==="*")G.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))G.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),G.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),G.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),G.push([{key:"Vary",value:"Origin"}]);return G}function x(R){var A=R.methods;if(A.join)A=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:A}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,A){var X=R.allowedHeaders||R.headers,G=[];if(!X)X=A.headers["access-control-request-headers"],G.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)G.push([{key:"Access-Control-Allow-Headers",value:X}]);return G}function f(R){var A=R.exposedHeaders;if(!A)return null;else if(A.join)A=A.join(",");if(A&&A.length)return{key:"Access-Control-Expose-Headers",value:A};return null}function $(R){var A=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(A&&A.length)return{key:"Access-Control-Max-Age",value:A};return null}function v(R,A){for(var X=0,G=R.length;X<G;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,A);else if(Y.key==="Vary"&&Y.value)i(A,Y.value);else if(Y.value)A.setHeader(Y.key,Y.value)}}}function S(R,A,X,G){var Y=[],E=A.method&&A.method.toUpperCase&&A.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,A)),Y.push(m(R,A)),Y.push(x(R,A)),Y.push(l(R,A)),Y.push($(R,A)),Y.push(f(R,A)),v(Y,X),R.preflightContinue)G();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,A)),Y.push(m(R,A)),Y.push(f(R,A)),v(Y,X),G()}function M(R){var A=null;if(typeof R==="function")A=R;else A=function(X,G){G(null,R)};return function X(G,Y,E){A(G,function(s,z){if(s)E(s);else{var T=n({},o,z),O=null;if(T.origin&&typeof T.origin==="function")O=T.origin;else if(T.origin)O=function(U,V){V(null,T.origin)};if(O)O(G.headers.origin,function(U,V){if(U||!V)E(U);else T.origin=V,S(T,G,Y,E)});else E()}})}}kA.exports=M})()});var df=I((dA)=>{Object.defineProperty(dA,"__esModule",{value:!0});dA.Server=dA.BaseServer=void 0;var A3=import.meta.require("querystring"),M3=import.meta.require("url"),rA=_f(),Rm=qf(),T3=import.meta.require("events"),ZA=Pf(),R3=xi(),K3=yA(),W3=import.meta.require("ws"),qA=Zf(),X3=Ua(),vn=R3.default("engine"),Wp=Symbol("responseHeaders");function G3(n){try{let i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}class ba extends T3.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:W3.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(gf()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Rm.default[n].upgradesTo||[]}verify(n,i,o){let c=n._query.transport;if(!~this.opts.transports.indexOf(c)||c==="webtransport")return vn('unknown transport "%s"',c),o(On.errors.UNKNOWN_TRANSPORT,{transport:c});if(z3(n.headers.origin)){let x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(On.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:x})}let a=n._query.sid;if(a){if(!this.clients.hasOwnProperty(a))return vn('unknown sid "%s"',a),o(On.errors.UNKNOWN_SID,{sid:a});let x=this.clients[a].transport.name;if(!i&&x!==c)return vn("bad request: unexpected transport without upgrade"),o(On.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(On.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(On.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(On.errors.FORBIDDEN,{message:x});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return vn("no middleware to apply, skipping"),o();let c=(p)=>{vn("applying middleware n\xB0%d",p+1),this.middlewares[p](n,i,(a)=>{if(a)return o(a);if(p+1<this.middlewares.length)c(p+1);else o()})};c(0)}close(){vn("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return rA.generateId()}async handshake(n,i,o){let c=i._query.EIO==="4"?4:3;if(c===3&&!this.opts.allowEIO3){vn("unsupported protocol version"),this.emit("connection_error",{req:i,code:On.errors.UNSUPPORTED_PROTOCOL_VERSION,message:On.errorMessages[On.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(On.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let p;try{p=await this.generateId(i)}catch(m){vn("error while generating an id"),this.emit("connection_error",{req:i,code:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(On.errors.BAD_REQUEST);return}vn('handshaking client "%s"',p);try{var a=this.createTransport(n,i);if(n==="polling")a.maxHttpBufferSize=this.opts.maxHttpBufferSize,a.httpCompression=this.opts.httpCompression;else if(n==="websocket")a.perMessageDeflate=this.opts.perMessageDeflate}catch(m){vn('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(On.errors.BAD_REQUEST);return}let x=new ZA.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[K3.serialize(this.opts.cookie.name,p,this.opts.cookie)];this.emit("initial_headers",m,l)}this.emit("headers",m,l)}),a.onRequest(i),this.clients[p]=x,this.clientsCount++,x.once("close",()=>{delete this.clients[p],this.clientsCount--}),this.emit("connection",x),a}async onWebTransportSession(n){let i=setTimeout(()=>{vn("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),c=await n.incomingBidirectionalStreams.getReader().read();if(c.done){vn("session is closed");return}let p=c.value,a=X3.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),x=p.readable.pipeThrough(a).getReader(),{value:m,done:l}=await x.read();if(l){vn("stream is closed");return}if(clearTimeout(i),m.type!=="open")return vn("invalid WebTransport handshake"),n.close();if(m.data===void 0){let v=new qA.WebTransport(n,p,x),S=rA.generateId();vn('handshaking client "%s" (WebTransport)',S);let M=new ZA.Socket(S,this,v,null,4);this.clients[S]=M,this.clientsCount++,M.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",M);return}let f=G3(m.data);if(!f)return vn("invalid WebTransport handshake"),n.close();let $=this.clients[f];if(!$)vn("upgrade attempt for closed client"),n.close();else if($.upgrading)vn("transport has already been trying to upgrade"),n.close();else if($.upgraded)vn("transport had already been upgraded"),n.close();else{vn("upgrading existing transport");let v=new qA.WebTransport(n,p,x);$._maybeUpgrade(v)}}}dA.BaseServer=ba;ba.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};ba.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class gA{constructor(n,i){this.req=n,this.socket=i,n[Wp]={}}setHeader(n,i){this.req[Wp][n]=i}getHeader(n){return this.req[Wp][n]}removeHeader(n){delete this.req[Wp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class On extends ba{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on==="function")this.ws.on("headers",(n,i)=>{let o=i[Wp]||{};if(delete i[Wp],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),vn("writing headers: %j",o),Object.keys(o).forEach((p)=>{n.push(`${p}: ${o[p]}`)})})}cleanup(){if(this.ws)vn("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?A3.parse(M3.parse(n.url).query):{}}createTransport(n,i){return new Rm.default[n](i)}handleRequest(n,i){vn('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;let o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:On.errorMessages[c],context:p}),PA(i,c,p);return}if(n._query.sid)vn("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{let a=(x,m)=>PA(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);let c=new gA(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:On.errorMessages[a],context:x}),eA(i,a,x);return}let m=Buffer.from(o);o=null,c.writeHead(),this.ws.handleUpgrade(n,i,m,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,c,(a)=>{if(a)p(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),Rm.default[n._query.transport]!==void 0&&!Rm.default[n._query.transport].prototype.handlesUpgrades){vn("transport doesnt handle upgraded requests"),o.close();return}let c=n._query.sid;if(n.websocket=o,c){let a=this.clients[c];if(!a)vn("upgrade attempt for closed client"),o.close();else if(a.upgrading)vn("transport has already been trying to upgrade"),o.close();else if(a.upgraded)vn("transport had already been upgraded"),o.close();else{vn("upgrading existing transport"),o.removeListener("error",p);let x=this.createTransport(n._query.transport,n);x.perMessageDeflate=this.opts.perMessageDeflate,a._maybeUpgrade(x)}}else{let a=(x,m)=>eA(i,x,m);this.handshake(n._query.transport,n,a)}function p(){vn("websocket error before upgrade")}}attach(n,i={}){let o=this._computePath(i),c=i.destroyUpgradeTimeout||1000;function p(x){return o===x.url.slice(0,o.length)}let a=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(x,m)=>{if(p(x))vn('intercepting request for path "%s"',o),this.handleRequest(x,m);else{let l=0,f=a.length;for(;l<f;l++)a[l].call(n,x,m)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(x,m,l)=>{if(p(x))this.handleUpgrade(x,m,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(m.writable&&m.bytesWritten<=0)return m.on("error",(f)=>{vn("error while destroying upgrade: %s",f.message)}),m.end()},c)})}}dA.Server=On;function PA(n,i,o){let c=i===On.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:On.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function eA(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){let c=o.message||On.errorMessages[i],p=Buffer.byteLength(c);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+p+"\r\n\r\n"+c)}n.destroy()}var Va=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];function z3(n){if(n+="",n.length<1)return!1;if(!Va[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Va[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Va[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Va[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Va[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}});var aM=I((cM)=>{Object.defineProperty(cM,"__esModule",{value:!0});cM.Polling=void 0;var u3=Uc(),iM=import.meta.require("zlib"),O3=am(),H3=xi(),no=H3.default("engine:polling"),E3={gzip:iM.createGzip,deflate:iM.createDeflate};class oM extends u3.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){let i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){no("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}no("setting request"),this.req=n,this.res=i;let o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},c=()=>{this.req=this.res=null};if(n.cleanup=c,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)no("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}let o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let p,a=0,x={"Content-Type":"text/html"};this.headers(n,x);for(let l in x)i.writeHeader(l,String(x[l]));let m=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,f)=>{let $=a+l.byteLength;if($>o){this.onError("content-length mismatch"),i.close();return}if(!p){if(f){m(Buffer.from(l));return}p=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(p,a),f){if($!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}m(p);return}a=$})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){no('received "%s"',n);let i=(o)=>{if(o.type==="close")return no("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)no("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;let i=(o)=>{let c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){no('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){let c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{this.headers(this.req,a),this.res.cork(()=>{Object.keys(a).forEach(($)=>{this.res.writeHeader($,String(a[$]))}),this.res.end(f)}),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}let l=O3(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){no("compressing");let c=[],p=0;E3[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){no("closing");let i,o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)no("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)no("transport discarded - closing right away"),o();else no("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};let o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}cM.Polling=oM});var $M=I((lM)=>{Object.defineProperty(lM,"__esModule",{value:!0});lM.WebSocket=void 0;var Q3=Uc(),U3=xi(),xM=U3.default("engine:ws");class mM extends Q3.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){let o=n[i],c=i+1===n.length,p=(a)=>{let x=typeof a!=="string",m=this.perMessageDeflate&&Buffer.byteLength(a)>this.perMessageDeflate.threshold;if(xM('writing "%s"',a),this.socket.send(a,x,m),c)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")p(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,p)}}doClose(n){xM("closing"),n&&n(),this.socket.end()}}lM.WebSocket=mM});var wM=I((vM)=>{Object.defineProperty(vM,"__esModule",{value:!0});var V3=aM(),b3=$M();vM.default={polling:V3.Polling,websocket:b3.WebSocket}});var MM=I((FM)=>{Object.defineProperty(FM,"__esModule",{value:!0});FM.uServer=void 0;var s3=xi(),Vc=df(),j3=wM(),fc=s3.default("engine:uws");class SM extends Vc.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();let o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((c,p)=>{n.headers[c]=p}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{fc("response has been aborted")})}createTransport(n,i){return new j3.default[n](i)}attach(n,i={}){let o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(c)=>{let p=c.getUserData().transport;p.socket=c,p.writable=!0,p.emit("ready")},message:(c,p,a)=>{c.getUserData().transport.onData(a?p:Buffer.from(p).toString())},close:(c,p,a)=>{c.getUserData().transport.onClose(p,a)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new JM(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){fc('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;let o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:i,code:c,message:Vc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)fc("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{let a=(x,m)=>this.abortRequest(n,x,m);this.handshake(i._query.transport,i,a)}};this._applyMiddlewares(i,n,(c)=>{if(c)o(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){fc("on upgrade"),this.prepare(i,n),i.res=n;let c=async(p,a)=>{if(p!==void 0){this.emit("connection_error",{req:i,code:p,message:Vc.Server.errorMessages[p],context:a}),this.abortRequest(n,p,a);return}let x=i._query.sid,m;if(x){let l=this.clients[x];if(!l)return fc("upgrade attempt for closed client"),n.close();else if(l.upgrading)return fc("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return fc("transport had already been upgraded"),n.close();else fc("upgrading existing transport"),m=this.createTransport(i._query.transport,i),l._maybeUpgrade(m)}else if(m=await this.handshake(i._query.transport,i,(l,f)=>this.abortRequest(n,l,f)),!m)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:m},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(p)=>{if(p)c(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){let c=i===Vc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Vc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}FM.uServer=SM;class JM{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var XM=I((Xp)=>{Object.defineProperty(Xp,"__esModule",{value:!0});Xp.protocol=Xp.Transport=Xp.Socket=Xp.uServer=Xp.parser=Xp.transports=Xp.Server=void 0;Xp.listen=h3;Xp.attach=KM;var N3=import.meta.require("http"),TM=df();Object.defineProperty(Xp,"Server",{enumerable:!0,get:function(){return TM.Server}});var L3=qf();Xp.transports=L3.default;var RM=Ua();Xp.parser=RM;var y3=MM();Object.defineProperty(Xp,"uServer",{enumerable:!0,get:function(){return y3.uServer}});var B3=Pf();Object.defineProperty(Xp,"Socket",{enumerable:!0,get:function(){return B3.Socket}});var D3=Uc();Object.defineProperty(Xp,"Transport",{enumerable:!0,get:function(){return D3.Transport}});Xp.protocol=RM.protocol;function h3(n,i,o){if(typeof i==="function")o=i,i={};let c=N3.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=KM(c,i);return p.httpServer=c,c.listen(n,o),p}function KM(n,i){let o=new TM.Server(i);return o.attach(n,i),o}});var GM=I((Z3)=>{Z3.Emitter=Oi;function Oi(n){if(n)return r3(n)}function r3(n){for(var i in Oi.prototype)n[i]=Oi.prototype[i];return n}Oi.prototype.on=Oi.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};Oi.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};Oi.prototype.off=Oi.prototype.removeListener=Oi.prototype.removeAllListeners=Oi.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var c;for(var p=0;p<o.length;p++)if(c=o[p],c===i||c.fn===i){o.splice(p,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};Oi.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var c=1;c<arguments.length;c++)i[c-1]=arguments[c];if(o){o=o.slice(0);for(var c=0,p=o.length;c<p;++c)o[c].apply(this,i)}return this};Oi.prototype.emitReserved=Oi.prototype.emit;Oi.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};Oi.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var n$=I((uM)=>{Object.defineProperty(uM,"__esModule",{value:!0});uM.hasBinary=uM.isBinary=void 0;var P3=typeof ArrayBuffer==="function",e3=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},zM=Object.prototype.toString,g3=typeof Blob==="function"||typeof Blob!=="undefined"&&zM.call(Blob)==="[object BlobConstructor]",d3=typeof File==="function"||typeof File!=="undefined"&&zM.call(File)==="[object FileConstructor]";function YM(n){return P3&&(n instanceof ArrayBuffer||e3(n))||g3&&n instanceof Blob||d3&&n instanceof File}uM.isBinary=YM;function Km(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(Km(n[o]))return!0;return!1}if(YM(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return Km(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&Km(n[o]))return!0;return!1}uM.hasBinary=Km});var QM=I((HM)=>{Object.defineProperty(HM,"__esModule",{value:!0});HM.reconstructPacket=HM.deconstructPacket=void 0;var iX=n$();function oX(n){let i=[],o=n.data,c=n;return c.data=i$(o,i),c.attachments=i.length,{packet:c,buffers:i}}HM.deconstructPacket=oX;function i$(n,i){if(!n)return n;if(iX.isBinary(n)){let o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){let o=new Array(n.length);for(let c=0;c<n.length;c++)o[c]=i$(n[c],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){let o={};for(let c in n)if(Object.prototype.hasOwnProperty.call(n,c))o[c]=i$(n[c],i);return o}return n}function cX(n,i){return n.data=o$(n.data,i),delete n.attachments,n}HM.reconstructPacket=cX;function o$(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=o$(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=o$(n[o],i)}return n}});var _a=I((NM)=>{Object.defineProperty(NM,"__esModule",{value:!0});NM.Decoder=NM.Encoder=NM.PacketType=NM.protocol=void 0;var aX=GM(),bM=QM(),_M=n$(),xX=xi(),c$=xX.default("socket.io-parser"),mX=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];NM.protocol=5;var tn;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(tn=NM.PacketType||(NM.PacketType={}));class sM{constructor(n){this.replacer=n}encode(n){if(c$("encoding packet %j",n),n.type===tn.EVENT||n.type===tn.ACK){if(_M.hasBinary(n))return this.encodeAsBinary({type:n.type===tn.EVENT?tn.BINARY_EVENT:tn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===tn.BINARY_EVENT||n.type===tn.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return c$("encoded %j as %s",n,i),i}encodeAsBinary(n){let i=bM.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}NM.Encoder=sM;function UM(n){return Object.prototype.toString.call(n)==="[object Object]"}class p$ extends aX.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);let o=i.type===tn.BINARY_EVENT;if(o||i.type===tn.BINARY_ACK){if(i.type=o?tn.EVENT:tn.ACK,this.reconstructor=new jM(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(_M.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0,o={type:Number(n.charAt(0))};if(tn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===tn.BINARY_EVENT||o.type===tn.BINARY_ACK){let p=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);let a=n.substring(p,i);if(a!=Number(a)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(a)}if(n.charAt(i+1)==="/"){let p=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(p,i)}else o.nsp="/";let c=n.charAt(i+1);if(c!==""&&Number(c)==c){let p=i+1;while(++i){let a=n.charAt(i);if(a==null||Number(a)!=a){--i;break}if(i===n.length)break}o.id=Number(n.substring(p,i+1))}if(n.charAt(++i)){let p=this.tryParse(n.substr(i));if(p$.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return c$("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case tn.CONNECT:return UM(i);case tn.DISCONNECT:return i===void 0;case tn.CONNECT_ERROR:return typeof i==="string"||UM(i);case tn.EVENT:case tn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&mX.indexOf(i[0])===-1);case tn.ACK:case tn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}NM.Decoder=p$;class jM{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){let i=bM.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var hM=I((BM)=>{Object.defineProperty(BM,"__esModule",{value:!0});BM.Client=void 0;var Wm=_a(),$X=xi(),vX=import.meta.require("url"),Ao=$X("socket.io:client");class yM{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{if(this.nsps.size===0)Ao("no namespace joined yet, close the client"),this.close();else Ao("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Ao("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Ao("creation of namespace %s was denied",n),this._packet({type:Wm.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){let o=this.server.of(n);o._add(this,i,(c)=>{if(this.sockets.set(c.id,c),this.nsps.set(o.name,c),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){let i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else Ao("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Ao("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Ao("ignoring packet write %j",n);return}let o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){Ao("volatile packet is discarded since the transport is not currently writable");return}let o=Array.isArray(n)?n:[n];for(let c of o)this.conn.write(c,i)}ondata(n){try{this.decoder.add(n)}catch(i){Ao("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){let p=vX.parse(n.nsp,!0);i=p.pathname,o=p.query}else i=n.nsp,o=n.data;let c=this.nsps.get(i);if(!c&&n.type===Wm.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==Wm.PacketType.CONNECT&&n.type!==Wm.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Ao("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){Ao("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0}}BM.Client=yM});var Xm=I((CM)=>{Object.defineProperty(CM,"__esModule",{value:!0});CM.StrictEventEmitter=void 0;var wX=import.meta.require("events");class IM extends wX.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}CM.StrictEventEmitter=IM});var a$=I((kM)=>{Object.defineProperty(kM,"__esModule",{value:!0});kM.RESERVED_EVENTS=void 0;kM.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var m$=I((ZM)=>{Object.defineProperty(ZM,"__esModule",{value:!0});ZM.RemoteSocket=ZM.BroadcastOperator=void 0;var SX=a$(),JX=_a();class yo{constructor(n,i=new Set,o=new Set,c={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=c}to(n){let i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new yo(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){let i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new yo(this.adapter,this.rooms,i,this.flags)}compress(n){let i=Object.assign({},this.flags,{compress:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){let n=Object.assign({},this.flags,{volatile:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){let n=Object.assign({},this.flags,{local:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){let i=Object.assign({},this.flags,{timeout:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(SX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);let o=[n,...i],c={type:JX.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let a=o.pop(),x=!1,m=[],l=setTimeout(()=>{x=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:m])},this.flags.timeout),f=-1,$=0,v=0,S=()=>{if(!x&&f===$&&m.length===v)clearTimeout(l),a.apply(this,[null,this.flags.expectSingleResponse?m[0]:m])};return this.adapter.broadcastWithAck(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(M)=>{v+=M,$++,S()},(M)=>{m.push(M),S()}),this.adapter.serverCount().then((M)=>{f=M,S()}),!0}emitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.emit(n,...i)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((n)=>{return n.map((i)=>{if(i.server)return i;else return new x$(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}ZM.BroadcastOperator=yo;class x${constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new yo(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}ZM.RemoteSocket=x$});var l$=I((Gp)=>{var gM=Gp&&Gp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Gp,"__esModule",{value:!0});Gp.Socket=void 0;var io=_a(),AX=gM(xi()),MX=Xm(),PM=gM(_f()),TX=m$(),RX=a$(),Ri=AX.default("socket.io:socket"),KX=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function eM(){}class dM extends MX.StrictEventEmitter{constructor(n,i,o,c){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,c)this.id=c.sid,this.pid=c.pid,c.rooms.forEach((p)=>this.join(p)),this.data=c.data,c.missedPackets.forEach((p)=>{this.packet({type:io.PacketType.EVENT,data:p})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=PM.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=PM.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",eM)}buildHandshake(n){var i,o,c,p;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(c=this.request)===null||c===void 0?void 0:c.url,query:((p=this.request)===null||p===void 0?void 0:p._query)||{},auth:n}}emit(n,...i){if(RX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);let o=[n,...i],c={type:io.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){let a=this.nsp._ids++;Ri("emitting packet with ack id %d",a),this.registerAckCallback(a,o.pop()),c.id=a}let p=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(c,{rooms:new Set([this.id]),except:new Set,flags:p});else this.notifyOutgoingListeners(c),this.packet(c,p);return!0}emitWithAck(n,...i){let o=this.flags.timeout!==void 0;return new Promise((c,p)=>{i.push((a,x)=>{if(o)return a?p(a):c(x);else return c(a)}),this.emit(n,...i)})}registerAckCallback(n,i){let o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}let c=setTimeout(()=>{Ri("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...p)=>{clearTimeout(c),i.apply(this,[null,...p])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return Ri("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Ri("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Ri("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:io.PacketType.CONNECT});else this.packet({type:io.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Ri("got packet %j",n),n.type){case io.PacketType.EVENT:this.onevent(n);break;case io.PacketType.BINARY_EVENT:this.onevent(n);break;case io.PacketType.ACK:this.onack(n);break;case io.PacketType.BINARY_ACK:this.onack(n);break;case io.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){let i=n.data||[];if(Ri("emitting event %j",i),n.id!=null)Ri("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){let o=this._anyListeners.slice();for(let c of o)c.apply(this,i)}this.dispatch(i)}ack(n){let i=this,o=!1;return function(){if(o)return;let c=Array.prototype.slice.call(arguments);Ri("sending ack %j",c),i.packet({id:n,type:io.PacketType.ACK,data:c}),o=!0}}onack(n){let i=this.acks.get(n.id);if(typeof i=="function")Ri("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Ri("bad ack %s",n.id)}ondisconnect(){Ri("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Ri("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&KX.has(n))Ri("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data});this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=eM}_error(n){this.packet({type:io.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:io.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){Ri("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else Ri("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();let o=this.fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){let i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){let i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){let n=Object.assign({},this.flags);return this.flags={},new TX.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Gp.Socket=dM});var f$=I((Bo)=>{var WX=Bo&&Bo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.Namespace=Bo.RESERVED_EVENTS=void 0;var nT=l$(),XX=Xm(),GX=WX(xi()),hi=m$(),sa=GX.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class iT extends XX.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();let o=this._fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}to(n){return new hi.BroadcastOperator(this.adapter).to(n)}in(n){return new hi.BroadcastOperator(this.adapter).in(n)}except(n){return new hi.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;sa("adding socket to nsp %s",this.name);let p=await this._createSocket(n,i);if(this._preConnectSockets.set(p.id,p),((c=this.server.opts.connectionStateRecovery)===null||c===void 0?void 0:c.skipMiddlewares)&&p.recovered&&n.conn.readyState==="open")return this._doConnect(p,o);this.run(p,(a)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){sa("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(sa("middleware error, sending CONNECT_ERROR packet to the client"),p._cleanup(),n.conn.protocol===3)return p._error(a.data||a.message);else return p._error({message:a.message,data:a.data});this._doConnect(p,o)})})}async _createSocket(n,i){let{pid:o,offset:c}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof c==="string"){let p;try{p=await this.adapter.restoreSession(o,c)}catch(a){sa("error while restoring session: %s",a)}if(p)return sa("connection state recovered for sid %s",p.sid),new nT.Socket(this,n,i,p)}return new nT.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new hi.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(Bo.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new hi.BroadcastOperator(this.adapter).allSockets()}compress(n){return new hi.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new hi.BroadcastOperator(this.adapter).volatile}get local(){return new hi.BroadcastOperator(this.adapter).local}timeout(n){return new hi.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new hi.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new hi.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new hi.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new hi.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=iT});var lT=I((xT)=>{Object.defineProperty(xT,"__esModule",{value:!0});xT.yeast=xT.decode=xT.encode=void 0;var pT="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gm=64,aT={},oT=0,$c=0,cT;function $$(n){let i="";do i=pT[n%Gm]+i,n=Math.floor(n/Gm);while(n>0);return i}xT.encode=$$;function zX(n){let i=0;for($c=0;$c<n.length;$c++)i=i*Gm+aT[n.charAt($c)];return i}xT.decode=zX;function YX(){let n=$$(+new Date);if(n!==cT)return oT=0,cT=n;return n+"."+$$(oT++)}xT.yeast=YX;for(;$c<Gm;$c++)aT[pT[$c]]=$c});var S$=I(($T)=>{var v$;Object.defineProperty($T,"__esModule",{value:!0});$T.SessionAwareAdapter=$T.Adapter=void 0;var HX=import.meta.require("events"),EX=lT(),zm=import.meta.require("ws"),QX=typeof((v$=zm===null||zm===void 0?void 0:zm.Sender)===null||v$===void 0?void 0:v$.frame)==="function";class w$ extends HX.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){let o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){let o=i.flags||{},c={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;let p=this._encode(n,c);this.apply(i,(a)=>{if(typeof a.notifyOutgoingListeners==="function")a.notifyOutgoingListeners(n);a.client.writeToEngine(p,c)})}broadcastWithAck(n,i,o,c){let p=i.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;let x=this._encode(n,a),m=0;this.apply(i,(l)=>{if(m++,l.acks.set(n.id,c),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(x,a)}),o(m)}_encode(n,i){let o=this.encoder.encode(n);if(QX&&o.length===1&&typeof o[0]==="string"){let c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=zm.Sender.frame(c,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){let i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){let i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((c)=>o.leave(c))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){let o=n.rooms,c=this.computeExceptSids(n.except);if(o.size){let p=new Set;for(let a of o){if(!this.rooms.has(a))continue;for(let x of this.rooms.get(a)){if(p.has(x)||c.has(x))continue;let m=this.nsp.sockets.get(x);if(m)i(m),p.add(x)}}}else for(let[p]of this.sids){if(c.has(p))continue;let a=this.nsp.sockets.get(p);if(a)i(a)}}computeExceptSids(n){let i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((c)=>i.add(c))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}$T.Adapter=w$;class fT extends w${constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((c,p)=>{if(c.disconnectedAt<o)this.sessions.delete(p)});for(let c=this.packets.length-1;c>=0;c--)if(this.packets[c].emittedAt<o){this.packets.splice(0,c+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){let o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;let p=this.packets.findIndex((x)=>x.id===i);if(p===-1)return null;let a=[];for(let x=p+1;x<this.packets.length;x++){let m=this.packets[x];if(UX(o.rooms,m.opts))a.push(m.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:a}))}broadcast(n,i){var o;let c=n.type===2,p=n.id===void 0,a=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(c&&p&&a){let x=EX.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}$T.SessionAwareAdapter=fT;function UX(n,i){let o=i.rooms.size===0||n.some((p)=>i.rooms.has(p)),c=n.every((p)=>!i.except.has(p));return o&&c}});var ST=I((Mo)=>{var bX=Mo&&Mo.__rest||function(n,i){var o={};for(var c in n)if(Object.prototype.hasOwnProperty.call(n,c)&&i.indexOf(c)<0)o[c]=n[c];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var p=0,c=Object.getOwnPropertySymbols(n);p<c.length;p++)if(i.indexOf(c[p])<0&&Object.prototype.propertyIsEnumerable.call(n,c[p]))o[c[p]]=n[c[p]]}return o};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.ClusterAdapterWithHeartbeat=Mo.ClusterAdapter=Mo.MessageType=void 0;var _X=S$(),sX=xi(),jX=import.meta.require("crypto"),Zn=sX.debug("socket.io-adapter"),NX="emitter",Ym=5000;function Yp(){return jX.randomBytes(8).toString("hex")}var cn;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(cn=Mo.MessageType||(Mo.MessageType={}));function bc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function zp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}class J$ extends _X.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Yp()}onMessage(n,i){if(n.uid===this.uid)return Zn("[%s] ignore message from self",this.uid);switch(Zn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,zp(n.data.opts),(c)=>{Zn("[%s] waiting for %d client acknowledgements",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:c}})},(c)=>{Zn("[%s] received acknowledgement with value %j",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:c}})});else{let c=n.data.packet,p=zp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(zp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(zp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(zp(n.data.opts),n.data.close);break;case cn.FETCH_SOCKETS:{Zn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(zp(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:cn.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((c)=>{let p=c.handshake,{sessionStore:a}=p,x=bX(p,["sessionStore"]);return{id:c.id,handshake:x,rooms:[...c.rooms],data:c.data}})}})});break}case cn.SERVER_SIDE_EMIT:{let o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let p=!1,a=(x)=>{if(p)return;p=!0,Zn("[%s] calling acknowledgement with %j",this.uid,x),this.publishResponse(n.uid,{type:cn.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:x}})};this.nsp._onServerSideEmit([...o,a]);break}case cn.BROADCAST_CLIENT_COUNT:case cn.BROADCAST_ACK:case cn.FETCH_SOCKETS_RESPONSE:case cn.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:Zn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;let c=n.data.requestId;switch(Zn("[%s] received response %s to request %s",this.uid,n.type,c),n.type){case cn.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(c))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case cn.BROADCAST_ACK:{(o=this.ackRequests.get(c))===null||o===void 0||o.ack(n.data.packet);break}case cn.FETCH_SOCKETS_RESPONSE:{let p=this.requests.get(c);if(!p)return;if(p.current++,n.data.sockets.forEach((a)=>p.responses.push(a)),p.current===p.expected)clearTimeout(p.timeout),p.resolve(p.responses),this.requests.delete(c);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{let p=this.requests.get(c);if(!p)return;if(p.current++,p.responses.push(n.data.packet),p.current===p.expected)clearTimeout(p.timeout),p.resolve(null,p.responses),this.requests.delete(c);break}default:Zn("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{let p=await this.publishAndReturnOffset({type:cn.BROADCAST,data:{packet:n,opts:bc(i)}});this.addOffsetIfNecessary(n,i,p)}catch(p){return Zn("[%s] error while broadcasting message: %s",this.uid,p.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var c;if(!this.nsp.server.opts.connectionStateRecovery)return;let p=n.type===2,a=n.id===void 0,x=((c=i.flags)===null||c===void 0?void 0:c.volatile)===void 0;if(p&&a&&x)n.data.push(o)}broadcastWithAck(n,i,o,c){var p;if(!((p=i===null||i===void 0?void 0:i.flags)===null||p===void 0?void 0:p.local)){let x=Yp();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:bc(i)}}),setTimeout(()=>{this.ackRequests.delete(x)},i.flags.timeout)}super.broadcastWithAck(n,i,o,c)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_JOIN,data:{opts:bc(n),rooms:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_LEAVE,data:{opts:bc(n),rooms:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.DISCONNECT_SOCKETS,data:{opts:bc(n),close:i}})}catch(p){Zn("[%s] error while publishing message: %s",this.uid,p.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;let[o,c]=await Promise.all([super.fetchSockets(n),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;let a=Yp();return new Promise((x,m)=>{let l=setTimeout(()=>{let $=this.requests.get(a);if($)m(new Error(`timeout reached: only ${$.current} responses received out of ${$.expected}`)),this.requests.delete(a)},n.flags.timeout||Ym),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,current:0,expected:p,responses:o};this.requests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:bc(n),requestId:a}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});let o=n.pop(),c=await this.serverCount()-1;if(Zn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);let p=Yp(),a=setTimeout(()=>{let m=this.requests.get(p);if(m)o(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`),m.responses),this.requests.delete(p)},Ym),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,current:0,expected:c,responses:[]};this.requests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{Zn("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{Zn("[%s] error while publishing response: %s",this.uid,o)})}}Mo.ClusterAdapter=J$;class wT extends J${constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{let o=Date.now();this.nodesMap.forEach((c,p)=>{if(o-c>this._opts.heartbeatTimeout)Zn("[%s] node %s seems down",this.uid,p),this.removeNode(p)})},1000)}init(){this.publish({type:cn.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:cn.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:cn.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return Zn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==NX)this.nodesMap.set(n.uid,Date.now());switch(Zn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.INITIAL_HEARTBEAT:this.publish({type:cn.HEARTBEAT});break;case cn.HEARTBEAT:break;case cn.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});let o=n.pop(),c=this.nodesMap.size;if(Zn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);let p=Yp(),a=setTimeout(()=>{let m=this.customRequests.get(p);if(m)o(new Error(`timeout reached: missing ${m.missingUids.size} responses`),m.responses),this.customRequests.delete(p)},Ym),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}async fetchSockets(n){var i;let[o,c]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;let a=Yp();return new Promise((x,m)=>{let l=setTimeout(()=>{let $=this.customRequests.get(a);if($)m(new Error(`timeout reached: missing ${$.missingUids.size} responses`)),this.customRequests.delete(a)},n.flags.timeout||Ym),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:bc(n),requestId:a}})})}onResponse(n){let i=n.data.requestId;switch(Zn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case cn.FETCH_SOCKETS_RESPONSE:{let o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((c)=>o.responses.push(c)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{let o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===cn.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===cn.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Mo.ClusterAdapterWithHeartbeat=wT});var um=I((_c)=>{Object.defineProperty(_c,"__esModule",{value:!0});_c.MessageType=_c.ClusterAdapterWithHeartbeat=_c.ClusterAdapter=_c.SessionAwareAdapter=_c.Adapter=void 0;var JT=S$();Object.defineProperty(_c,"Adapter",{enumerable:!0,get:function(){return JT.Adapter}});Object.defineProperty(_c,"SessionAwareAdapter",{enumerable:!0,get:function(){return JT.SessionAwareAdapter}});var F$=ST();Object.defineProperty(_c,"ClusterAdapter",{enumerable:!0,get:function(){return F$.ClusterAdapter}});Object.defineProperty(_c,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return F$.ClusterAdapterWithHeartbeat}});Object.defineProperty(_c,"MessageType",{enumerable:!0,get:function(){return F$.MessageType}})});var TT=I((up)=>{var yX=up&&up.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(up,"__esModule",{value:!0});up.ParentNamespace=void 0;var FT=f$(),BX=um(),DX=yX(xi()),AT=DX.default("socket.io:parent-namespace");class Om extends FT.Namespace{constructor(n){super(n,"/_"+Om.count++);this.children=new Set}_initAdapter(){this.adapter=new MT(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){AT("creating child namespace %s",n);let i=new FT.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){let o=i._remove;i._remove=(c)=>{if(o.call(i,c),i.sockets.size===0)AT("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}up.ParentNamespace=Om;Om.count=0;class MT extends BX.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var zT=I((jc)=>{var hX=jc&&jc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(jc,"__esModule",{value:!0});jc.patchAdapter=CX;jc.restoreAdapter=tX;jc.serveFile=rX;var sc=um(),RT=import.meta.require("fs"),IX=hX(xi()),Hm=IX.default("socket.io:adapter-uws"),A$="\x1F",{addAll:WT,del:XT,broadcast:GT}=sc.Adapter.prototype;function CX(n){sc.Adapter.prototype.addAll=function(i,o){let c=!this.sids.has(i);WT.call(this,i,o);let p=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!p)return;if(p.conn.transport.name==="websocket"){KT(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{let a=this.sids.get(i);if(a)KT(this.nsp.name,p,c,a)})},sc.Adapter.prototype.del=function(i,o){XT.call(this,i,o);let c=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(c&&c.conn.transport.name==="websocket"){let p=c.conn.id,a=c.conn.transport.socket,x=`${this.nsp.name}${A$}${o}`;Hm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},sc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){GT.call(this,i,o);return}let p=o.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};i.nsp=this.nsp.name;let x=this.encoder.encode(i),m=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${A$}${o.rooms.keys().next().value}`;Hm("fast publish to %s",m),x.forEach((l)=>{let f=typeof l!=="string";n.publish(m,f?l:"4"+l,f)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(x,a)})}}function KT(n,i,o,c){let p=i.conn.id,a=i.conn.transport.socket;if(o)Hm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{let m=`${n}${A$}${x}`;Hm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function tX(){sc.Adapter.prototype.addAll=WT,sc.Adapter.prototype.del=XT,sc.Adapter.prototype.broadcast=GT}var kX=(n)=>{let{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)};function rX(n,i){let{size:o}=RT.statSync(i),c=RT.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{let l=kX(m);n.cork(()=>{let f=n.getWriteOffset(),[$,v]=n.tryEnd(l,o);if(!v&&!$)c.pause(),n.onWritable((S)=>{let[M,R]=n.tryEnd(l.slice(S-f),o);if(!R&&M)c.resume();return M})})};n.onAborted(p),c.on("data",x).on("error",a).on("end",p)}});var YT=I((JL,ZX)=>{ZX.exports={name:"socket.io",version:"4.8.0",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":"prettier --check \"lib/**/*.ts\" \"test/**/*.ts\"","format:fix":"prettier --write \"lib/**/*.ts\" \"test/**/*.ts\"",prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.3.2","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var _T=I((Ki,ja)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",qX=Ki&&Ki.__createBinding||(Object.create?function(n,i,o,c){if(c===void 0)c=o;var p=Object.getOwnPropertyDescriptor(i,o);if(!p||("get"in p?!i.__esModule:p.writable||p.configurable))p={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,c,p)}:function(n,i,o,c){if(c===void 0)c=o;n[c]=i[o]}),PX=Ki&&Ki.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),eX=Ki&&Ki.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))qX(i,n,o)}return PX(i,n),i},VT=Ki&&Ki.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Namespace=Ki.Socket=Ki.Server=void 0;var gX=import.meta.require("http"),dX=import.meta.require("fs"),M$=import.meta.require("zlib"),n5=am(),Em=import.meta.require("stream"),uT=import.meta.require("path"),OT=XM(),i5=hM(),HT=import.meta.require("events"),R$=f$();Object.defineProperty(Ki,"Namespace",{enumerable:!0,get:function(){return R$.Namespace}});var o5=TT(),ET=um(),c5=eX(_a()),p5=VT(xi()),bT=l$();Object.defineProperty(Ki,"Socket",{enumerable:!0,get:function(){return bT.Socket}});var a5=Xm(),T$=zT(),x5=VT(gf()),bi=p5.default("socket.io:server"),QT=YT().version,UT=/\.map/;class Op extends a5.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||c5,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||ET.SessionAwareAdapter);else this.adapter(i.adapter||ET.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=x5.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);let c=this.parentNsps.keys(),p=()=>{let a=c.next();if(a.done)return o(!1);a.value(n,i,(x,m)=>{if(x||!m)return p();if(this._nsps.has(n))return bi("dynamic namespace %s already exists",n),o(this._nsps.get(n));let l=this.parentNsps.get(a.value).createChild(n);bi("dynamic namespace %s was created",n),o(l)})};p()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");let i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){bi("creating http server and binding to %d",n);let o=n;n=gX.createServer((c,p)=>{p.writeHead(404),p.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,bi("creating uWebSockets.js-based engine with opts %j",i);let o=new OT.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(c,p)=>{if(!this.clientPathRegex.test(p.getUrl())){p.setYield(!0);return}let a=p.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),x=UT.test(a),m=x?"map":"source",l='"'+QT+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){bi("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}bi("serve client %s",m),c.writeHeader("cache-control","public, max-age=0"),c.writeHeader("content-type","application/"+(x?"json":"javascript")+"; charset=utf-8"),c.writeHeader("etag",l);let v=uT.join(__dirname,"../client-dist/",a);T$.serveFile(c,v)});T$.patchAdapter(n)}initEngine(n,i){if(bi("creating engine.io instance with opts %j",i),this.eio=OT.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){bi("attaching client serving req handler");let i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,c)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,c,()=>{this.serve(o,c)});else this.serve(o,c);else for(let p=0;p<i.length;p++)i[p].call(n,o,c)})}serve(n,i){let o=n.url.replace(this._path,"").replace(/\?.*$/,""),c=UT.test(o),p=c?"map":"source",a='"'+QT+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){bi("serve client %s 304",p),i.writeHead(304),i.end();return}}bi("serve client %s",p),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(c?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",a),Op.sendFile(o,n,i)}static sendFile(n,i,o){let c=dX.createReadStream(uT.join(__dirname,"../client-dist/",n)),p=n5(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),Em.pipeline(c,M$.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Em.pipeline(c,M$.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Em.pipeline(c,M$.createDeflate(),o,a);break;default:o.writeHead(200),Em.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){bi("incoming connection with id %s",n.id);let i=new i5.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){let c=new o5.ParentNamespace(this);if(bi("initializing parent namespace %s",c.name),typeof n==="function")this.parentNsps.set(n,c);else this.parentNsps.set((p,a,x)=>x(null,n.test(p)),c),this.parentNamespacesFromRegExp.set(n,c);if(i)c.on("connect",i);return c}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[c,p]of this.parentNamespacesFromRegExp)if(c.test(n))return bi("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(bi("initializing namespace %s",n),o=new R$.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),T$.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}Ki.Server=Op;var m5=Object.keys(HT.EventEmitter.prototype).filter(function(n){return typeof HT.EventEmitter.prototype[n]==="function"});m5.forEach(function(n){Op.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});ja.exports=(n,i)=>new Op(n,i);ja.exports.Server=Op;ja.exports.Namespace=R$.Namespace;ja.exports.Socket=bT.Socket});import{createHash as LR}from"crypto";import*as BR from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class dp extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((c,p)=>{i=c,o=p});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){let i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}function Kv(n){return Object.entries(n)}var Wv=(n,i,o=on.STORE)=>{return na(o,{key:`${n.key}:JSON`,get:({get:c})=>i.toJson(c(n)),set:({set:c},p)=>{c(n,i.fromJson(p))}})};function b(n){while(n.child!==null)n=n.child;return n}function Xv(n){while(n.parent!==null)n=n.parent;return n}class an{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){let i=this.subscribers.values();for(let o of i)o(n)}}class xl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function to(n,i,o){let c={key:i.key,type:"atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new an,m=Object.assign((l)=>{let f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=i.default,R={key:v,default:M instanceof Function?M(l):M};if(i.effects)R.effects=i.effects(l);let A=ko(S,R,$);return a.next({type:"state_creation",token:A}),A},c,{subject:a,install:(l)=>to(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Gv(n,i){if("mutable"in i)return ia(n,i);return to(n,i)}function ro(n,i,o){let c={key:i.key,type:"readonly_selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new an,m=Object.assign((l)=>{let f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=oa(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:M}),M},c,{internalRoles:o,subject:a,install:(l)=>ro(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>Pn(n,$)})}});return n.families.set(i.key,m),c}function ml(n,i){if("set"in i)return ca(n,i);return ro(n,i)}var B4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ec(n,i){let o=e(i),c=`${n.key}(${o})`,p=B4[n.type],a={key:c,type:p};if(p==="molecule")Object.assign(a,{key:i,family:n});else Object.assign(a,{family:{key:n.key,subKey:o}});return Object.assign(a,{counterfeit:!0}),a}function ti(n){let i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return zv(on.STORE,n)}function Mc(n){return Gv(on.STORE,n)}var ll=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},D4={error:ll("error"),info:ll("info"),warn:ll("warn")};class pa{n;i;o;constructor(n,i,o=D4){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)}}function ax(n){return ml(on.STORE,n)}function Tc(n){return fl(n,on.STORE)}class ji{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),c=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(c)c.add(n);else c=new Set([n]),this.relations.set(i,c)}deleteRelation(n,i){let o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);let c=this.relations.get(i);if(c){if(c.delete(n),c.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){let c=new Set([n]);this.relations.set(o,c)}}replaceRelationsSafely(n,i){let o=this.relations.get(n);if(o)for(let c of o){let p=this.relations.get(c);if(p){if(p.size===1)this.relations.delete(c);else p.delete(n);this.contents.delete(this.makeContentKey(n,c))}}this.relations.set(n,new Set(i));for(let c of i){let p=this.relations.get(c);if(p)p.add(n);else p=new Set([n]),this.relations.set(c,p)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,c])=>[o,new Set(c)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){let o=i.externalStore;if(this.has=(c,p)=>o.has(c,p),this.addRelation=(c,p)=>{o.addRelation(c,p)},this.deleteRelation=(c,p)=>{o.deleteRelation(c,p)},this.replaceRelationsSafely=(c,p)=>{o.replaceRelationsSafely(c,p)},this.replaceRelationsUnsafely=(c,p)=>{o.replaceRelationsUnsafely(c,p)},this.getRelatedKeys=(c)=>o.getRelatedKeys(c),o.getContent)this.getContentInternal=(c)=>{return o.getContent(c)},this.setContent=(c,p)=>{o.setContent(c,p)},this.deleteContent=(c)=>{o.deleteContent(c)};for(let[c,p]of n.relations??[])for(let a of p)this.addRelation(c,a);for(let[c,p]of n.contents??[])this.setContent(c,p)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){let o=typeof i[0]==="string"?i[0]:n[this.b],c=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{let p=this.getRelatedKey(n);if(p&&p!==o)this.delete(p,n)}case"1:n":{let p=this.getRelatedKey(o);if(p&&p!==n)this.delete(p,o)}}if(c){let p=this.makeContentKey(n,o);this.setContent(p,c)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];let o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){let c=this.getRelatedKeys(i);if(c)for(let p of c)this.delete(p,i)}if(typeof o==="string"&&i===void 0){let c=this.getRelatedKeys(o);if(c)for(let p of c)this.delete(o,p)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);let c=this.makeContentKey(o,i);this.deleteContent(c)}return this}getRelatedKey(n){let i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){let c=!Array.isArray(i),p=c?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,p);else this.replaceRelationsSafely(n,p);if(c)for(let a of p){let x=this.makeContentKey(n,a),m=i[a];this.setContent(x,m)}return this}getContent(n,i){let o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){let i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){let c=this.getRelatedKeys(i);if(c)return[...c].map((p)=>{return[p,this.getContent(i,p)??null]})}if(i===void 0&&o!==void 0){let c=this.getRelatedKeys(o);if(c)return[...c].map((p)=>{return[p,this.getContent(p,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function kn(n){return"epoch"in n.transactionMeta}function Fn(n){return"phase"in n.transactionMeta}var Yv=(n)=>{let i=b(n);if(!Fn(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};var h4=(n)=>n[0].toUpperCase()+n.slice(1);function xo(n){return n.type.split("_").map(h4).join(" ")}class Qi extends Error{constructor(...n){let i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${xo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{let c=n[1];super(`${xo(i)} "${i.key}" member ${e(c)} not found in store "${o.config.name}".`)}}}function qo(n,i,o){return(...c)=>{let p=d(n,o);if(p)return p.run(c,i);throw new Qi(n,o)}}var xx=(n)=>(i)=>n instanceof Function?n(i):n;var Po=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),uv(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();let o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var Ov=(n,i)=>{if(n.operation.open){let o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!Fn(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Hv=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},Ev=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},gc=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var Qv=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var $l=(n,i)=>{let o=b(i),c=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,c?`evicting ${c.size} states downstream:`:"no downstream states",c??"to evict"),c){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let p of c){if(Ev(o,p))continue;Uv(p,o),gc(o,p)}}};function I4(n,i){if(bv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Vv=(n,i,o)=>{let{key:c}=n,p=b(o);if(!Fn(p)||p.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",c,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!I4(c,i))return;let x={type:"atom_update",key:c,...i};if(n.family)x.family=n.family;p.transactionMeta.update.updates.push(x),o.logger.info("\uD83D\uDCC1","atom",c,"stowed (",i.oldValue,"->",i.newValue,")")};var _v=(n,i,o)=>{let c=Po(n,o),p=c;if(n.type==="mutable_atom"&&Fn(o)){let{parent:x}=o;p=aa(n,x,o)}if(p=xx(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ki(n.key,p,n.subject,o),sv(n.key,o))jv(n.key,o);gc(o,n.key),$l(n,o);let a={oldValue:c,newValue:p};if(kn(o))Qv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Vv(n,a,o);else if(n.key.startsWith("*")){let x=n.key.slice(1),m=o.atoms.get(x),l=o.valueMap.get(x);if(m.type==="mutable_atom"&&Fn(o)){let{parent:$}=o;l=aa(m,$,o)}if(l.do(a.newValue)===null)$l(m,o)}}};var mx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":_v(n,i,o);break;case"selector":n.set(i);break}};function lx(n,i){if(i.family){let o=n.families.get(i.family.key);if(o)return o}}function zn(n,...i){let o,c,p,a;if(i.length===2){if(o=i[0],a=i[1],c=lx(n,o)??null,c)p=o.family?ii(o.family.subKey):null,o=An(n,c,p)}else c=i[0],p=i[1],a=i[2],o=An(n,c,p);if("counterfeit"in o){let l=n.disposalTraces.buffer.find((f)=>f?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}let x=Ov(n,o);if(x){let l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${x}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${x}`),zn(n,o,a)});return}let m=d(o,n);mx(m,a,n),Hv(n)}function fx(n,i,o){let{key:c,newValue:p,oldValue:a}=i,x=n==="newValue"?p:a,m={key:c,type:"atom"};if(i.family)Object.assign(m,{family:i.family});zn(o,m,x)}var cY=Symbol("provenance");function vl(n,i,o){let c=e(o);try{let p=[],a;if(i==="root")p.push(n.molecules.get('"root"')),a="all";else if(i[0][0]===Nv){a="any";let $=e(i),v=n.molecules.get($);if(!v)throw new Error(`Molecule ${$} not found in store "${n.config.name}"`);p.push(v)}else if(o[0][0]===Nv){a="all";for(let v of i){let S=e(v),M=n.molecules.get(S);if(!M)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(M)}}else{a="any";let v=e(i),S=n.molecules.get(v);if(!S)throw new Error(`Molecule ${v} not found in store "${n.config.name}"`);p.push(S)}let x=new dc(p,o);x._dependsOn=a,n.molecules.set(c,x);for(let $ of p)$.below.set(x.stringKey,x);let m={type:"molecule_creation",subType:"modern",key:x.key,provenance:i},l=b(n);if(Fn(l)&&l.transactionMeta.phase==="building")l.transactionMeta.update.updates.push(m);else l.on.moleculeCreationStart.next(m)}catch(p){if(p instanceof Error)n.logger.error("\u274C","molecule",c,"allocation failed:",p.message)}return o}function xa(n,i){let o=e(i),c=n.molecules.get(o);if(!c)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let f of c.joins.values())f.relations.delete(c.key),f.molecules.delete(c.stringKey);let p;if(c.above.size===1)p=c.above.values().next().value.key;else p=[...c.above.values()].map(({key:f})=>f);let a=[];for(let f of c.tokens.values()){let $=f.family;a.push([$.key,n.valueMap.get(f.key)])}for(let f of c.tokens.values())li(n,f);for(let f of c.below.values())if(f.dependsOn==="all")xa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)xa(n,f.key);c.below.clear();let x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(Fn(m)&&m.transactionMeta.phase==="building")m.transactionMeta.update.updates.push(x);else m.on.moleculeDisposal.next(x);m.molecules.delete(c.stringKey);for(let f of c.above.values())f.below.delete(c.stringKey)}var Nv="T$";function Lv(n,i){let o=new an,c={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},p={...c,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,p),c}function mo(n,i,o){let c=bo(o,i,n.key);n.tokens.set(c.key,c);let p=Fn(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function $x(n){return{store:n}}function Kn(n,...i){let o,c,p;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(c=lx(n,o)??null,c)p=o.family?ii(o.family.subKey):null,o=An(n,c,p)}}else{c=i[0],p=i[1];let a;if(c.type==="molecule_family")a=Nn(n,c,p)??ec(c,p);else a=An(n,c,p);o=a}if("counterfeit"in o&&"family"in o){c=o.type==="molecule"?d(o.family,n):n.families.get(o.family.key);let a=o.type==="molecule"?o.key:o.family.subKey,x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,x?`This state was previously disposed:\n${x.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 m=d(c,n).default(a);return n.defaults.set(c.key,m),m}case"molecule_family":throw new Qi(c,a,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return Po(d(o,n),n);case"molecule":return d(o,n).instance}}class dc{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new an;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=e(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let c of n)this.above.set(c.stringKey,c)}}function yv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){let a=Xv(n),x=b(n),m=e(c);x.moleculeInProgress=m;let l=Array.isArray(i)?i:[i],f=l.map((X)=>{if(X instanceof dc)return X;let G=e(X.key),Y=n.molecules.get(G);if(!Y)throw new Error(`Molecule ${G} not found in store "${n.config.name}"`);return Y}),$=new dc(f,c,o);x.molecules.set(m,$);for(let X of f)X.below.set($.stringKey,$);let v={get:(...X)=>Kn(b(a),...X),set:(...X)=>{zn(b(a),...X)},seek:(X,G)=>Nn(b(a),X,G),json:(X)=>Pn(b(a),X),run:(X,G=Pc())=>qo(X,G,b(n)),make:(X,G,Y,...E)=>_o(b(a),X,G,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>$x(b(a)),bond:(X,G)=>{if(X.type==="join"){let{as:Y}=G,E=ma(X,a);E.molecules.set(m,$),$.joins.set(X.key,E);let s=S.subject.subscribe(`join:${X.key}-${m}`,(K)=>{if(K.type==="molecule_disposal"){if(e(K.token.key)===m)s(),E.molecules.delete(m)}});if(Y===null)return;let z=X.a===Y?X.b:X.a,T=Bv(X,c),O=T[`${z}KeysOf${yv(Y)}`],U=T[`${z}EntriesOf${yv(Y)}`],V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return mo($,d(X,a),b(a))},claim:(X,G)=>{let{exclusive:Y}=G,E=b(n).molecules.get(e(X.key));if(E)if(Y){for(let s of E.above.values())s.below.delete(E.stringKey);E.above.clear(),E.above.set($.stringKey,$),$.below.set(E.stringKey,E)}else E.above.set($.stringKey,$),$.below.set(E.stringKey,E)},spawn:(X,G,...Y)=>_o(b(n),[$],d(X,n),G,...Y)},S=d(o,n),M=S.new;$.instance=new M(v,c,...p);let R={type:"molecule",key:c,family:o},A={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(A);else if(Fn(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(A);return x.moleculeInProgress=null,R}function wl(n,i,o){switch(i){case"newValue":{Dv(n,o);break}case"oldValue":{li(o,n.token);break}}}function Sl(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{Dv(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Dv(n,i){let{family:o}=n.token;if(o){let c=i.families.get(o.key);if(c)An(i,c,ii(o.subKey))}}function Jl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":_o(o,n.context,n.family,n.token.key,...n.params);break;case"modern":vl(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":xa(o,n.key);break}break}}function Fl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":xa(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{let c=_o(o,n.context,n.family,n.token.key);for(let[p,a]of n.values){let x=`${p}(${e(c.key)})`,m=d(c,o),l=m.tokens.has(x),f=o.families.get(p);if(f&&!l)mo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{vl(o,n.provenance,n.key);for(let[c,p]of n.values){let a=o.families.get(c);if(a){An(o,a,n.key);let x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function vx(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":fx(n,p,o);break;case"state_creation":wl(p,n,o);break;case"state_disposal":Sl(p,n,o);break;case"molecule_creation":Jl(p,n,o);break;case"molecule_disposal":Fl(p,n,o);break;case"transaction_update":vx(n,p,o);break}}function hv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function Iv(n,i,o){if(!kn(o))return;let p=o.transactionMeta.actionContinuities.getRelatedKey(n);if(p!==void 0)o.transactionMeta.epoch.set(p,i)}var Cv=(n,i)=>{let o=b(i),{parent:c}=o;if(c===null||!Fn(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),vx("newValue",o.transactionMeta.update,c),kn(c))Iv(o.transactionMeta.update.key,o.transactionMeta.update.epoch,c),d({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(Fn(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function tv(n,i,o){if(!kn(o))return;let{epoch:p,actionContinuities:a}=o.transactionMeta;if(a.set(n,i),!p.has(n))p.set(n,-1)}class ri extends Map{n;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 kv=(n,i,o,c)=>{let p=b(o),a={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new ri(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new ri(p.families),operation:{open:!1},readonlySelectors:new ri(p.readonlySelectors),timelines:new ri(p.timelines),timelineTopics:new ji(p.timelineTopics.toJSON()),trackers:new Map,transactions:new ri(p.transactions),selectorAtoms:new ji(p.selectorAtoms.toJSON()),selectorGraph:new ji(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new ri(p.selectors),valueMap:new ri(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new ri(p.molecules),moleculeFamilies:new ri(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new ri(p.miscResources)},x=rv(n,o),m={phase:"building",update:{type:"transaction_update",key:n,id:c,epoch:x===void 0?Number.NaN:x+1,updates:[],params:i,output:void 0},toolkit:{get:(...f)=>Kn(l,...f),set:(...f)=>{zn(l,...f)},run:(f,$=Pc())=>qo(f,$,l),find:(f,$)=>An(l,f,$),seek:(f,$)=>Nn(l,f,$),json:(f)=>Pn(l,f),make:(f,$,v,...S)=>_o(l,f,$,v,...S),dispose:(...f)=>{li(l,...f)},env:()=>$x(l)}},l=Object.assign(a,{transactionMeta:m});return p.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function fl(n,i){let o={key:n.key,type:"transaction",run:(a,x)=>{let m=kv(n.key,a,i,x);try{let l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Cv($,l),$}catch(l){throw Yv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>fl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);let p=ti(o);return i.on.transactionCreation.next(p),p}function rv(n,i){let o=kn(i),c=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&c!==void 0?i.transactionMeta.epoch.get(c):void 0}class wx{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){let n=new wx([...this._buffer]);return n._index=this._index,n}}class Zv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new ji({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new ji({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new ji({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new ji({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new wx(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new an,atomDisposal:new an,selectorCreation:new an,selectorDisposal:new an,timelineCreation:new an,transactionCreation:new an,transactionApplying:new xl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new pa("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},kn(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new ji(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=Pn(i,c),a=so(c);o.add(p.key),o.add(a.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 on={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new Zv({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(n,i){let o,c=i;while(c!==null){switch(n.type){case"atom":case"mutable_atom":o=c.atoms.get(n.key);break;case"selector":o=c.selectors.get(n.key);break;case"readonly_selector":o=c.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(n.key);break;case"timeline":o=c.timelines.get(n.key);break;case"transaction":o=c.transactions.get(n.key);break;case"molecule":o=c.molecules.get(e(n.key));break;case"molecule_family":o=c.moleculeFamilies.get(n.key);break}if(o)return o;c=c.child}throw new Qi(n,i)}function Sx(n,i){let o;o=d(n,i);let{family:c}=n;for(let x of o.joins.values())x.relations.delete(o.key),x.molecules.delete(o.stringKey);let p=[];for(let x of o.above.values())p.push(ti(x));let a=[];for(let x of o.tokens.values()){let m=x.family;a.push([m.key,i.valueMap.get(x.key)])}if(c){let x=d(c,i),m={type:"molecule_disposal",subType:"classic",token:n,family:c,context:p,values:a};if(n.family)m.family=n.family;for(let f of o.tokens.values())li(i,f);for(let f of o.below.values())if(f.dependsOn==="all")Sx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)Sx(f,i);if(o.below.clear(),Fn(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(m);else x.subject.next(m);i.molecules.delete(o.stringKey)}for(let x of o.above.values())x.below.delete(o.stringKey)}function bo(n,i,o){let c=n.families.get(i.key);if(c===void 0)throw new Qi(i,n);let p=c(o),a=b(n);if(p.family&&a.moleculeInProgress===null){if(kn(a))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(Fn(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function Nn(n,i,o){let c=e(o),p=`${i.key}(${c})`,a=b(n),x;switch(i.type){case"atom_family":case"mutable_atom_family":x=a.atoms.get(p);break;case"selector_family":x=a.selectors.get(p);break;case"readonly_selector_family":x=a.readonlySelectors.get(p);break;case"molecule_family":x=a.molecules.get(e(o))}if(x)return ti(x);return x}function An(n,i,o){let c=Nn(n,i,o);if(c)return c;let p=n.molecules.get(e(o));if(p)return mo(p,i,n);if(n.config.lifespan==="immortal"){let a=ec(i,o);return n.logger.error("\u274C",a.type,a.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),a}return c=bo(n,i,o),c}function li(n,...i){let o,c;if(i.length===1)o=i[0],c=o.key;else{let a=i[0],x=i[1];o=a.type==="molecule_family"?Nn(n,a,x)??ec(a,x):An(n,a,x)}try{d(o,n)}catch(a){let x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,x?`\n This state was most recently disposed\n${x.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":Al(o,n);break;case"selector":case"readonly_selector":qv(o,n);break;case"molecule":Sx(o,n);break}let{stack:p}=new Error;if(p){let a=p?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:a})}}var Jx=(n,i)=>b(i).atoms.has(n),C4=(n,i)=>b(i).selectors.has(n),t4=(n,i)=>b(i).readonlySelectors.has(n),Pv=(n,i)=>Jx(n,i)||C4(n,i)||t4(n,i);var Fx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Pv(c,i))};var Ml=(n,i,o)=>{let c=[],p=Fx(n,o);while(p.length>0){let a=p.shift();if(i.has(a))continue;if(i.add(a),!Jx(a,o))p.push(...Fx(a,o));else if(!c.includes(a))c.push(a)}return c},ev=(n,i)=>{let o=n.key,c=Fx(o,i),p=new Set;return c.flatMap((a)=>Jx(a,i)?a:Ml(a,p,i))};var gv=(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 a=Ml(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${a.map((x)=>`"${x}"`).join(", ")} ]`);for(let x of a)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:x})}o.add(i.key)};var Ax=(n,i,o)=>({get:(...c)=>{let p=b(o),a;if(c.length===2){let[l,f]=c;switch(l.type){case"molecule_family":return Kn(o,l,f);default:if(o.config.lifespan==="ephemeral")a=An(o,l,f);else{let $=Nn(o,l,f);if($)a=$;else throw new Qi(l,f,o)}}}else[a]=c;if(a.type==="molecule")return Kn(o,a);let x=d(a,o),m=Po(x,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${a.key}" =`,m,")"),p.selectorGraph.set({upstreamSelectorKey:a.key,downstreamSelectorKey:n},{source:a.key}),gv(n,a,i,o),m},set:(...c)=>{let p,a;if(c.length===2)p=c[0],a=c[1];else{let l=c[0],f=c[1];a=c[2];let $=o.config.lifespan==="ephemeral"?An(o,l,f):Nn(o,l,f);if(!$)throw new Qi(l,f,o);p=$}let x=b(o),m=d(p,x);mx(m,a,x)},find:(c,p)=>An(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>Pn(o,c)});var oa=(n,i,o)=>{let c=b(n),p=new an,a=new Set,{get:x,find:m,seek:l,json:f}=Ax(i.key,a,c),$=()=>{let R=i.get({get:x,find:m,seek:l,json:f});return ki(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>oa(R,i,o),get:$,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,v);let S=$();n.logger.info("\u2728",v.type,v.key,"=",S);let M={key:i.key,type:"readonly_selector"};if(o)M.family=o;return M};var la=(n,i,o)=>{let c=b(n),p=new an,a=new Set,x=Ax(i.key,a,c),{find:m,get:l,seek:f,json:$}=x,v={find:m,get:l,seek:f,json:$},S=(G=i.get,Y=b(n))=>{let E=G(v);return ki(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(G)=>la(G,i,o),get:S,set:(G)=>{let Y=b(n),E=S(i.get,Y),s=xx(G)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ki(i.key,s,p,Y),gc(Y,i.key),kn(Y))p.next({newValue:s,oldValue:E});i.set(x,s)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,R);let A=S();n.logger.info("\u2728",R.type,R.key,"=",A);let X={key:i.key,type:"selector"};if(o)X.family=o;return X};function na(n,i){if("set"in i){let p=la(n,i,void 0);return n.on.selectorCreation.next(p),p}let c=oa(n,i,void 0);return n.on.selectorCreation.next(c),c}function qv(n,i){let o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{let a=o.molecules.get(p.family.subKey);if(a)a.tokens.delete(c);switch(n.type){case"selector":o.selectors.delete(c),d({key:p.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(c),d({key:p.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),i.logger.info("\uD83D\uDD25",n.type,c,"deleted"),Fn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ca(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 ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new an,m=Object.assign((l)=>{let f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M=la(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:M}),M},c,{internalRoles:o,subject:a,install:(l)=>ca(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>Pn(n,$)})}});return n.families.set(i.key,m),c}function dv(n,i,o=on.STORE){let c=ca(o,{key:`${n.key}:JSON`,get:(a)=>({seek:x,get:m})=>{let l=x(n,a);if(l)return i.toJson(m(l));let f=e(a),$=o.molecules.get(f);if($){let S=mo($,n,o);return i.toJson(m(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${f}"`);let v=bo(o,n,a);return i.toJson(m(v))},set:(a)=>({seek:x,set:m},l)=>{let f=x(n,a);if(f)m(f,i.fromJson(l));else{let $=e(a),v=o.molecules.get($);if(v){let S=mo(v,n,o);m(S,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${$}"`);m(bo(o,n,a),i.fromJson(l))}}}},["mutable","json"]);return d(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(a)=>{if(a.token.family)Nn(o,c,ii(a.token.family.subKey))}),c}var ii=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),ZO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var n0=(n,i)=>{let o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Kl=(n,i)=>{let o=b(i);return ev(n,i).map((p)=>{let a=o.atoms.get(p);if(a===void 0)throw new Error(`Atom "${p}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return a.subject.subscribe(`${n.type}:${n.key}`,(x)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",p,"went",x.oldValue,"->",x.newValue);let m=n0(n,o),l=Po(n,o);i.logger.info("\u2728",n.type,n.key,"went",m,"->",l),n.subject.next({newValue:l,oldValue:m})})})};function zi(n,i,o,c){function p(v){if(c.operation.open){let S=c.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(v)})}else i(v)}let a=d(n,c);c.logger.info("\uD83D\uDC40",a.type,a.key,`Adding subscription "${o}"`);let x=a.type==="selector"||a.type==="readonly_selector",m=null,l=p;if(x)m=Kl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Kl(a,c));p(v)};let f=a.subject.subscribe(o,l);return()=>{if(c.logger.info("\uD83D\uDE48",a.type,a.key,`Removing subscription "${o}"`),f(),m)for(let v of m)v()}}var Tl=(n,i,o,c)=>{let p=d(n,c);c.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);let a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),a()}};var Rl=(n,i,o,c)=>{let p=d(n,c);c.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);let a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),a()}};class eo{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=ko(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){let a=i.parent.valueMap.get(o);i.valueMap.set(o,a)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){let c=`tracker:${o.config.name}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=zi(n,(a)=>{if(a.newValue!==a.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(c,(x)=>{zn(o,i,x)})},c,o)}updateCore(n,i,o){let c=`tracker:${o.config.name}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`;zi(i,({newValue:p,oldValue:a})=>{let x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){let f=Tl({key:x,type:"timeline"},($)=>{f(),zn(o,n,(v)=>{if($==="redo"&&p)v.do(p);else if($==="undo"&&a)v.undo(a);return v})},c,o);return}}let m=o.on.operationClose.subscribe(c,()=>{m();let l=Kn(o,n),f=p===null?-1:l.getUpdateNumber(p),$=f-l.cacheUpdateNumber;if(p&&$===1)zn(o,n,(v)=>(v.do(p),v));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${f}`)})},c,o)}mutableState;latestUpdateState;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.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function fa(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."),ti(p);let a=new an,x={...i,type:"mutable_atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),fa(f,i,o)},subject:a};if(o)x.family=o;let m=i.default();c.atoms.set(x.key,x),Mx(i.key,n),ki(i.key,m,a,c);let l=ti(x);if(i.effects){let f=0,$=[];for(let v of i.effects){let S=v({setSelf:(M)=>{zn(n,l,M)},onSet:(M)=>zi(l,M,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Wv(l,i,n);return l}class Wl{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){let o=to(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){let p=ii(c.token.family.subKey);Nn(i,this.latestUpdateAtoms,p),new eo(c.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){let p=ii(c.token.family.subKey),a=Nn(i,this.mutableAtoms,p);if(a)new eo(a,i)}})}}function ia(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 ${xo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new an,m=Object.assign((l)=>{let f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),M={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)M.effects=i.effects(l);let R=fa(S,M,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>ia(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),dv(m,i,n),new Wl(m,n),c}var Xl=(n,i)=>{let o=b(i),c=`${n.key}:JSON`;return o.families.get(c)};var Pn=(n,i)=>{if(i.family){let c=b(n),a={key:`${i.family.key}:JSON`,type:"selector_family"},x=d(a,c),m=JSON.parse(i.family.subKey);return An(n,x,m)}return{type:"selector",key:`${i.key}:JSON`}};var so=(n)=>{let o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function bv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function aa(n,i,o){let c=i.valueMap.get(n.key),p=o.valueMap.get(n.key);if(c===p){if(c===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");let a=n.toJson(c),x=n.fromJson(a);return o.valueMap.set(n.key,x),new eo(n,i),x}return p}function ki(n,i,o,c){let p=c.valueMap.get(n);if(p instanceof dp)p.use(i);if(i instanceof Promise){let a=new dp(i);return c.valueMap.set(n,a),a.then((x)=>{ki(n,x,o,c),o.next({newValue:x,oldValue:a})}).catch((x)=>{c.logger.error("\uD83D\uDCA5","state",n,"rejected:",x)}),a}return c.valueMap.set(n,i),i}var uv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&Fn(i)){let{parent:c}=i;o=aa(n,c,i)}return o},Uv=(n,i)=>{let o=i.valueMap.get(n);if(o instanceof dp){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 sv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Mx=(n,i)=>{let o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},jv=(n,i)=>{let o=b(i);o.atomsThatAreDefault=new Set(b(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function ko(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."),ti(p);let a=new an,x={...i,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ko(f,i,o)},subject:a};if(o)x.family=o;let m=i.default;if(i.default instanceof Function)m=i.default();c.atoms.set(x.key,x),Mx(i.key,n),ki(i.key,m,a,c);let l=ti(x);if(i.effects){let f=0,$=[];for(let v of i.effects){let S=v({setSelf:(M)=>{zn(n,l,M)},onSet:(M)=>zi(l,M,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function zv(n,i){if("mutable"in i){let p=fa(n,i,void 0);return n.on.atomCreation.next(p),p}let c=ko(n,i,void 0);return n.on.atomCreation.next(c),c}function Al(n,i){let o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{p.cleanup?.();let a=i.valueMap.get(p.key);d({key:p.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:a});let m=o.molecules.get(p.family.subKey);if(m)m.tokens.delete(c);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),i.timelineTopics.delete(c),n.type==="mutable_atom"){let l=so(n);Al(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),Fn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}class oi extends Set{mode="record";subject=new an;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof oi)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 oi(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:${e(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:${e(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new oi(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.error("Failed to apply transaction to SetRTX:",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 a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){let a=this.cacheIdx+c;if(this.cache[a]===n)return null;this.mode="playback";let m=!1;while(!m){this.cacheIdx%=this.cacheLimit;let f=this.cache[this.cacheIdx];if(this.cacheIdx--,!f)return"OUT_OF_RANGE";this.undo(f),m=this.cacheIdx===a-1}let l=n.substring(i+1);return this.doStep(l),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 a of p)this.add(a);break}case"tx":{let p=c.split(";");for(let a=p.length-1;a>=0;a--)this.undoStep(p[a])}}}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}}function Ln(n){return n[0].toUpperCase()+n.slice(1)}class zl{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){let o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){let i=n.config.name,o=this.alternates.get(i);if(o)return o;let c=new zl(this.options,this.defaultContent,n);return this.alternates.set(i,c),c.alternates=this.alternates,c}constructor(n,i,o=on.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(z,T)=>{let O=this.toolkit.seek(z,T);if(O)return O;let U=this.molecules.get(e(T));if(U){let V=d(z,o);return mo(U,V,o)}if(o.config.lifespan==="immortal")throw new Qi(z,T,o);return bo(o,z,T)},this.toolkit={get:(...z)=>Kn(o,...z),set:(...z)=>{zn(o,...z)},find:this.retrieve,seek:(...z)=>Nn(o,...z),json:(z)=>Pn(o,z),dispose:(...z)=>{li(o,...z)}};let c=n.between[0],p=n.between[1],a=ia(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(z)=>oi.fromJSON(z),toJson:(z)=>z.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};let x=({get:z},T)=>z(this.retrieve(a,T)),m=(z,T,O)=>{let{set:U}=z,V=this.retrieve(a,T),K=this.retrieve(a,O);U(V,(y)=>y.add(O)),U(K,(y)=>y.add(T))},l=(z,T,O)=>{let{set:U}=z,V=this.retrieve(a,T),K=this.retrieve(a,O),y,_;U(V,(P)=>{if(P.delete(O),P.size===0)y=`"${T}"`;return P}),U(K,(P)=>{if(P.delete(T),P.size===0)_=`"${O}"`;return P})},f=(z,T,O)=>{let{get:U,set:V}=z,K=this.retrieve(a,T),y=U(K);for(let _ of y){if(O.includes(_))continue;let ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(T),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){let $n=x(z,ln),Un=$n.has(T);if(this.relations.cardinality==="1:n"){let si=[];for(let H of $n){if(H===T)continue;let k=x(z,H);if(k.delete(ln),k.size===0)si.push(H)}if(!Un&&$n.size>0)$n.clear();for(let H of si){let k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Un)$n.add(T);P.add(ln)}return!0}),_})},$=(z,T,O)=>{let{set:U}=z,V=this.retrieve(a,T);U(V,(K)=>{return K.transaction((y)=>{for(let _ of O)y.add(_);return!0}),K});for(let K of O){let y=this.retrieve(a,K);U(y,(_)=>{return _.add(T),_})}return!0},v=(z,T,O)=>{let U=x(z,T);return O?U.has(O):U.size>0},S={getRelatedKeys:(z)=>x(this.toolkit,z),addRelation:(z,T)=>{m(this.toolkit,z,T)},deleteRelation:(z,T)=>{l(this.toolkit,z,T)},replaceRelationsSafely:(z,T)=>{f(this.toolkit,z,T)},replaceRelationsUnsafely:(z,T)=>{$(this.toolkit,z,T)},has:(z,T)=>v(this.toolkit,z,T)},M,R,A;if(i){R=to(o,{key:`${n.key}/content`,default:i},["join","content"]);let z={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};A=Lv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(y,_){this.key=_}}});let T=({get:K},y)=>K(this.retrieve(R,y)),O=({set:K},y,_)=>{K(this.retrieve(R,y),_)},U=(K,y)=>{let _=o.molecules.get(`"${y}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${y}"`)};M=Object.assign(S,{getContent:(K)=>{return T(this.toolkit,K)},setContent:(K,y)=>{O(this.toolkit,K,y)},deleteContent:(K)=>{U(this.toolkit,K)}})}else M=S;let X=new ji(n,{externalStore:M,makeContentKey:(...z)=>{let T=z.sort(),O=`${T[0]}:${T[1]}`,[U,V]=T.map((K)=>this.molecules.get(e(K)));if(o.config.lifespan==="immortal"&&U&&V){let K=b(o),y=_o(K,[U,V],A,O);this.molecules.set(`"${O}"`,d(y,K))}return O}}),G=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(z)=>({get:T})=>{let O=this.retrieve(a,z),U=T(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(z)=>({get:T})=>{let O=Xl(a,o),U=this.retrieve(O,z);return T(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(z)=>({get:T})=>{let O=this.retrieve(a,z),U=T(O);for(let V of U){let K=X.makeContentKey(z,V),y=this.retrieve(R,K),_=T(y);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(z)=>({get:T})=>{let O=Xl(a,o),U=this.retrieve(O,z);return T(U).members.map((K)=>{let y=X.makeContentKey(z,K),_=this.retrieve(R,y),P=T(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{let z=G(),T=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[T]:z,[O]:z},V;if(i){let K=E(),y=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[y]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{let z=G(),T=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:z,[U]:T},K;if(i){let y=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:y,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{let z=Y(),T=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[T]:z,[O]:z},V;if(i){let K=s(),y=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[y]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V}}}}function Tx(n,i,o=on.STORE){return Gl(o).set(n.key,new zl(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Gl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;let i=new Map;return n.joins=i,i}function ma(n,i){let o=Gl(i),c=o.get(n.key);if(c===void 0){if(c=Gl(on.STORE).get(n.key)?.in(i),c===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,c)}return c}function np(n,i,o){let c=ma(n,o),p;switch(n.cardinality){case"1:1":{let a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeyOf${Ln(n.a)}`;p={get[a](){let l=c.states[a];return c.retrieve(l,i)},get[x](){let l=c.states[x];return c.retrieve(l,i)}};let m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){let l=`${n.b}EntryOf${Ln(n.a)}`;Object.assign(p,{get[m](){let f=c.states[m];return c.retrieve(f,i)},get[l](){let f=c.states[l];return c.retrieve(f,i)}})}break}case"1:n":{let a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){let l=c.states[a];return c.retrieve(l,i)},get[x](){let l=c.states[x];return c.retrieve(l,i)}};let m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){let l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){let f=c.states[m];return c.retrieve(f,i)},get[l](){let f=c.states[l];return c.retrieve(f,i)}})}break}case"n:n":{let a=`${n.a}KeysOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){let l=c.states[a];return c.retrieve(l,i)},get[x](){let l=c.states[x];return c.retrieve(l,i)}};let m=`${n.a}EntriesOf${Ln(n.b)}`;if(m in c.states){let l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){let f=c.states[m];return c.retrieve(f,i)},get[l](){let f=c.states[l];return c.retrieve(f,i)}})}}}return p}function Bv(n,i){return np(n,i,on.STORE)}function Rc(n,i,o){let c=ma(n,o),p=b(o);if(Fn(p)){let{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function k4(n,i){return ma(n,i).core.findRelatedKeysState}function i0(n){return k4(n,on.STORE)}class ip{n;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 $a extends ip{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){let[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((c,...p)=>{let a=JSON.stringify([c,...p])+"\x03",x=(m)=>{if(m.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",x)};return this.process.stdin.once("error",x),this.process.stdin.write(a),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(c)=>{let p=c.toString();if(p==="\u2728")return;this.unprocessedEvents.push(...p.split("\x03"));let a=this.unprocessedEvents.shift();this.incompleteData+=a??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let x=ii(this.incompleteData);this.handleEvent(...x);while(this.unprocessedEvents.length>0){let m=this.unprocessedEvents.shift();if(m){if(this.unprocessedEvents.length===0)this.incompleteData=m;x=ii(m),this.handleEvent(...x)}}this.incompleteData=""}catch(x){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(x)}}),this.process.stderr.on("data",(c)=>{let p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));let a=this.unprocessedLogs.shift();this.incompleteLog+=a??"";try{let x=ii(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=ii(this.incompleteLog),this.handleLog(x)}catch(x){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(x),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class o0 extends ip{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new an,this.out=new an,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Yl extends ip{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(e(n.map((i)=>i instanceof oi?`{ ${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=ii(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 a=ii(p);this.handleEvent(...a)}}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 o0(`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("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}class c0 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 Rx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new c0;static create(n,i){let o=new Rx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Rx.existing.set(n,m),m}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":{let[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}function p0(n){let{key:i,config:o}=n,c=Rx.create(i,o),{actions:p}=c;for(let a of p)tv(i,a.key,on.STORE);return hv(i,-1,on.STORE),c}var wU=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),ul=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),r4={enteredAtEpoch:0},va=Tx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},r4),SU=ax({key:"usersInMyRoomView",get:(n)=>({find:i})=>{let o=i0(va);return[i(o,n)]}});import{spawn as Z4}from"child_process";var Ol=Mc({key:"roomArguments",default:["echo",["Hello World!"]]}),a0=ax({key:"room",get:(n)=>async({get:i,find:o})=>{let c=o(Ol,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{let f=Z4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new $a(m,n)}});var OU=Tc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{let x=a?[p,a]:[p],m=o(Ol,c);i(m,x),i(ul,($)=>$.add(c));let l=o(a0,c);return n(l)}}),HU=Tc({key:"joinRoom",do:(n,i,o,c)=>{let p={enteredAtEpoch:c};return Rc(va,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),EU=Tc({key:"leaveRoom",do:(n,i,o)=>{Rc(va,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),QU=Tc({key:"destroyRoom",do:(n,i)=>{Rc(va,(o)=>{o.delete({room:i})},n.env().store),n.set(ul,(o)=>(o.delete(i),o))}});function Hl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{let c=Hl(n,o.updates);return{...o,updates:c}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var bU=Mc({key:"transactionRedactor",default:{occlude:(n)=>n}}),x0=Mc({key:"unacknowledgedUpdates",default:()=>[]});var wa=Mc({key:"sockets",default:null}),El=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Ql=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kc=Tx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function m0({socket:n,store:i=on.STORE}){return function o(c){let p=n,a=c.key,x=np(Kc,p.id,i).userKeyOfSocket,m=Kn(i,x);if(!m)return i.logger.error("\u274C","continuity",a,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};let l=np(Kc,m,i).socketKeyOfUser;zi(l,({newValue:G})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${G}`),G===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}let Y=An(i,wa,G);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);let f=An(i,x0,m),$=Kn(i,f),v=[],M=(()=>{let G=[];for(let Y of c.perspectives){let{viewAtoms:E}=Y,s=An(i,E,m),z=zi(s,({oldValue:T,newValue:O})=>{let U=T.map((_)=>_.key),V=O.map((_)=>_.key),K=T.filter((_)=>!V.includes(_.key)),y=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{let P=_.type==="mutable_atom"?Pn(i,_):_,ln=Kn(i,P);return[P,ln]});if(i.logger.info("\uD83D\uDC41","atom",Y.resourceAtoms.key,`${m} has a new perspective`,{oldKeys:U,newKeys:V,revealed:y,concealed:K}),y.length>0)p?.emit(`reveal:${a}`,y);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);G.push(z)}return()=>{for(let Y of G)Y()}})(),R=()=>{let G=[];for(let E of c.globals){let s=E.type==="mutable_atom"?Pn(i,E):E,z=Kn(i,s);G.push(s,z)}for(let E of c.perspectives){let{viewAtoms:s,resourceAtoms:z}=E,T=An(i,s,m),O=Kn(i,T);i.logger.info("\uD83D\uDC41","atom",z.key,`${m} can see`,{viewAtoms:s,resourceAtoms:z,userView:O});for(let U of O){let V=U.type==="mutable_atom"?Pn(i,U):U,K=Kn(i,V);G.push(V,K)}}let Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,G);for(let E of c.actions){let s=Rl(E,(z)=>{try{let T=c.globals.map((V)=>{if(V.type==="atom")return V.key;return so(V).key}).concat(c.perspectives.flatMap((V)=>{let{viewAtoms:K}=V,y=An(i,K,m);return Kn(i,y).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Hl(T,z.updates),U={...z,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,y)=>K.epoch-y.epoch);return V}),p?.emit(`tx-new:${a}`,U)}catch(T){if(T instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,T.message)}},`sync-continuity:${a}:${m}`,i);v.push(s)}};p.off(`get:${a}`,R),p.on(`get:${a}`,R);let A=(G)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",G);let{key:Y,id:E}=G,s=`tx-run:${Y}:${E}`,z=`${s}:start`,T=`${s}:end`;performance.mark(z);try{qo({type:"transaction",key:Y},E,i)(...G.params)}catch(y){if(y instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,y.message)}performance.mark(T);let O=performance.measure(s,z,T);i?.logger.info("\uD83D\uDE80","transaction",Y,E,O.duration);let U=`valuesOfCardsView("${m}")`,V=i.selectorAtoms.getRelatedKeys(U),K=i.valueMap.get(U);i.logger.info("\uD83D\uDC41","continuity",a,`seeing ${m} card values`,{valuesOfCardsViewKey:U,rootsOfCardValueView:V,myCardValueView:K})};p.off(`tx-run:${a}`,A),p.on(`tx-run:${a}`,A);let X=(G)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${G}`),$[0]?.epoch===G)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let G of v)G();p?.off(`ack:${a}`,X),M(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,A)}}}var DR=al(af(),1);var J=Symbol.for("drizzle:entityKind"),uV=Symbol.for("drizzle:hasOwnEntityKind");function u(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,J))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(J in o&&o[J]===i[J])return!0;o=Object.getPrototypeOf(o)}return!1}class _n{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[J]="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 xf{static[J]="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 vo=Symbol.for("drizzle:Name");class mf{static[J]="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 vS(n,this)}}class vS{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[J]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((x)=>x.name),p=o.map((x)=>x.name),a=[this.table[vo],...c,o[0].table[vo],...p];return n??`${a.join("_")}_fk`}}function yx(n,...i){return n(...i)}function wS(n,i){return`${n[vo]}_${i.join("_")}_unique`}function SS(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 JS(n,i=0){let o=[],c=i,p=!1;while(c<n.length){let a=n[c];if(a===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,a==="\\"){c+=2;continue}if(a==='"'){let[l,f]=SS(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){let[l,f]=JS(n,c+1);o.push(l),c=f;continue}let[x,m]=SS(n,c,!1);o.push(x),c=m}return[o,c]}function FS(n){let[i]=JS(n,1);return i}function lf(n){return`{${n.map((i)=>{if(Array.isArray(i))return lf(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class C extends xf{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new MS(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 yx((p,a)=>{let x=new mf(()=>{let m=p();return{columns:[n],foreignColumns:[m]}});if(a.onUpdate)x.onUpdate(a.onUpdate);if(a.onDelete)x.onDelete(a.onDelete);return x.build(i)},o,c)})}buildExtraConfigColumn(n){return new AS(n,this.config)}}class j extends _n{constructor(n,i){if(!i.uniqueName)i.uniqueName=wS(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class AS extends j{static[J]="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 Ga{static[J]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class MS extends C{static[J]="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 ff(n,this.config,i)}}class ff extends j{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[J]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=FS(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){let o=n.map((c)=>c===null?null:u(this.baseColumn,ff)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return lf(o)}}var $f=Symbol.for("drizzle:isPgEnum");function TS(n){return!!n&&typeof n==="function"&&$f in n&&n[$f]===!0}class RS extends C{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new KS(n,this.config)}}class KS extends j{static[J]="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 Bx(n,i){return S6(n,i,void 0)}function S6(n,i,o){let c=Object.assign((p)=>new RS(p??"",c),{enumName:n,enumValues:i,schema:o,[$f]:!0});return c}class fi{static[J]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class za extends fi{static[J]="WithSubquery"}var WS="0.35.1";var vf,wf,Qn={startActiveSpan(n,i){if(!vf)return i();if(!wf)wf=vf.trace.getTracer("drizzle-orm",WS);return yx((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(a){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:a instanceof Error?a.message:"Unknown error"}),a}finally{p.end()}}),vf,wf)}};var hn=Symbol.for("drizzle:ViewBaseConfig");var Dx=Symbol.for("drizzle:Schema"),XS=Symbol.for("drizzle:Columns"),GS=Symbol.for("drizzle:ExtraConfigColumns"),Sf=Symbol.for("drizzle:OriginalName"),Jf=Symbol.for("drizzle:BaseName"),zS=Symbol.for("drizzle:IsAlias"),YS=Symbol.for("drizzle:ExtraConfigBuilder"),J6=Symbol.for("drizzle:IsDrizzleTable");class D{static[J]="Table";static Symbol={Name:vo,Schema:Dx,OriginalName:Sf,Columns:XS,ExtraConfigColumns:GS,BaseName:Jf,IsAlias:zS,ExtraConfigBuilder:YS};[vo];[Sf];[Dx];[XS];[GS];[Jf];[zS]=!1;[J6]=!0;[YS]=void 0;constructor(n,i,o){this[vo]=this[Sf]=n,this[Dx]=i,this[Jf]=o}}function gi(n){return n[vo]}function Oc(n){return`${n[Dx]??"public"}.${n[vo]}`}function Ff(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function F6(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 ci{static[J]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new t([this])}}class t{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=OS;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return Qn.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:a,prepareTyping:x,inlineParams:m,paramStartIndex:l}=o;return F6(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,hx))return{sql:p(f.value),params:[]};if(f===void 0)return{sql:"",params:[]};if(Array.isArray(f)){let $=[new ci("(")];for(let[v,S]of f.entries())if($.push(S),v<f.length-1)$.push(new ci(", "));return $.push(new ci(")")),this.buildQueryFromSourceParams($,o)}if(u(f,t))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,D)){let $=f[D.Symbol.Schema],v=f[D.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,_n)){let $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[D.Symbol.Name])+"."+p($),params:[]}}if(u(f,Ui)){let $=f[hn].schema,v=f[hn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};let $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,t))return this.buildQueryFromSourceParams([$],o);if(m)return{sql:this.mapInlineParam($,o),params:[]};let v=["none"];if(x)v=[x(f.encoder)];return{sql:a(l.value++,$),params:[$],typings:v}}if(u(f,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,t.Aliased)&&f.fieldAlias!==void 0)return{sql:p(f.fieldAlias),params:[]};if(u(f,fi)){if(f._.isWith)return{sql:p(f._.alias),params:[]};return this.buildQueryFromSourceParams([new ci("("),f._.sql,new ci(") "),new hx(f._.alias)],o)}if(TS(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(Ff(f)){if(f.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([f.getSQL()],o);return this.buildQueryFromSourceParams([new ci("("),f.getSQL(),new ci(")")],o)}if(m)return{sql:this.mapInlineParam(f,o),params:[]};return{sql:a(l.value++,f),params:[f],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 t.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 hx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new t([this])}}function uS(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}var OS={mapFromDriverValue:(n)=>n},HS={mapToDriverValue:(n)=>n},Jb={...OS,...HS};class Li{constructor(n,i=HS){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new t([this])}}function F(n,...i){let o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new ci(n[0]));for(let[c,p]of i.entries())o.push(p,new ci(n[c+1]));return new t(o)}((n)=>{function i(){return new t([])}n.empty=i;function o(l){return new t(l)}n.fromList=o;function c(l){return new t([new ci(l)])}n.raw=c;function p(l,f){let $=[];for(let[v,S]of l.entries()){if(v>0&&f!==void 0)$.push(f);$.push(S)}return new t($)}n.join=p;function a(l){return new hx(l)}n.identifier=a;function x(l){return new cc(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(F||(F={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[J]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(t||(t={}));class cc{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new t([this])}}function Af(n,i){return n.map((o)=>{if(u(o,cc)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(u(o,Li)&&u(o.value,cc)){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})}class Ui{static[J]="View";[hn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[hn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new t([this])}}_n.prototype.getSQL=function(){return new t([this])};D.prototype.getSQL=function(){return new t([this])};fi.prototype.getSQL=function(){return new t([this])};class wp{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Ya{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="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===hn)return{...n[hn],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((a)=>{p[a]=new Proxy(c[a],new wp(new Proxy(n,this)))}),p}let o=n[i];if(u(o,_n))return new Proxy(o,new wp(new Proxy(n,this)));return o}}function Ix(n,i){return new Proxy(n,new Ya(i,!1))}function Oo(n,i){return new Proxy(n,new wp(new Proxy(n.table,new Ya(i,!1))))}function Mf(n,i){return new t.Aliased(ua(n.sql,i),n.fieldAlias)}function ua(n,i){return F.join(n.queryChunks.map((o)=>{if(u(o,_n))return Oo(o,i);if(u(o,t))return ua(o,i);if(u(o,t.Aliased))return Mf(o,i);return o}))}class Cx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Tf extends Cx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Vi(n,i){if(uS(i)&&!Ff(n)&&!u(n,Li)&&!u(n,cc)&&!u(n,_n)&&!u(n,D)&&!u(n,Ui))return new Li(n,i);return n}var Ho=(n,i)=>{return F`${n} = ${Vi(i,n)}`},ES=(n,i)=>{return F`${n} <> ${Vi(i,n)}`};function Hc(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" and ")),new ci(")")])}function QS(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" or ")),new ci(")")])}function US(n){return F`not ${n}`}var tx=(n,i)=>{return F`${n} > ${Vi(i,n)}`},VS=(n,i)=>{return F`${n} >= ${Vi(i,n)}`},bS=(n,i)=>{return F`${n} < ${Vi(i,n)}`},_S=(n,i)=>{return F`${n} <= ${Vi(i,n)}`};function sS(n,i){if(Array.isArray(i)){if(i.length===0)return F`false`;return F`${n} in ${i.map((o)=>Vi(o,n))}`}return F`${n} in ${Vi(i,n)}`}function jS(n,i){if(Array.isArray(i)){if(i.length===0)return F`true`;return F`${n} not in ${i.map((o)=>Vi(o,n))}`}return F`${n} not in ${Vi(i,n)}`}function NS(n){return F`${n} is null`}function LS(n){return F`${n} is not null`}function yS(n){return F`exists ${n}`}function BS(n){return F`not exists ${n}`}function DS(n,i,o){return F`${n} between ${Vi(i,n)} and ${Vi(o,n)}`}function hS(n,i,o){return F`${n} not between ${Vi(i,n)} and ${Vi(o,n)}`}function IS(n,i){return F`${n} like ${i}`}function CS(n,i){return F`${n} not like ${i}`}function tS(n,i){return F`${n} ilike ${i}`}function kS(n,i){return F`${n} not ilike ${i}`}function rS(n){return F`${n} asc`}function ZS(n){return F`${n} desc`}class qS{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Rf{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new qS}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 Kf{static[J]="NoopLogger";logQuery(){}}class ui{static[J]="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 PS(n,i,o){let c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,_n))f=m;else if(u(m,t))f=m.decoder;else f=m.sql.decoder;let $=a;for(let[v,S]of x.entries())if(v<x.length-1){if(!(S in $))$[S]={};$=$[S]}else{let M=i[l],R=$[S]=M===null?null:f.mapFromDriverValue(M);if(o&&u(m,_n)&&x.length===2){let A=x[0];if(!(A in c))c[A]=R===null?gi(m.table):!1;else if(typeof c[A]==="string"&&c[A]!==gi(m.table))c[A]=!1}}return a},{});if(o&&Object.keys(c).length>0){for(let[a,x]of Object.entries(c))if(typeof x==="string"&&!o[x])p[a]=null}return p}function di(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;let a=i?[...i,c]:[c];if(u(p,_n)||u(p,t)||u(p,t.Aliased))o.push({path:a,field:p});else if(u(p,D))o.push(...di(p[D.Symbol.Columns],a));else o.push(...di(p,a));return o},[])}function Wf(n,i){let o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,a]of o.entries())if(a!==c[p])return!1;return!0}function kx(n,i){let o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,t))return[c,p];else return[c,new Li(p,n[D.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function eS(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 gS(n){return n[D.Symbol.Columns]}function Xf(n){return u(n,fi)?n._.alias:u(n,Ui)?n[hn].name:u(n,t)?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}}class pc extends C{static[J]="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 dS extends pc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new n1(n,this.config)}}class n1 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class i1 extends pc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new o1(n,this.config)}}class o1 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function c1(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new dS(o);return new i1(o)}class p1 extends C{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new a1(n,this.config)}}class a1 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class x1 extends C{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new m1(n,this.config)}}class m1 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function l1(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new p1(o);return new x1(o)}class f1 extends C{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new $1(n,this.config)}}class $1 extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function Oa(n){return new f1(n??"")}class v1 extends C{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new w1(n,this.config)}}class w1 extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function S1(n,i={}){let{name:o,config:c}=Jn(n,i);return new v1(o,c)}class J1 extends C{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new F1(n,this.config)}}class F1 extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function A1(n){return new J1(n??"")}class M1 extends C{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new T1(n,this.config)}}class T1 extends j{static[J]="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 R1(n){return(i,o)=>{let{name:c,config:p}=Jn(i,o);return new M1(c,p,n)}}class No extends C{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(F`now()`)}}class K1 extends No{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new rx(n,this.config)}}class rx extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class W1 extends No{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Zx(n,this.config)}}class Zx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function X1(n,i){let{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new K1(o);return new W1(o)}class G1 extends C{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new z1(n,this.config)}}class z1 extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function Y1(n){return new G1(n??"")}class u1 extends C{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new O1(n,this.config)}}class O1 extends j{static[J]="PgInet";getSQLType(){return"inet"}}function H1(n){return new u1(n??"")}class E1 extends pc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Q1(n,this.config)}}class Q1 extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function qx(n){return new E1(n??"")}class U1 extends C{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new V1(n,this.config)}}class V1 extends j{static[J]="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 b1(n,i={}){let{name:o,config:c}=Jn(n,i);return new U1(o,c)}class _1 extends C{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Px(n,this.config)}}class Px extends j{static[J]="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 s1(n){return new _1(n??"")}class j1 extends C{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new ex(n,this.config)}}class ex extends j{static[J]="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 N1(n){return new j1(n??"")}class L1 extends C{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new y1(n,this.config)}}class y1 extends j{static[J]="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 B1 extends C{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new D1(n,this.config)}}class D1 extends j{static[J]="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 h1(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new L1(o);return new B1(o)}class I1 extends C{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new C1(n,this.config)}}class C1 extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function t1(n){return new I1(n??"")}class k1 extends C{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new r1(n,this.config)}}class r1 extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function Z1(n){return new k1(n??"")}class q1 extends C{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new gx(n,this.config)}}class gx extends j{static[J]="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 P1(n,i){let{name:o,config:c}=Jn(n,i);return new q1(o,c?.precision,c?.scale)}class e1 extends C{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new g1(n,this.config)}}class g1 extends j{static[J]="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 d1 extends C{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new nJ(n,this.config)}}class nJ extends j{static[J]="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 iJ(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new e1(o);return new d1(o)}function A6(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 oJ(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 Gf(n){let i=A6(n),o=0,c=i[o];o+=1;let p=new DataView(i.buffer),a=p.getUint32(o,c===1);o+=4;let x;if(a&536870912)x=p.getUint32(o,c===1),o+=4;if((a&65535)===1){let m=oJ(i,o);o+=8;let l=oJ(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}class cJ extends C{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new pJ(n,this.config)}}class pJ extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Gf(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class aJ extends C{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new xJ(n,this.config)}}class xJ extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){let i=Gf(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function mJ(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new cJ(o);return new aJ(o)}class lJ extends C{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new fJ(n,this.config)}}class fJ extends j{static[J]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function $J(n){return new lJ(n??"")}class vJ extends C{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new wJ(n,this.config)}}class wJ extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function SJ(n){return new vJ(n??"")}class JJ extends pc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new FJ(n,this.config)}}class FJ extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function AJ(n){return new JJ(n??"")}class MJ extends C{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new TJ(n,this.config)}}class TJ extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function RJ(n){return new MJ(n??"")}class KJ extends C{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new WJ(n,this.config)}}class WJ extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function XJ(n,i={}){let{name:o,config:c}=Jn(n,i);return new KJ(o,c)}class GJ extends No{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[J]="PgTimeBuilder";build(n){return new dx(n,this.config)}}class dx extends j{static[J]="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 zJ(n,i={}){let{name:o,config:c}=Jn(n,i);return new GJ(o,c.withTimezone??!1,c.precision)}class YJ extends No{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new nm(n,this.config)}}class nm extends j{static[J]="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 uJ extends No{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new im(n,this.config)}}class im extends j{static[J]="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 wo(n,i={}){let{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new uJ(o,c.withTimezone??!1,c.precision);return new YJ(o,c?.withTimezone??!1,c?.precision)}class OJ extends C{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(F`gen_random_uuid()`)}build(n){return new om(n,this.config)}}class om extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function yi(n){return new OJ(n??"")}class HJ extends C{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new EJ(n,this.config)}}class EJ extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function $i(n,i={}){let{name:o,config:c}=Jn(n,i);return new HJ(o,c)}class QJ extends C{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new UJ(n,this.config)}}class UJ extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function VJ(n,i){let{name:o,config:c}=Jn(n,i);return new QJ(o,c)}class bJ extends C{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new _J(n,this.config)}}class _J extends j{static[J]="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 sJ(n,i){let{name:o,config:c}=Jn(n,i);return new bJ(o,c)}class jJ extends C{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new NJ(n,this.config)}}class NJ extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function LJ(n,i){let{name:o,config:c}=Jn(n,i);return new jJ(o,c)}class yJ extends C{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new BJ(n,this.config)}}class BJ extends j{static[J]="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 DJ(n,i){let{name:o,config:c}=Jn(n,i);return new yJ(o,c)}function hJ(){return{bigint:c1,bigserial:l1,boolean:Oa,char:S1,cidr:A1,customType:R1,date:X1,doublePrecision:Y1,inet:H1,integer:qx,interval:b1,json:s1,jsonb:N1,line:h1,macaddr:t1,macaddr8:Z1,numeric:P1,point:iJ,geometry:mJ,real:$J,serial:SJ,smallint:AJ,smallserial:RJ,text:XJ,time:zJ,timestamp:wo,uuid:yi,varchar:$i,bit:VJ,halfvec:sJ,sparsevec:LJ,vector:DJ}}var zf=Symbol.for("drizzle:PgInlineForeignKeys");class So extends D{static[J]="PgTable";static Symbol=Object.assign({},D.Symbol,{InlineForeignKeys:zf});[zf]=[];[D.Symbol.ExtraConfigBuilder]=void 0}function M6(n,i,o,c,p=n){let a=new So(n,c,p),x=typeof i==="function"?i(hJ()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{let S=v;S.setName($);let M=S.build(a);return a[zf].push(...S.buildForeignKeys(M,a)),[$,M]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{let S=v;S.setName($);let M=S.buildExtraConfigColumn(a);return[$,M]})),f=Object.assign(a,m);if(f[D.Symbol.Columns]=m,f[D.Symbol.ExtraConfigColumns]=l,o)f[So.Symbol.ExtraConfigBuilder]=o;return f}var ac=(n,i,o)=>{return M6(n,i,o,void 0)};function IJ(...n){if(n[0].columns)return new Ha(n[0].columns,n[0].name);return new Ha(n)}class Ha{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new CJ(n,this.columns,this.name)}}class CJ{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[So.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}class Yf{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[D.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class tJ{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class xc extends Yf{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){let i=new xc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ea extends Yf{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){let i=new Ea(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}function kJ(){return{and:Hc,between:DS,eq:Ho,exists:yS,gt:tx,gte:VS,ilike:tS,inArray:sS,isNull:NS,isNotNull:LS,like:IS,lt:bS,lte:_S,ne:ES,not:US,notBetween:hS,notExists:BS,notLike:CS,notIlike:kS,notInArray:jS,or:QS,sql:F}}function rJ(){return{sql:F,asc:rS,desc:ZS}}function ZJ(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,D))n=n.default;let o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,D)){let m=Oc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[D.Symbol.Name],schema:x[D.Symbol.Schema],columns:x[D.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[D.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);let f=x[D.Symbol.ExtraConfigBuilder]?.(x[D.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Ha))p[a].primaryKey.push(...$.columns)}}else if(u(x,tJ)){let m=Oc(x.table),l=o[m],f=x.config(i(x.table)),$;for(let[v,S]of Object.entries(f))if(l){let M=p[l];if(M.relations[v]=S,$)M.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function T6(n){return function i(o,c){return new xc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function R6(n){return function i(o,c){return new Ea(n,o,c)}}function qJ(n,i,o){if(u(o,xc)&&o.config)return{fields:o.config.fields,references:o.config.references};let c=i[Oc(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 a=o.sourceTable,x=i[Oc(a)];if(!x)throw new Error(`Table "${a[D.Symbol.Name]}" not found in schema`);let m=[];for(let l of Object.values(p.relations))if(o.relationName&&o!==l&&l.relationName===o.relationName||!o.relationName&&l.referencedTable===o.sourceTable)m.push(l);if(m.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(m[0]&&u(m[0],xc)&&m[0].config)return{fields:m[0].config.references,references:m[0].config.fields};throw new Error(`There is not enough information to infer relation "${x}.${o.fieldName}"`)}function PJ(n){return{one:T6(n),many:R6(n)}}function cm(n,i,o,c,p=(a)=>a){let a={};for(let[x,m]of c.entries())if(m.isJson){let l=i.relations[m.tsKey],f=o[x],$=typeof f==="string"?JSON.parse(f):f;a[m.tsKey]=u(l,xc)?$&&cm(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>cm(n,n[m.relationTableTsKey],v,m.selection,p))}else{let l=p(o[x]),f=m.field,$;if(u(f,_n))$=f;else if(u(f,t))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}var sT=al(_T(),1),{Server:jT,Namespace:FL,Socket:AL}=sT.default;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 a={};for(let x of p)a[x]=x;return a},n.getValidEnumValues=(p)=>{let a=n.objectKeys(p).filter((m)=>typeof p[p[m]]!=="number"),x={};for(let m of a)x[m]=p[m];return n.objectValues(x)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(a){return p[a]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{let a=[];for(let x in p)if(Object.prototype.hasOwnProperty.call(p,x))a.push(x);return a},n.find=(p,a)=>{for(let x of p)if(a(x))return x;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,a=" | "){return p.map((x)=>typeof x==="string"?`'${x}'`:x).join(a)}n.joinValues=c,n.jsonStringifyReplacer=(p,a)=>{if(typeof a==="bigint")return a.toString();return a}})(Tn||(Tn={}));var W$;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(W$||(W$={}));var h=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vc=(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}},Q=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"]),f5=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{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}get errors(){return this.issues}format(n){let i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let a of p.issues)if(a.code==="invalid_union")a.unionErrors.map(c);else if(a.code==="invalid_return_type")c(a.returnTypeError);else if(a.code==="invalid_arguments")c(a.argumentsError);else if(a.path.length===0)o._errors.push(i(a));else{let x=o,m=0;while(m<a.path.length){let l=a.path[m];if(m!==a.path.length-1)x[l]=x[l]||{_errors:[]};else x[l]=x[l]||{_errors:[]},x[l]._errors.push(i(a));x=x[l],m++}}};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 Up=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===h.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case Q.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case Q.invalid_arguments:o="Invalid function arguments";break;case Q.invalid_return_type:o="Invalid function return type";break;case Q.invalid_date:o="Invalid date";break;case Q.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 Q.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 Q.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 Q.custom:o="Invalid input";break;case Q.invalid_intersection_types:o="Intersection results could not be merged";break;case Q.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case Q.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},yT=Up;function $5(n){yT=n}function Qm(){return yT}var Um=(n)=>{let{data:i,path:o,errorMaps:c,issueData:p}=n,a=[...o,...p.path||[]],x={...p,path:a};if(p.message!==void 0)return{...p,path:a,message:p.message};let m="",l=c.filter((f)=>!!f).slice().reverse();for(let f of l)m=f(x,{data:i,defaultError:m}).message;return{...p,path:a,message:m}},v5=[];function B(n,i){let o=Qm(),c=Um({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Up?void 0:Up].filter((p)=>!!p)});n.common.issues.push(c)}class Wi{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 nn;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,a=await c.value;o.push({key:p,value:a})}return Wi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){let o={};for(let c of i){let{key:p,value:a}=c;if(p.status==="aborted")return nn;if(a.status==="aborted")return nn;if(p.status==="dirty")n.dirty();if(a.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof a.value!=="undefined"||c.alwaysSet))o[p.value]=a.value}return{status:n.value,value:o}}}var nn=Object.freeze({status:"aborted"}),Ep=(n)=>({status:"dirty",value:n}),Hi=(n)=>({status:"valid",value:n}),X$=(n)=>n.status==="aborted",G$=(n)=>n.status==="dirty",ya=(n)=>n.status==="valid",Ba=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;function Vm(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 BT(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 r;(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})(r||(r={}));var Na,La;class Wo{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 NT=(n,i)=>{if(ya(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 mn(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:(x,m)=>{var l,f;let{message:$}=n;if(x.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:m.defaultError};if(typeof m.data==="undefined")return{message:(l=$!==null&&$!==void 0?$:c)!==null&&l!==void 0?l:m.defaultError};if(x.code!=="invalid_type")return{message:m.defaultError};return{message:(f=$!==null&&$!==void 0?$:o)!==null&&f!==void 0?f:m.defaultError}},description:p}}class fn{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)}get description(){return this._def.description}_getType(n){return vc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Wi,ctx:{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){let i=this._parse(n);if(Ba(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:vc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return NT(c,p)}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:vc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ba(c)?c:Promise.resolve(c));return NT(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 a=n(c),x=()=>p.addIssue({code:Q.custom,...o(c)});if(typeof Promise!=="undefined"&&a instanceof Promise)return a.then((m)=>{if(!m)return x(),!1;else return!0});if(!a)return x(),!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 oo({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Ko.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ro.create(this,this._def)}promise(){return Bc.create(this,this._def)}or(n){return sp.create([this,n],this._def)}and(n){return jp.create(this,n,this._def)}transform(n){return new oo({...mn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){let i=typeof n==="function"?n:()=>n;return new Bp({...mn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new _m({typeName:g.ZodBranded,type:this,...mn(this._def)})}catch(n){let i=typeof n==="function"?n:()=>n;return new Dp({...mn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return ka.create(this,n)}readonly(){return hp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var w5=/^c[^\s-]{8,}$/i,S5=/^[0-9a-z]+$/,J5=/^[0-9A-HJKMNP-TV-Z]{26}$/,F5=/^[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,A5=/^[a-z0-9_-]{21}$/i,M5=/^[-+]?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)?)??$/,T5=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,R5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",K$,K5=/^(?:(?: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])$/,W5=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,X5=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,DT="((\\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])))",G5=new RegExp(`^${DT}\$`);function hT(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 z5(n){return new RegExp(`^${hT(n)}\$`)}function IT(n){let i=`${DT}T${hT(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 Y5(n,i){if((i==="v4"||!i)&&K5.test(n))return!0;if((i==="v6"||!i)&&W5.test(n))return!0;return!1}class To extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==h.string){let p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.string,received:p.parsedType}),nn}let o=new Wi,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),B(c,{code:Q.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),B(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){let a=n.data.length>p.value,x=n.data.length<p.value;if(a||x){if(c=this._getOrReturnCtx(n,c),a)B(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)B(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!T5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!K$)K$=new RegExp(R5,"u");if(!K$.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!F5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!A5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!w5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!S5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!J5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"ulid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(a){c=this._getOrReturnCtx(n,c),B(c,{validation:"url",code:Q.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),B(c,{validation:"regex",code:Q.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),B(c,{code:Q.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),B(c,{code:Q.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),B(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!IT(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!G5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!z5(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!M5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!Y5(n.data,p.version))c=this._getOrReturnCtx(n,c),B(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!X5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"base64",code:Q.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:Q.invalid_string,...r.errToObj(o)})}_addCheck(n){return new To({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...r.errToObj(n)})}url(n){return this._addCheck({kind:"url",...r.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...r.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...r.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...r.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...r.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...r.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...r.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...r.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...r.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,...r.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,...r.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...r.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...r.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...r.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...r.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...r.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...r.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...r.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...r.errToObj(i)})}nonempty(n){return this.min(1,r.errToObj(n))}trim(){return new To({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new To({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new To({...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 isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}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}}To.create=(n)=>{var i;return new To({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};function u5(n,i){let o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,a=parseInt(n.toFixed(p).replace(".","")),x=parseInt(i.toFixed(p).replace(".",""));return a%x/Math.pow(10,p)}class Sc extends fn{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 B(p,{code:Q.invalid_type,expected:h.number,received:p.parsedType}),nn}let o=void 0,c=new Wi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),B(o,{code:Q.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),B(o,{code:Q.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),B(o,{code:Q.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(u5(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),B(o,{code:Q.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),B(o,{code:Q.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,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new Sc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Sc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:r.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:r.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r.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)}}Sc.create=(n)=>{return new Sc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Jc extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)n.data=BigInt(n.data);if(this._getType(n)!==h.bigint){let p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.bigint,received:p.parsedType}),nn}let o=void 0,c=new Wi;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),B(o,{code:Q.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),B(o,{code:Q.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),B(o,{code:Q.not_multiple_of,multipleOf:p.value,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,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new Jc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Jc({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.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}}Jc.create=(n)=>{var i;return new Jc({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};class Vp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==h.boolean){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.boolean,received:o.parsedType}),nn}return Hi(n.data)}}Vp.create=(n)=>{return new Vp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Nc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==h.date){let p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){let p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_date}),nn}let o=new Wi,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),B(c,{code:Q.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),B(c,{code:Q.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 Nc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:r.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:r.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}}Nc.create=(n)=>{return new Nc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...mn(n)})};class Da extends fn{_parse(n){if(this._getType(n)!==h.symbol){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.symbol,received:o.parsedType}),nn}return Hi(n.data)}}Da.create=(n)=>{return new Da({typeName:g.ZodSymbol,...mn(n)})};class bp extends fn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.undefined,received:o.parsedType}),nn}return Hi(n.data)}}bp.create=(n)=>{return new bp({typeName:g.ZodUndefined,...mn(n)})};class _p extends fn{_parse(n){if(this._getType(n)!==h.null){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.null,received:o.parsedType}),nn}return Hi(n.data)}}_p.create=(n)=>{return new _p({typeName:g.ZodNull,...mn(n)})};class Lc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Hi(n.data)}}Lc.create=(n)=>{return new Lc({typeName:g.ZodAny,...mn(n)})};class wc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Hi(n.data)}}wc.create=(n)=>{return new wc({typeName:g.ZodUnknown,...mn(n)})};class Qo extends fn{_parse(n){let i=this._getOrReturnCtx(n);return B(i,{code:Q.invalid_type,expected:h.never,received:i.parsedType}),nn}}Qo.create=(n)=>{return new Qo({typeName:g.ZodNever,...mn(n)})};class ha extends fn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.void,received:o.parsedType}),nn}return Hi(n.data)}}ha.create=(n)=>{return new ha({typeName:g.ZodVoid,...mn(n)})};class Ro extends fn{_parse(n){let{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==h.array)return B(i,{code:Q.invalid_type,expected:h.array,received:i.parsedType}),nn;if(c.exactLength!==null){let a=i.data.length>c.exactLength.value,x=i.data.length<c.exactLength.value;if(a||x)B(i,{code:a?Q.too_big:Q.too_small,minimum:x?c.exactLength.value:void 0,maximum:a?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)B(i,{code:Q.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)B(i,{code:Q.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((a,x)=>{return c.type._parseAsync(new Wo(i,a,i.path,x))})).then((a)=>{return Wi.mergeArray(o,a)});let p=[...i.data].map((a,x)=>{return c.type._parseSync(new Wo(i,a,i.path,x))});return Wi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new Ro({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new Ro({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new Ro({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}Ro.create=(n,i)=>{return new Ro({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...mn(i)})};function Hp(n){if(n instanceof In){let i={};for(let o in n.shape){let c=n.shape[o];i[o]=Ko.create(Hp(c))}return new In({...n._def,shape:()=>i})}else if(n instanceof Ro)return new Ro({...n._def,type:Hp(n.element)});else if(n instanceof Ko)return Ko.create(Hp(n.unwrap()));else if(n instanceof ho)return ho.create(Hp(n.unwrap()));else if(n instanceof Uo)return Uo.create(n.items.map((i)=>Hp(i)));else return n}class In extends fn{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 l=this._getOrReturnCtx(n);return B(l,{code:Q.invalid_type,expected:h.object,received:l.parsedType}),nn}let{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:a}=this._getCached(),x=[];if(!(this._def.catchall instanceof Qo&&this._def.unknownKeys==="strip")){for(let l in c.data)if(!a.includes(l))x.push(l)}let m=[];for(let l of a){let f=p[l],$=c.data[l];m.push({key:{status:"valid",value:l},value:f._parse(new Wo(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Qo){let l=this._def.unknownKeys;if(l==="passthrough")for(let f of x)m.push({key:{status:"valid",value:f},value:{status:"valid",value:c.data[f]}});else if(l==="strict"){if(x.length>0)B(c,{code:Q.unrecognized_keys,keys:x}),o.dirty()}else if(l==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let f of x){let $=c.data[f];m.push({key:{status:"valid",value:f},value:l._parse(new Wo(c,$,c.path,f)),alwaysSet:f in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{let l=[];for(let f of m){let $=await f.key,v=await f.value;l.push({key:$,value:v,alwaysSet:f.alwaysSet})}return l}).then((l)=>{return Wi.mergeObjectSync(o,l)});else return Wi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new In({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,a,x;let m=(a=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&a!==void 0?a:o.defaultError;if(i.code==="unrecognized_keys")return{message:(x=r.errToObj(n).message)!==null&&x!==void 0?x:m};return{message:m}}}:{}})}strip(){return new In({...this._def,unknownKeys:"strip"})}passthrough(){return new In({...this._def,unknownKeys:"passthrough"})}extend(n){return new In({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new In({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:g.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new In({...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 In({...this._def,shape:()=>i})}omit(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new In({...this._def,shape:()=>i})}deepPartial(){return Hp(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 In({...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 Ko)p=p._def.innerType;i[o]=p}}),new In({...this._def,shape:()=>i})}keyof(){return CT(Tn.objectKeys(this.shape))}}In.create=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.strictCreate=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strict",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.lazycreate=(n,i)=>{return new In({shape:n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};class sp extends fn{_parse(n){let{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let x of p)if(x.result.status==="valid")return x.result;for(let x of p)if(x.result.status==="dirty")return i.common.issues.push(...x.ctx.common.issues),x.result;let a=p.map((x)=>new Ii(x.ctx.common.issues));return B(i,{code:Q.invalid_union,unionErrors:a}),nn}if(i.common.async)return Promise.all(o.map(async(p)=>{let a={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:a}),ctx:a}})).then(c);else{let p=void 0,a=[];for(let m of o){let l={...i,common:{...i.common,issues:[]},parent:null},f=m._parseSync({data:i.data,path:i.path,parent:l});if(f.status==="valid")return f;else if(f.status==="dirty"&&!p)p={result:f,ctx:l};if(l.common.issues.length)a.push(l.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;let x=a.map((m)=>new Ii(m));return B(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}sp.create=(n,i)=>{return new sp({options:n,typeName:g.ZodUnion,...mn(i)})};var Do=(n)=>{if(n instanceof Np)return Do(n.schema);else if(n instanceof oo)return Do(n.innerType());else if(n instanceof Lp)return[n.value];else if(n instanceof Fc)return n.options;else if(n instanceof yp)return Tn.objectValues(n.enum);else if(n instanceof Bp)return Do(n._def.innerType);else if(n instanceof bp)return[void 0];else if(n instanceof _p)return[null];else if(n instanceof Ko)return[void 0,...Do(n.unwrap())];else if(n instanceof ho)return[null,...Do(n.unwrap())];else if(n instanceof _m)return Do(n.unwrap());else if(n instanceof hp)return Do(n.unwrap());else if(n instanceof Dp)return Do(n._def.innerType);else return[]};class bm extends fn{_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.object)return B(i,{code:Q.invalid_type,expected:h.object,received:i.parsedType}),nn;let o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return B(i,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),nn;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 a=Do(p.shape[n]);if(!a.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let x of a){if(c.has(x))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(x)}`);c.set(x,p)}}return new bm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...mn(o)})}}function z$(n,i){let o=vc(n),c=vc(i);if(n===i)return{valid:!0,data:n};else if(o===h.object&&c===h.object){let p=Tn.objectKeys(i),a=Tn.objectKeys(n).filter((m)=>p.indexOf(m)!==-1),x={...n,...i};for(let m of a){let l=z$(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===h.array&&c===h.array){if(n.length!==i.length)return{valid:!1};let p=[];for(let a=0;a<n.length;a++){let x=n[a],m=i[a],l=z$(x,m);if(!l.valid)return{valid:!1};p.push(l.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 jp extends fn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(X$(p)||X$(a))return nn;let x=z$(p.value,a.value);if(!x.valid)return B(o,{code:Q.invalid_intersection_types}),nn;if(G$(p)||G$(a))i.dirty();return{status:i.value,value:x.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,a])=>c(p,a));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}))}}jp.create=(n,i,o)=>{return new jp({left:n,right:i,typeName:g.ZodIntersection,...mn(o)})};class Uo extends fn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.array)return B(o,{code:Q.invalid_type,expected:h.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return B(o,{code:Q.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),nn;if(!this._def.rest&&o.data.length>this._def.items.length)B(o,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();let p=[...o.data].map((a,x)=>{let m=this._def.items[x]||this._def.rest;if(!m)return null;return m._parse(new Wo(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Wi.mergeArray(i,a)});else return Wi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Uo({...this._def,rest:n})}}Uo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Uo({items:n,typeName:g.ZodTuple,rest:null,...mn(i)})};class Ia extends fn{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 B(o,{code:Q.invalid_type,expected:h.object,received:o.parsedType}),nn;let c=[],p=this._def.keyType,a=this._def.valueType;for(let x in o.data)c.push({key:p._parse(new Wo(o,x,o.path,x)),value:a._parse(new Wo(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Wi.mergeObjectAsync(i,c);else return Wi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ia({keyType:n,valueType:i,typeName:g.ZodRecord,...mn(o)});return new Ia({keyType:To.create(),valueType:n,typeName:g.ZodRecord,...mn(i)})}}class Ca extends fn{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 B(o,{code:Q.invalid_type,expected:h.map,received:o.parsedType}),nn;let c=this._def.keyType,p=this._def.valueType,a=[...o.data.entries()].map(([x,m],l)=>{return{key:c._parse(new Wo(o,x,o.path,[l,"key"])),value:p._parse(new Wo(o,m,o.path,[l,"value"]))}});if(o.common.async){let x=new Map;return Promise.resolve().then(async()=>{for(let m of a){let l=await m.key,f=await m.value;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}})}else{let x=new Map;for(let m of a){let{key:l,value:f}=m;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}}}}Ca.create=(n,i,o)=>{return new Ca({valueType:i,keyType:n,typeName:g.ZodMap,...mn(o)})};class yc extends fn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.set)return B(o,{code:Q.invalid_type,expected:h.set,received:o.parsedType}),nn;let c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)B(o,{code:Q.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)B(o,{code:Q.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}let p=this._def.valueType;function a(m){let l=new Set;for(let f of m){if(f.status==="aborted")return nn;if(f.status==="dirty")i.dirty();l.add(f.value)}return{status:i.value,value:l}}let x=[...o.data.values()].map((m,l)=>p._parse(new Wo(o,m,o.path,l)));if(o.common.async)return Promise.all(x).then((m)=>a(m));else return a(x)}min(n,i){return new yc({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new yc({...this._def,maxSize:{value:n,message:r.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}yc.create=(n,i)=>{return new yc({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...mn(i)})};class Qp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.function)return B(i,{code:Q.invalid_type,expected:h.function,received:i.parsedType}),nn;function o(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].filter((l)=>!!l),issueData:{code:Q.invalid_return_type,returnTypeError:m}})}let p={errorMap:i.common.contextualErrorMap},a=i.data;if(this._def.returns instanceof Bc){let x=this;return Hi(async function(...m){let l=new Ii([]),f=await x._def.args.parseAsync(m,p).catch((S)=>{throw l.addIssue(o(m,S)),l}),$=await Reflect.apply(a,this,f);return await x._def.returns._def.type.parseAsync($,p).catch((S)=>{throw l.addIssue(c($,S)),l})})}else{let x=this;return Hi(function(...m){let l=x._def.args.safeParse(m,p);if(!l.success)throw new Ii([o(m,l.error)]);let f=Reflect.apply(a,this,l.data),$=x._def.returns.safeParse(f,p);if(!$.success)throw new Ii([c(f,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new Qp({...this._def,args:Uo.create(n).rest(wc.create())})}returns(n){return new Qp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Qp({args:n?n:Uo.create([]).rest(wc.create()),returns:i||wc.create(),typeName:g.ZodFunction,...mn(o)})}}class Np extends fn{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})}}Np.create=(n,i)=>{return new Np({getter:n,typeName:g.ZodLazy,...mn(i)})};class Lp extends fn{_parse(n){if(n.data!==this._def.value){let i=this._getOrReturnCtx(n);return B(i,{received:i.data,code:Q.invalid_literal,expected:this._def.value}),nn}return{status:"valid",value:n.data}}get value(){return this._def.value}}Lp.create=(n,i)=>{return new Lp({value:n,typeName:g.ZodLiteral,...mn(i)})};function CT(n,i){return new Fc({values:n,typeName:g.ZodEnum,...mn(i)})}class Fc extends fn{constructor(){super(...arguments);Na.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){let i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{expected:Tn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,Na,"f"))BT(this,Na,new Set(this._def.values),"f");if(!Vm(this,Na,"f").has(n.data)){let i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Hi(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 Fc.create(n,{...this._def,...i})}exclude(n,i=this._def){return Fc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Na=new WeakMap;Fc.create=CT;class yp extends fn{constructor(){super(...arguments);La.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 B(o,{expected:Tn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,La,"f"))BT(this,La,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!Vm(this,La,"f").has(n.data)){let c=Tn.objectValues(i);return B(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Hi(n.data)}get enum(){return this._def.values}}La=new WeakMap;yp.create=(n,i)=>{return new yp({values:n,typeName:g.ZodNativeEnum,...mn(i)})};class Bc extends fn{unwrap(){return this._def.type}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.promise&&i.common.async===!1)return B(i,{code:Q.invalid_type,expected:h.promise,received:i.parsedType}),nn;let o=i.parsedType===h.promise?i.data:Promise.resolve(i.data);return Hi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Bc.create=(n,i)=>{return new Bc({type:n,typeName:g.ZodPromise,...mn(i)})};class oo extends fn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===g.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:(a)=>{if(B(o,a),a.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){let a=c.transform(o.data,p);if(o.common.async)return Promise.resolve(a).then(async(x)=>{if(i.value==="aborted")return nn;let m=await this._def.schema._parseAsync({data:x,path:o.path,parent:o});if(m.status==="aborted")return nn;if(m.status==="dirty")return Ep(m.value);if(i.value==="dirty")return Ep(m.value);return m});else{if(i.value==="aborted")return nn;let x=this._def.schema._parseSync({data:a,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")return Ep(x.value);if(i.value==="dirty")return Ep(x.value);return x}}if(c.type==="refinement"){let a=(x)=>{let m=c.refinement(x,p);if(o.common.async)return Promise.resolve(m);if(m instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return x};if(o.common.async===!1){let x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value),{status:i.value,value:x.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value).then(()=>{return{status:i.value,value:x.value}})})}if(c.type==="transform")if(o.common.async===!1){let a=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!ya(a))return a;let x=c.transform(a.value,p);if(x instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:x}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((a)=>{if(!ya(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Tn.assertNever(c)}}oo.create=(n,i,o)=>{return new oo({schema:n,typeName:g.ZodEffects,effect:i,...mn(o)})};oo.createWithPreprocess=(n,i,o)=>{return new oo({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...mn(o)})};class Ko extends fn{_parse(n){if(this._getType(n)===h.undefined)return Hi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Ko.create=(n,i)=>{return new Ko({innerType:n,typeName:g.ZodOptional,...mn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===h.null)return Hi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...mn(i)})};class Bp extends fn{_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}}Bp.create=(n,i)=>{return new Bp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...mn(i)})};class Dp extends fn{_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(Ba(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}}Dp.create=(n,i)=>{return new Dp({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...mn(i)})};class ta extends fn{_parse(n){if(this._getType(n)!==h.nan){let o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ta.create=(n)=>{return new ta({typeName:g.ZodNaN,...mn(n)})};var O5=Symbol("zod_brand");class _m extends fn{_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 ka extends fn{_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 nn;if(p.status==="dirty")return i.dirty(),Ep(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 nn;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 ka({in:n,out:i,typeName:g.ZodPipeline})}}class hp extends fn{_parse(n){let i=this._def.innerType._parse(n),o=(c)=>{if(ya(c))c.value=Object.freeze(c.value);return c};return Ba(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}hp.create=(n,i)=>{return new hp({innerType:n,typeName:g.ZodReadonly,...mn(i)})};function tT(n,i={},o){if(n)return Lc.create().superRefine((c,p)=>{var a,x;if(!n(c)){let m=typeof i==="function"?i(c):typeof i==="string"?{message:i}:i,l=(x=(a=m.fatal)!==null&&a!==void 0?a:o)!==null&&x!==void 0?x:!0,f=typeof m==="string"?{message:m}:m;p.addIssue({code:"custom",...f,fatal:l})}});return Lc.create()}var H5={object:In.lazycreate},g;(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"})(g||(g={}));var E5=(n,i={message:`Input not instance of ${n.name}`})=>tT((o)=>o instanceof n,i),kT=To.create,rT=Sc.create,Q5=ta.create,U5=Jc.create,ZT=Vp.create,V5=Nc.create,b5=Da.create,_5=bp.create,s5=_p.create,j5=Lc.create,N5=wc.create,L5=Qo.create,y5=ha.create,B5=Ro.create,ra=In.create,D5=In.strictCreate,h5=sp.create,I5=bm.create,C5=jp.create,t5=Uo.create,k5=Ia.create,r5=Ca.create,Z5=yc.create,q5=Qp.create,P5=Np.create,e5=Lp.create,g5=Fc.create,d5=yp.create,nG=Bc.create,LT=oo.create,iG=Ko.create,oG=ho.create,cG=oo.createWithPreprocess,pG=ka.create,aG=()=>kT().optional(),xG=()=>rT().optional(),mG=()=>ZT().optional(),lG={string:(n)=>To.create({...n,coerce:!0}),number:(n)=>Sc.create({...n,coerce:!0}),boolean:(n)=>Vp.create({...n,coerce:!0}),bigint:(n)=>Jc.create({...n,coerce:!0}),date:(n)=>Nc.create({...n,coerce:!0})},fG=nn,Hn=Object.freeze({__proto__:null,defaultErrorMap:Up,setErrorMap:$5,getErrorMap:Qm,makeIssue:Um,EMPTY_PATH:v5,addIssueToContext:B,ParseStatus:Wi,INVALID:nn,DIRTY:Ep,OK:Hi,isAborted:X$,isDirty:G$,isValid:ya,isAsync:Ba,get util(){return Tn},get objectUtil(){return W$},ZodParsedType:h,getParsedType:vc,ZodType:fn,datetimeRegex:IT,ZodString:To,ZodNumber:Sc,ZodBigInt:Jc,ZodBoolean:Vp,ZodDate:Nc,ZodSymbol:Da,ZodUndefined:bp,ZodNull:_p,ZodAny:Lc,ZodUnknown:wc,ZodNever:Qo,ZodVoid:ha,ZodArray:Ro,ZodObject:In,ZodUnion:sp,ZodDiscriminatedUnion:bm,ZodIntersection:jp,ZodTuple:Uo,ZodRecord:Ia,ZodMap:Ca,ZodSet:yc,ZodFunction:Qp,ZodLazy:Np,ZodLiteral:Lp,ZodEnum:Fc,ZodNativeEnum:yp,ZodPromise:Bc,ZodEffects:oo,ZodTransformer:oo,ZodOptional:Ko,ZodNullable:ho,ZodDefault:Bp,ZodCatch:Dp,ZodNaN:ta,BRAND:O5,ZodBranded:_m,ZodPipeline:ka,ZodReadonly:hp,custom:tT,Schema:fn,ZodSchema:fn,late:H5,get ZodFirstPartyTypeKind(){return g},coerce:lG,any:j5,array:B5,bigint:U5,boolean:ZT,date:V5,discriminatedUnion:I5,effect:LT,enum:g5,function:q5,instanceof:E5,intersection:C5,lazy:P5,literal:e5,map:r5,nan:Q5,nativeEnum:d5,never:L5,null:s5,nullable:oG,number:rT,object:ra,oboolean:mG,onumber:xG,optional:iG,ostring:aG,pipeline:pG,preprocess:cG,promise:nG,record:k5,set:Z5,strictObject:D5,string:kT,symbol:b5,transformer:LT,tuple:t5,undefined:_5,union:h5,unknown:N5,void:y5,NEVER:fG,ZodIssueCode:Q,quotelessJson:f5,ZodError:Ii});function qT(n){let i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[T,O]of Object.entries(i))if(O==="")delete i[T]}if(!!n.skipValidation)return i;let p=typeof n.client==="object"?n.client:{},a=typeof n.server==="object"?n.server:{},x=typeof n.shared==="object"?n.shared:{},m=ra(p),l=ra(a),f=ra(x),$=n.isServer??(typeof window==="undefined"||("Deno"in window)),v=m.merge(f),S=l.merge(f).merge(m),M=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((T)=>{throw console.error("\u274C Invalid environment variables:",T.flatten().fieldErrors),new Error("Invalid environment variables")}),A=n.onInvalidAccess??((T)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(M.success===!1)return R(M.error);let X=(T)=>{if(!n.clientPrefix)return!0;return!T.startsWith(n.clientPrefix)&&!(T in f.shape)},G=(T)=>{return $||!X(T)},Y=(T)=>{return T==="__esModule"||T==="$$typeof"},E=(n.extends??[]).reduce((T,O)=>{return Object.assign(T,O)},{}),s=Object.assign(M.data,E);return new Proxy(s,{get(T,O){if(typeof O!=="string")return;if(Y(O))return;if(!G(O))return A(O);return Reflect.get(T,O)}})}var $G="__vite_start_time"in globalThis,vG=typeof window!=="undefined",XL="vitest"in globalThis,pi=qT({isServer:!$G&&!vG,server:{CI:Hn.string().transform((n)=>!0).optional(),POSTGRES_USER:Hn.string(),POSTGRES_PASSWORD:Hn.string(),POSTGRES_DATABASE:Hn.string(),POSTGRES_HOST:Hn.string(),POSTGRES_PORT:Hn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:Hn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:Hn.union([Hn.literal("true"),Hn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:Hn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:Hn.string().transform((n)=>JSON.parse(n)).pipe(Hn.array(Hn.string())),OPENAI_API_KEY:Hn.string().optional()},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:Hn.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var Dc=new Yl,Xn=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:Dc.logger;on.STORE.loggers[0]=new pa("warn",void 0,Xn);import{spawn as wG}from"child_process";import{resolve as SG}from"path";function Y$(n,i,o=n.logger){let c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[SG(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");let m=wG(p,x);return new $a(m,i,o)}var PT=al(af(),1);var JG=604800000,sm=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;let i=new PT.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){let p=Date.now();for(let[a,x]of c.entries())if(p-x>JG)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),Xn.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import x9 from"path";import LG from"os";import yG from"fs";var jm=new Map,u$=new Map,O$=Symbol("OriginError"),Ip={};class co extends Promise{constructor(n,i,o,c,p={}){let a,x;super((m,l)=>{a=m,x=l});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=(m)=>(this.active=!1,a(m)),this.reject=(m)=>(this.active=!1,x(m)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[O$]=this.handler.debug?new Error:this.tagged&&FG(this.strings)}get origin(){return(this.handler.debug?this[O$].stack:this.tagged&&u$.has(this.strings)?u$.get(this.strings):u$.set(this.strings,this[O$].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,a)=>{this.cursorFn=(x)=>{return p({value:x,done:!1}),new Promise((m)=>o=m)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(x)=>(this.active=!1,a(x))});return this.execute(),c},return(){return o&&o(Ip),{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 FG(n){if(jm.has(n))return jm.get(n);let i=Error.stackTraceLimit;return Error.stackTraceLimit=4,jm.set(n,new Error),Error.stackTraceLimit=i,jm.get(n)}class Cp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var gn={connection:eT,postgres:gT,generic:dT,notSupported:nR};function eT(n,i,o){let{host:c,port:p}=o||i,a=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(a,eT),a}function gT(n){let i=new Cp(n);return Error.captureStackTrace(i,gT),i}function dT(n,i){let o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,dT),o}function nR(n){let i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,nR),i}var AG={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 ym{then(){H$()}catch(){H$()}finally(){H$()}}class ea extends ym{constructor(n){super();this.value=hm(n)}}class Vo extends ym{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Bm extends ym{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){let p=MG.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?b$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}function Dm(n,i,o,c){let p=n instanceof Vo?n.value:n;if(p===void 0){if(n instanceof Vo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw gn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Vo?(i.push(n.value),n.array?n.array[n.type||Lm(n.value)]||n.type||pR(n.value):n.type):(i.push(n),Lm(n)))}var oR=xR(AG);function U$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=V$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function V$(n,i,o,c,p){return i instanceof Bm?i.build(n,o,c,p):i instanceof co?Q$(i,o,c,p):i instanceof ea?i.value:i&&i[0]instanceof co?i.reduce((a,x)=>a+" "+Q$(x,o,c,p),""):Dm(i,o,c,p)}function Q$(n,i,o,c){return n.fragment=!0,U$(n,n.strings[0],n.args[0],i,o,c)}function cR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>V$("values",a[x],i,o,p)).join(",")+")").join(",")}function iR(n,i,o,c,p){let a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return cR(a?n:[n],o,c,x,p)}function Nm(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return b$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof co?Q$(a,o,c,p):a instanceof ea?a.value:Dm(a,o,c,p))+" as "+hm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}var MG=Object.entries({values:iR,in:(...n)=>{let i=iR(...n);return i==="()"?"(null)":i},select:Nm,as:Nm,returning:Nm,"\\(":Nm,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>hm(p.transform.column.to?p.transform.column.to(a):a)+"="+V$("values",n[a],o,c,p))},insert(n,i,o,c,p){let a=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+b$(a,p)+")values"+cR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]);function H$(){throw gn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:TG,parsers:RG}=oR;function pR(n){if(Array.isArray(n))return pR(n[0]);return typeof n==="string"?1009:0}var aR=function(n){let i=xR(n||{});return{serializers:Object.assign({},TG,i.serializers),parsers:Object.assign({},RG,i.parsers)}};function xR(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 b$(n,{transform:{column:i}}){return n.map((o)=>hm(i.to?i.to(o):o)).join(",")}var hm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},Lm=function n(i){return i instanceof Vo?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},KG=/\\/g,WG=/"/g;function XG(n){return n.replace(KG,"\\\\").replace(WG,'\\"')}var mR=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";let a=i[0],x=p===1020?";":",";if(Array.isArray(a)&&!a.type)return"{"+i.map((m)=>n(m,o,c,p)).join(x)+"}";return"{"+i.map((m)=>{if(m===void 0){if(m=c.transform.undefined,m===void 0)throw gn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+XG(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},E$={i:0,char:null,str:"",quoted:!1,last:0},lR=function n(i,o,c){return E$.i=E$.last=0,fR(E$,i,o,c)};function fR(n,i,o,c){let p=[],a=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(fR(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===a&&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 hc=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Ic=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Cc=(n)=>n.replace(/_/g,"-"),Za=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),qa=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),Pa=(n)=>n.replace(/-/g,"_");function _$(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,[a,x])=>Object.assign(p,{[n(a)]:i(x,c)}),{}):o}}hc.column={from:hc};hc.value={from:_$(hc)};Za.column={to:Za};var s$={...hc};s$.column.to=Za;Ic.column={from:Ic};Ic.value={from:_$(Ic)};qa.column={to:qa};var j$={...Ic};j$.column.to=qa;Cc.column={from:Cc};Cc.value={from:_$(Cc)};Pa.column={to:Pa};var N$={...Cc};N$.column.to=Pa;import $R from"net";import uG from"tls";import ga from"crypto";import L$ from"stream";import{performance as vR}from"perf_hooks";class tc 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 Ci=GG;function GG(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 Xi=Buffer.allocUnsafe(256),zG="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{let o=i.charCodeAt(0);return n[i]=()=>{return Xi[0]=o,En.i=5,En},n},{}),En=Object.assign(YG,zG,{N:String.fromCharCode(0),i:0,inc(n){return En.i+=n,En},str(n){let i=Buffer.byteLength(n);return Im(i),En.i+=Xi.write(n,En.i,i,"utf8"),En},i16(n){return Im(2),Xi.writeUInt16BE(n,En.i),En.i+=2,En},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),En;return Im(4),Xi.writeUInt32BE(n,En.i),En.i+=4,En},z(n){return Im(n),Xi.fill(0,En.i,En.i+n),En.i+=n,En},raw(n){return Xi=Buffer.concat([Xi.subarray(0,En.i),n]),En.i=Xi.length,En},end(n=1){Xi.writeUInt32BE(En.i-n,n);let i=Xi.subarray(0,En.i);return En.i=0,Xi=Buffer.allocUnsafe(256),i}}),Z=En;function Im(n){if(Xi.length-En.i<n){let i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function YG(){return En.i=0,En}var D$=JR,OG=1,Ac=Z().S().end(),wR=Z().H().end(),HG=Z().i32(8).i32(80877103).end(8),EG=Buffer.concat([Z().E().str(Z.N).i32(0).end(),Ac]),QG=Z().D().str("S").str(Z.N).end(),tp=()=>{},UG=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),VG={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 JR(n,i={},{onopen:o=tp,onend:c=tp,onclose:p=tp}={}){let{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:M,onnotify:R,onparameter:A,max_pipeline:X,keep_alive:G,backoff:Y,target_session_attrs:E}=n,s=Ci(),z=OG++,T={pid:null,secret:null},O=B$(ol,n.idle_timeout),U=B$(ol,n.max_lifetime),V=B$(ZR,n.connect_timeout),K=null,y,_=new tc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Un={},si=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Gn=0,dn=0,wn=0,Vn=0,qn=0,yn=null,sn=null,vi=!1,bn=null,po=null,wi=null,Io=null,ni=null,jn=null,ao=null,Go=null,N=null,Pp=null,Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,Fv()},terminate:gp,execute:ep,cancel:CR,end:ol,count:0,id:z};return i.closed&&i.closed.push(Si),Si;async function IR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new $R.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",Av),w.on("drain",Sv),w}async function CR({pid:w,secret:W},q,Rn){try{y=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await Jv(),K.once("error",Rn),K.once("close",q)}catch(Cn){Rn(Cn)}}function ep(w){if(vi)return px(w,gn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=T,N?s.push(w):(N=w,N.active=!0),rR(w),mi(tR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Ac),zo(W),!0}}function tR(w){if(w.parameters.length>=65534)throw gn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return w.options.simple?Z().Q().str(w.statement.string+Z.N).end():w.describeFirst?Buffer.concat([$v(w),wR]):w.prepare?w.prepared?cx(w):Buffer.concat([$v(w),cx(w)]):kR(w)}function $v(w){return Buffer.concat([Tv(w.statement.string,w.parameters,w.statement.types,w.statement.name),V4("S",w.statement.name)])}function cx(w){return Buffer.concat([U4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?Rv("",w.cursorRows):EG])}function kR(w){return Buffer.concat([Tv(w.statement.string,w.parameters,w.statement.types),QG,cx(w)])}function rR(w){let W=[],q=[],Rn=U$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((Cn)=>Dm(Cn,W,q,n)),w.prepare=n.prepare&&("prepare"in w.options?w.options.prepare:!0),w.string=Rn,w.signature=w.prepare&&q+Rn,w.onlyDescribe&&delete Un[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Un,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Un[w.signature]:{string:Rn,types:q,name:w.prepare?si+H++:""},typeof n.debug==="function"&&n.debug(z,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return vv(W);return sn===null&&(sn=setImmediate(vv)),!0}function vv(w){let W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function ZR(){zo(gn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function wv(){if(mi(HG),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=uG.connect({socket:K,servername:$R.isIP(K.host)?void 0:K.host,...a==="require"||a==="allow"||a==="prefer"?{rejectUnauthorized:!1}:a==="verify-full"?{}:typeof a==="object"?a:{}}),K.on("secureConnect",Zc),K.on("error",qc),K.on("close",Av),K.on("drain",Sv)}function Sv(){!N&&o(Si)}function il(w){if(bn){if(bn.push(w),Sn-=w.length,Sn>=0)return}P=bn?Buffer.concat(bn,wn-Sn):P.length===0?w:Buffer.concat([P,w],P.length+w.length);while(P.length>4){if(wn=P.readUInt32BE(1),wn>=P.length){Sn=wn-P.length,bn=[P];break}try{qR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Ac),zo(W)}P=P.subarray(wn+1),Sn=0,bn=null}}async function Jv(){if(vi=!1,$n={},K||(K=await IR()),!K)return;if(V.start(),n.socket)return a?wv():Zc();if(K.on("connect",a?wv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Gn],l[Gn]),K.host=l[Gn],K.port=f[Gn],Gn=(Gn+1)%f.length}function Fv(){setTimeout(Jv,k?k+Vn-vR.now():0)}function Zc(){try{Un={},ln=n.fetch_types,si=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",il),G&&K.setKeepAlive&&K.setKeepAlive(!0,1000*G);let w=_4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[dn+1])return;zo(w);while(s.length)px(s.shift(),w)}function zo(w){ni&&(ni.destroy(w),ni=null),N&&px(N,w),wi&&(px(wi,w),wi=null)}function px(w,W){Object.defineProperties(W,{stack:{value:W.stack+w.origin.replace(/.*\n/,"\n"),enumerable:n.debug},query:{value:w.string,enumerable:n.debug},parameters:{value:w.parameters,enumerable:n.debug},args:{value:w.args,enumerable:n.debug},types:{value:w.statement&&w.statement.types,enumerable:n.debug}}),w.reject(W)}function ol(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(gp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>ao=w))}function gp(){if(vi=!0,ni||N||wi||s.length)qc(gn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",il),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());ao&&(ao(),Io=ao=null)}async function Av(w){if(P=Buffer.alloc(0),Sn=0,bn=null,clearImmediate(sn),K.removeListener("data",il),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return Fv();!w&&(N||s.length)&&qc(gn.connection("CONNECTION_CLOSED",n,K)),k=vR.now(),w&&n.shared.retries++,Vn=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,gn.connection("CONNECTION_CLOSED",n,K))}function qR(w,W=w[0]){(W===68?PR:W===100?G4:W===65?M4:W===83?eR:W===90?gR:W===67?dR:W===50?Mv:W===49?n4:W===116?i4:W===84?o4:W===82?c4:W===110?f4:W===75?$4:W===69?F4:W===115?T4:W===51?R4:W===71?K4:W===78?Y4:W===72?W4:W===99?z4:W===73?u4:W===86?O4:W===118?H4:W===87?X4:E4)(w)}function PR(w){let W=7,q,Rn,Cn,Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let Gi=0;Gi<N.statement.columns.length;Gi++)Rn=N.statement.columns[Gi],q=w.readInt32BE(W),W+=4,Cn=q===-1?null:N.isRaw===!0?w.subarray(W,W+=q):Rn.parser===void 0?w.toString("utf8",W,W+=q):Rn.parser.array===!0?Rn.parser(w.toString("utf8",W+1,W+=q)):Rn.parser(w.toString("utf8",W,W+=q)),N.isRaw?Ji[Gi]=N.isRaw===!0?Cn:S.value.from?S.value.from(Cn,Rn):Cn:Ji[Rn.name]=S.value.from?S.value.from(Cn,Rn):Cn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[qn++]=S.row.from?S.row.from(Ji):Ji}function eR(w){let[W,q]=w.toString("utf8",5,w.length-1).split(Z.N);if($n[W]=q,n.parameters[W]!==q)n.parameters[W]=q,A&&A(W,q)}function gR(w){if(N&&N.options.simple&&N.resolve(po||_),N=po=null,_=new tc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return J4();else if(S4(E,$n))return gp()}if(ln)return wi===!0&&(wi=null),v4();wi!==!0&&ep(wi),n.shared.retries=dn=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))JR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?gp():(Si.reserved=null,o(Si)):Si.reserved():Io?gp():o(Si)}function dR(w){qn=0;for(let W=w.length-1;W>0;W--){if(w[W]===32&&w[W+1]<58&&_.count===null)_.count=+w.toString("utf8",W+1,w.length-1);if(w[W-1]>=65){_.command=w.toString("utf8",5,W),_.state=T;break}}if(Pp&&(Pp(),Pp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return zo(gn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return Mv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Ac);N.resolve(_)}function n4(){N.parsing=!1}function Mv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function i4(w){let W=w.readUInt16BE(5);for(let q=0;q<W;++q)!N.statement.types[q]&&(N.statement.types[q]=w.readUInt32BE(7+q*4));N.prepare&&(Un[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(cx(N)),N.describeFirst=!1)}function o4(w){if(_.command)po=po||[_],po.push(_=new tc),_.count=null,N.statement.columns=null;let W=w.readUInt16BE(5),q=7,Rn;N.statement.columns=Array(W);for(let Cn=0;Cn<W;++Cn){Rn=q;while(w[q++]!==0);let Ji=w.readUInt32BE(q),Gi=w.readUInt16BE(q+4),Co=w.readUInt32BE(q+6);N.statement.columns[Cn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[Co],table:Ji,number:Gi,type:Co},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}async function c4(w,W=w.readUInt32BE(5)){(W===3?p4:W===5?a4:W===10?x4:W===11?m4:W===12?l4:W!==0?Q4:tp)(w,W)}async function p4(){let w=await cl();mi(Z().p().str(w).z(1).end())}async function a4(w){let W="md5"+await SR(Buffer.concat([Buffer.from(await SR(await cl()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function x4(){Go=(await ga.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);let w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+Go).i32(Z.i-w-4,w).end())}async function m4(w){let W=w.toString("utf8",9).split(",").reduce((Gi,Co)=>(Gi[Co[0]]=Co.slice(2),Gi),{}),q=await ga.pbkdf2Sync(await cl(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await Cm(q,"Client Key"),Cn="n=*,r="+Go+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;yn=(await Cm(await Cm(q,"Server Key"),Cn)).toString("base64");let Ji="c=biws,r="+W.r+",p="+_G(Rn,Buffer.from(await Cm(await bG(Rn),Cn))).toString("base64");mi(Z().p().str(Ji).end())}function l4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===yn)return;zo(gn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function cl(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function f4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}function $4(w){T.pid=w.readUInt32BE(5),T.secret=w.readUInt32BE(9)}async function v4(){ln=!1,(await new co([`
|
|
38
38
|
select b.oid, b.typarray
|
|
39
39
|
from pg_catalog.pg_type a
|
|
40
40
|
left join pg_catalog.pg_type b on b.oid = a.typelem
|
|
41
41
|
where a.typcategory = 'A'
|
|
42
42
|
group by b.oid, b.typarray
|
|
43
43
|
order by b.oid
|
|
44
|
-
`],[],ep)).forEach(({oid:W,typarray:q})=>w4(W,q))}function w4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;
|
|
44
|
+
`],[],ep)).forEach(({oid:W,typarray:q})=>w4(W,q))}function w4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;let q=n.parsers[w];n.shared.typeArrayMap[w]=W,n.parsers[W]=(Rn)=>lR(Rn,q,W),n.parsers[W].array=!0,n.serializers[W]=(Rn)=>mR(Rn,n.serializers[w],n,W)}function S4(w,W){return w==="read-write"&&W.default_transaction_read_only==="on"||w==="read-only"&&W.default_transaction_read_only==="off"||w==="primary"&&W.in_hot_standby==="on"||w==="standby"&&W.in_hot_standby==="off"||w==="prefer-standby"&&W.in_hot_standby==="off"&&n.host[dn]}function J4(){let w=new co([`
|
|
45
45
|
show transaction_read_only;
|
|
46
46
|
select pg_catalog.pg_is_in_recovery()
|
|
47
|
-
`],[],ep,null,{simple:!0});w.resolve=([[W],[q]])=>{$n.default_transaction_read_only=W.transaction_read_only,$n.in_hot_standby=q.pg_is_in_recovery?"on":"off"},w.execute()}function F4(w){N&&(N.cursorFn||N.describeFirst)&&mi(Ac);
|
|
47
|
+
`],[],ep,null,{simple:!0});w.resolve=([[W],[q]])=>{$n.default_transaction_read_only=W.transaction_read_only,$n.in_hot_standby=q.pg_is_in_recovery?"on":"off"},w.execute()}function F4(w){N&&(N.cursorFn||N.describeFirst)&&mi(Ac);let W=gn.postgres(y$(w));N&&N.retried?zo(N.retried):N&&N.prepared&&UG.has(W.routine)?A4(N,W):zo(W)}function A4(w,W){delete Un[w.signature],w.retried=W,ep(w)}function M4(w){if(!R)return;let W=9;while(w[W++]!==0);R(w.toString("utf8",9,W-1),w.toString("utf8",W,w.length-1))}async function T4(){try{let w=await Promise.resolve(N.cursorFn(_));qn=0,w===Ip?mi(b4(N.portal)):(_=new tc,mi(Rv("",N.cursorRows)))}catch(w){mi(Ac),N.reject(w)}}function R4(){_.count&&N.cursorFn(_),N.resolve(_)}function K4(){ni=new L$.Writable({autoDestroy:!0,write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ni=null},final(w){K.write(Z().c().end()),Pp=w}}),N.resolve(ni)}function W4(){ni=new L$.Readable({read(){K.resume()}}),N.resolve(ni)}function X4(){ni=new L$.Duplex({autoDestroy:!0,read(){K.resume()},write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ni=null},final(w){K.write(Z().c().end()),Pp=w}}),N.resolve(ni)}function G4(w){ni&&(ni.push(w.subarray(5))||K.pause())}function z4(){ni&&ni.push(null),ni=null}function Y4(w){M?M(y$(w)):console.log(y$(w))}function u4(){}function O4(){zo(gn.notSupported("FunctionCallResponse"))}function H4(){zo(gn.notSupported("NegotiateProtocolVersion"))}function E4(w){console.error("Postgres.js : Unknown Message:",w[0])}function Q4(w,W){console.error("Postgres.js : Unknown Auth:",W)}function U4(w,W,q="",Rn=""){let Cn,Ji;return Z().B().str(Rn+Z.N).str(q+Z.N).i16(0).i16(w.length),w.forEach((Gi,Co)=>{if(Gi===null)return Z.i32(4294967295);Ji=W[Co],w[Co]=Gi=Ji in n.serializers?n.serializers[Ji](Gi):""+Gi,Cn=Z.i,Z.inc(4).str(Gi).i32(Z.i-Cn-4,Cn)}),Z.i16(0),Z.end()}function Tv(w,W,q,Rn=""){return Z().P().str(Rn+Z.N).str(w+Z.N).i16(W.length),W.forEach((Cn,Ji)=>Z.i32(q[Ji]||0)),Z.end()}function V4(w,W=""){return Z().D().str(w).str(W+Z.N).end()}function Rv(w="",W=0){return Buffer.concat([Z().E().str(w+Z.N).i32(W).end(),wR])}function b4(w=""){return Buffer.concat([Z().C().str("P").str(w+Z.N).end(),Z().S().end()])}function _4(){return y||Z().inc(4).i16(3).z(2).str(Object.entries(Object.assign({user:m,database:$,client_encoding:"UTF8"},n.connection)).filter(([,w])=>w).map(([w,W])=>w+Z.N+W).join(Z.N)).z(2).end(0)}}function y$(n){let i={},o=5;for(let c=5;c<n.length-1;c++)if(n[c]===0)i[VG[n[o]]]=n.toString("utf8",o+1,c),o=c+1;return i}function SR(n){return ga.createHash("md5").update(n).digest("hex")}function Cm(n,i){return ga.createHmac("sha256",n).update(i).digest()}function bG(n){return ga.createHash("sha256").update(n).digest()}function _G(n,i){let o=Math.max(n.length,i.length),c=Buffer.allocUnsafe(o);for(let p=0;p<o;p++)c[p]=n[p]^i[p];return c}function B$(n,i){if(i=typeof i==="function"?i():i,!i)return{cancel:tp,start:tp};let o;return{cancel(){o&&(clearTimeout(o),o=null)},start(){o&&clearTimeout(o),o=setTimeout(c,i*1000,arguments)}};function c(p){n.apply(null,p),o=null}}var FR=()=>{};function h$(n,i){let o=new Map,c="postgresjs_"+Math.random().toString(36).slice(2),p={},a,x,m=!1,l=v.sql=n({...i,transform:{column:{},value:{},row:{}},max:1,fetch_types:!1,idle_timeout:null,max_lifetime:null,connection:{...i.connection,replication:"database"},onclose:async function(){if(m)return;x=null,p.pid=p.secret=void 0,S(await M(l,c,i.publications)),o.forEach((A)=>A.forEach(({onsubscribe:X})=>X()))},no_subscribe:!0}),f=l.end,$=l.close;return l.end=async()=>{return m=!0,x&&await new Promise((A)=>(x.once("close",A),x.end())),f()},l.close=async()=>{return x&&await new Promise((A)=>(x.once("close",A),x.end())),$()},v;async function v(A,X,G=FR,Y=FR){if(A=NG(A),!a)a=M(l,c,i.publications);let E={fn:X,onsubscribe:G},s=o.has(A)?o.get(A).add(E):o.set(A,new Set([E])).get(A),z=()=>{s.delete(E),s.size===0&&o.delete(A)};return a.then((T)=>{return S(T),G(),x&&x.on("error",Y),{unsubscribe:z,state:p,sql:l}})}function S(A){x=A.stream,p.pid=A.state.pid,p.secret=A.state.secret}async function M(A,X,G){if(!G)throw new Error("Missing publication names");let Y=await A.unsafe(`CREATE_REPLICATION_SLOT ${X} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[E]=Y,s=await A.unsafe(`START_REPLICATION SLOT ${X} LOGICAL ${E.consistent_point} (proto_version '1', publication_names '${G}')`).writable(),z={lsn:Buffer.concat(E.consistent_point.split("/").map((K)=>Buffer.from(("00000000"+K).slice(-8),"hex")))};return s.on("data",O),s.on("error",T),s.on("close",A.close),{stream:s,state:Y.state};function T(K){console.error("Unexpected error during logical streaming - reconnecting",K)}function O(K){if(K[0]===119)jG(K.subarray(25),z,A.options.parsers,U,i.transform);else if(K[0]===107&&K[17])z.lsn=K.subarray(1,9),V()}function U(K,y){let _=y.relation.schema+"."+y.relation.table;R("*",K,y),R("*:"+_,K,y),y.relation.keys.length&&R("*:"+_+"="+y.relation.keys.map((P)=>K[P.name]),K,y),R(y.command,K,y),R(y.command+":"+_,K,y),y.relation.keys.length&&R(y.command+":"+_+"="+y.relation.keys.map((P)=>K[P.name]),K,y)}function V(){let K=Buffer.alloc(34);K[0]="r".charCodeAt(0),K.fill(z.lsn,1),K.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),s.write(K)}}function R(A,X,G){o.has(A)&&o.get(A).forEach(({fn:Y})=>Y(X,G,A))}}function sG(n){return new Date(Date.UTC(2000,0,1)+Number(n/BigInt(1000)))}function jG(n,i,o,c,p){let a=(x,[m,l])=>(x[m.charCodeAt(0)]=l,x);Object.entries({R:(x)=>{let m=1,l=i[x.readUInt32BE(m)]={schema:x.toString("utf8",m+=4,m=x.indexOf(0,m))||"pg_catalog",table:x.toString("utf8",m+1,m=x.indexOf(0,m+1)),columns:Array(x.readUInt16BE(m+=2)),keys:[]};m+=2;let f=0,$;while(m<x.length)$=l.columns[f++]={key:x[m++],name:p.column.from?p.column.from(x.toString("utf8",m,m=x.indexOf(0,m))):x.toString("utf8",m,m=x.indexOf(0,m)),type:x.readUInt32BE(m+=1),parser:o[x.readUInt32BE(m)],atttypmod:x.readUInt32BE(m+=4)},$.key&&l.keys.push($),m+=4},Y:()=>{},O:()=>{},B:(x)=>{i.date=sG(x.readBigInt64BE(9)),i.lsn=x.subarray(1,9)},I:(x)=>{let m=1,l=i[x.readUInt32BE(m)],{row:f}=tm(x,l.columns,m+=7,p);c(f,{command:"insert",relation:l})},D:(x)=>{let m=1,l=i[x.readUInt32BE(m)];m+=4;let f=x[m]===75;c(f||x[m]===79?tm(x,l.columns,m+=3,p).row:null,{command:"delete",relation:l,key:f})},U:(x)=>{let m=1,l=i[x.readUInt32BE(m)];m+=4;let f=x[m]===75,$=f||x[m]===79?tm(x,l.columns,m+=3,p):null;$&&(m=$.i);let{row:v}=tm(x,l.columns,m+3,p);c(v,{command:"update",relation:l,key:f,old:$&&$.row})},T:()=>{},C:()=>{}}).reduce(a,{})[n[0]](n)}function tm(n,i,o,c){let p,a,x,m=c.raw?new Array(i.length):{};for(let l=0;l<i.length;l++)p=n[o++],a=i[l],x=p===110?null:p===117?void 0:a.parser===void 0?n.toString("utf8",o+4,o+=4+n.readUInt32BE(o)):a.parser.array===!0?a.parser(n.toString("utf8",o+5,o+=4+n.readUInt32BE(o))):a.parser(n.toString("utf8",o+4,o+=4+n.readUInt32BE(o))),c.raw?m[l]=c.raw===!0?x:c.value.from?c.value.from(x,a):x:m[a.name]=c.value.from?c.value.from(x,a):x;return{i:o,row:c.row.from?c.row.from(m):m}}function NG(n){let i=n.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!i)throw new Error("Malformed subscribe pattern: "+n);let[,o,c,p]=i;return(o||"*")+(c?":"+(c.indexOf(".")===-1?"public."+c:c):"")+(p?"="+p:"")}import AR from"stream";function I$(n,i,o=393216){return new Promise(async(c,p)=>{await n.begin(async(a)=>{let x;!i&&([{oid:i}]=await a`select lo_creat(-1) as oid`);let[{fd:m}]=await a`select lo_open(${i}, ${o}) as fd`,l={writable:$,readable:f,close:()=>a`select lo_close(${m})`.then(x),tell:()=>a`select lo_tell64(${m})`,read:(v)=>a`select loread(${m}, ${v}) as data`,write:(v)=>a`select lowrite(${m}, ${v})`,truncate:(v)=>a`select lo_truncate64(${m}, ${v})`,seek:(v,S=0)=>a`select lo_lseek64(${m}, ${v}, ${S})`,size:()=>a`
|
|
48
48
|
select
|
|
49
49
|
lo_lseek64(${m}, location, 0) as position,
|
|
50
50
|
seek.size
|
|
@@ -54,10 +54,10 @@ var s4=Object.create;var{getPrototypeOf:j4,defineProperty:pl,getOwnPropertyNames
|
|
|
54
54
|
tell.location
|
|
55
55
|
from (select lo_tell64($1) as location) tell
|
|
56
56
|
) seek
|
|
57
|
-
`};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:M=1/0}={}){let R=M-S;return S&&await l.seek(S),new AR.Readable({highWaterMark:v,async read(A){const X=A>R?A-R:A;R-=A;const[{data:G}]=await l.read(X);if(this.push(G),G.length<A)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new AR.Writable({highWaterMark:v,write(M,R,A){l.write(M).then(()=>A(),A)}})}}).catch(p)})}function km(n,i){const o=BG(n,i),c=o.no_subscribe||h$(km,{...o});let p=!1;const a=Ci(),x=Ci(),m=Ci(),l=Ci(),f=Ci(),$=Ci(),v=Ci(),S=Ci(),M={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>D$(o,M,{onopen:Un,onend:$n,onclose:si})),A=X(U);return Object.assign(A,{get parameters(){return o.parameters},largeObject:I$.bind(null,A),subscribe:c,CLOSE:Ip,END:Ip,PostgresError:Cp,options:o,reserve:E,listen:G,begin:s,close:_,end:y}),A;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Vn,qn])=>{return wn[Vn]=(yn)=>new Vo(yn,qn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Gn,notify:Y,array:O,json:T,file:dn}),Sn;function k(wn,Vn){return new Vo(wn,Vn)}function Sn(wn,...Vn){return wn&&Array.isArray(wn.raw)?new co(wn,Vn,H,K):typeof wn==="string"&&!Vn.length?new ea(o.transform.column.to?o.transform.column.to(wn):wn):new Bm(wn,Vn)}function Gn(wn,Vn=[],qn={}){return arguments.length===2&&!Array.isArray(Vn)&&(qn=Vn,Vn=[]),new co([wn],Vn,H,K,{prepare:!1,...qn,simple:"simple"in qn?qn.simple:Vn.length===0})}function dn(wn,Vn=[],qn={}){return arguments.length===2&&!Array.isArray(Vn)&&(qn=Vn,Vn=[]),new co([],Vn,(sn)=>{yG.readFile(wn,"utf8",(vi,bn)=>{if(vi)return sn.reject(vi);sn.strings=[bn],H(sn)})},K,{...qn,simple:"simple"in qn?qn.simple:Vn.length===0})}}async function G(H,k,Sn){const Gn={fn:k,onlisten:Sn},dn=G.sql||(G.sql=km({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(G.channels).forEach(([sn,{listeners:vi}])=>{delete G.channels[sn],Promise.all(vi.map((bn)=>G(sn,bn.fn,bn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in G.channels&&G.channels[sn].listeners.forEach((bn)=>bn.fn(vi))}})),wn=G.channels||(G.channels={});if(H in wn){wn[H].listeners.push(Gn);const sn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:sn.state,unlisten:yn}}wn[H]={result:dn`listen ${dn.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Gn]};const qn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:qn.state,unlisten:yn};async function yn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Gn),wn[H].listeners.length)return;return delete wn[H],dn`unlisten ${dn.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await A`select pg_notify(${H}, ${""+k})`}async function E(){const H=Ci(),k=$.length?$.shift():await new Promise((dn)=>{a.push({reserve:dn}),l.length&&ln(l.shift())});z(k,m),k.reserved=()=>H.length?k.execute(H.shift()):z(k,m),k.reserved.release=!0;const Sn=X(Gn);return Sn.release=()=>{k.reserved=null,Un(k)},Sn;function Gn(dn){k.queue===S?H.push(dn):k.execute(dn)||z(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Gn=0,dn,wn=null;try{return await A.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:qn}).execute(),await Promise.race([Vn(dn,k),new Promise((yn,sn)=>dn.onclose=sn)])}catch(yn){throw yn}async function Vn(yn,sn,vi){const bn=X(ni);bn.savepoint=Io,bn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let po,wi;vi&&await bn`savepoint ${bn(vi)}`;try{if(wi=await new Promise((jn,ao)=>{const Go=sn(bn);Promise.resolve(Array.isArray(Go)?Promise.all(Go):Go).then(jn,ao)}),po)throw po}catch(jn){throw await(vi?bn`rollback to ${bn(vi)}`:bn`rollback`),jn instanceof Cp&&jn.code==="25P02"&&po||jn}if(!vi)wn?await bn`prepare transaction '${bn.unsafe(wn)}'`:await bn`commit`;return wi;function Io(jn,ao){if(jn&&Array.isArray(jn.raw))return Io((Go)=>Go.apply(Go,arguments));return arguments.length===1&&(ao=jn,jn=null),Vn(yn,ao,"s"+Gn+++(jn?"_"+jn:""))}function ni(jn){jn.catch((ao)=>po||(po=ao)),yn.queue===S?Sn.push(jn):yn.execute(jn)||z(yn,S)}}function qn(yn){dn=yn,z(yn,m),yn.reserved=()=>Sn.length?yn.execute(Sn.shift()):z(yn,m)}}function z(H,k){return H.queue.remove(H),k.push(H),H.queue=k,k===$?H.idleTimer.start():H.idleTimer.cancel(),H}function T(H){return new Vo(H,3802)}function O(H,k){if(!Array.isArray(H))return O(Array.from(arguments));return new Vo(H,k||(H.length?Lm(H)||25:0),o.shared.typeArrayMap)}function U(H){if(p)return H.reject(gn.connection("CONNECTION_ENDED",o,o));if($.length)return V($.shift(),H);if(l.length)return ln(l.shift(),H);v.length?V(v.shift(),H):a.push(H)}function V(H,k){return H.execute(k)?z(H,v):z(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?D$(o).cancel(H.state,k,Sn):H.cancelled={resolve:k,reject:Sn}:(a.remove(H),H.cancelled=!0,H.reject(gn.generic("57014","canceling statement due to user request")),k())})}async function y({timeout:H=null}={}){if(p)return p;await 1;let k;return p=Promise.race([new Promise((Sn)=>H!==null&&(k=setTimeout(P,H*1000,Sn))),Promise.all(R.map((Sn)=>Sn.end()).concat(G.sql?G.sql.end({timeout:0}):[],c.sql?c.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(k))}async function _(){await Promise.all(R.map((H)=>H.end()))}async function P(H){await Promise.all(R.map((k)=>k.terminate()));while(a.length)a.shift().reject(gn.connection("CONNECTION_DESTROYED",o));H()}function ln(H,k){return z(H,x),H.connect(k),H}function $n(H){z(H,f)}function Un(H){if(a.length===0)return z(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){const Gn=a.shift();if(Gn.reserve)return Gn.reserve(H);Sn=H.execute(Gn)}Sn?z(H,v):z(H,S)}function si(H,k){z(H,l),H.reserved=null,H.onclose&&(H.onclose(k),H.onclose=null),o.onclose&&o.onclose(H.id),a.length&&ln(H,a.shift())}}function BG(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=tG(n),x=[...p.searchParams].reduce((S,[M,R])=>(S[M]=R,S),{}),m=c.hostname||c.host||a||p.hostname||o.PGHOST||"localhost",l=c.port||p.port||o.PGPORT||5432,f=c.user||c.username||p.username||o.PGUSERNAME||o.PGUSER||kG();c.no_prepare&&(c.prepare=!1),x.sslmode&&(x.ssl=x.sslmode,delete x.sslmode),"timeout"in c&&(console.log("The timeout option is deprecated, use idle_timeout instead"),c.idle_timeout=c.timeout),x.sslrootcert==="system"&&(x.ssl="verify-full");const $=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],v={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:IG,max_pipeline:100,backoff:hG,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(m)?m:m.split(",").map((S)=>S.split(":")[0]),port:Array.isArray(l)?l:m.split(",").map((S)=>parseInt(S.split(":")[1]||l)),path:c.path||m.indexOf("/")>-1&&m+"/.s.PGSQL."+l,database:c.database||c.db||(p.pathname||"").slice(1)||o.PGDATABASE||f,user:f,pass:c.pass||c.password||p.password||o.PGPASSWORD||"",...Object.entries(v).reduce((S,[M,R])=>{const A=M in c?c[M]:(M in x)?x[M]==="disable"||x[M]==="false"?!1:x[M]:o["PG"+M.toUpperCase()]||R;return S[M]=typeof A==="string"&&$.includes(M)?+A:A,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[M,R])=>((M in v)||(S[M]=R),S),{})},types:c.types||{},target_session_attrs:DG(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:CG(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...aR(c.types)}}function DG(n,i,o){const c=n.target_session_attrs||i.searchParams.get("target_session_attrs")||o.PGTARGETSESSIONATTRS;if(!c||["read-write","read-only","primary","standby","prefer-standby"].includes(c))return c;throw new Error("target_session_attrs "+c+" is not supported")}function hG(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function IG(){return 60*(30+Math.random()*30)}function CG(n){return{undefined:n.undefined,column:{from:typeof n.column==="function"?n.column:n.column&&n.column.from,to:n.column&&n.column.to},value:{from:typeof n.value==="function"?n.value:n.value&&n.value.from,to:n.value&&n.value.to},row:{from:typeof n.row==="function"?n.row:n.row&&n.row.from,to:n.row&&n.row.to}}}function tG(n){if(!n||typeof n!=="string")return{url:{searchParams:new Map}};let i=n;i=i.slice(i.indexOf("://")+3).split(/[?/]/)[0],i=decodeURIComponent(i.slice(i.indexOf("@")+1));const o=new URL(n.replace(i,i.split(",")[0]));return{url:{username:decodeURIComponent(o.username),password:decodeURIComponent(o.password),host:o.host,hostname:o.hostname,port:o.port,pathname:o.pathname,searchParams:o.searchParams},multihost:i.indexOf(",")>-1&&i}}function kG(){try{return LG.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}Object.assign(km,{PostgresError:Cp,toPascal:Ic,pascal:j$,toCamel:hc,camel:s$,toKebab:Cc,kebab:N$,fromPascal:qa,fromCamel:Za,fromKebab:Pa,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var kp=km;class rm extends ui{constructor(n,i,o,c){super();this.session=i,this.dialect=o,this.config={table:n,withList:c}}static[J]="PgDelete";config;where(n){return this.config.where=n,this}returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}class Zm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgInsertBuilder";values(n){if(n=Array.isArray(n)?n:[n],n.length===0)throw new Error("values() must be called with at least one value");const i=n.map((o)=>{const c={},p=this.table[D.Symbol.Columns];for(let a of Object.keys(o)){const x=o[a];c[a]=u(x,t)?x:new Li(x,p[a])}return c});return new MR(this.table,i,this.session,this.dialect,this.withList)}}class MR extends ui{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={table:n,values:i,withList:p}}static[J]="PgInsert";config;returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=F`do nothing`;else{let i="";i=Array.isArray(n.target)?n.target.map((c)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(c))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target));const o=n.where?F` where ${n.where}`:void 0;this.config.onConflict=F`(${F.raw(i)})${o} do nothing`}return this}onConflictDoUpdate(n){if(n.where&&(n.targetWhere||n.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');const i=n.where?F` where ${n.where}`:void 0,o=n.targetWhere?F` where ${n.targetWhere}`:void 0,c=n.setWhere?F` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,kx(this.config.table,n.set));let a="";return a=Array.isArray(n.target)?n.target.map((x)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(x))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target)),this.config.onConflict=F`(${F.raw(a)})${o} do update set ${p}${i}${c}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}function rG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function ZG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((o,c,p)=>{const a=p===0?c.toLowerCase():`${c[0].toUpperCase()}${c.slice(1)}`;return o+a},"")}function qG(n){return n}class C${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?rG:n==="camelCase"?ZG:qG}getColumnCasing(n){if(!n.keyAsName)return n.name;const i=n.table[D.Symbol.Schema]??"public",o=n.table[D.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){const i=n[D.Symbol.Schema]??"public",o=n[D.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[D.Symbol.Columns])){const a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class da extends Ui{static[J]="PgViewBase"}class kc{static[J]="PgDialect";casing;constructor(n){this.casing=new C$(n?.casing)}async migrate(n,i,o){const c=typeof o==="string"?"__drizzle_migrations":o.migrationsTable??"__drizzle_migrations",p=typeof o==="string"?"drizzle":o.migrationsSchema??"drizzle",a=F`
|
|
57
|
+
`};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:M=1/0}={}){let R=M-S;return S&&await l.seek(S),new AR.Readable({highWaterMark:v,async read(A){let X=A>R?A-R:A;R-=A;let[{data:G}]=await l.read(X);if(this.push(G),G.length<A)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new AR.Writable({highWaterMark:v,write(M,R,A){l.write(M).then(()=>A(),A)}})}}).catch(p)})}Object.assign(km,{PostgresError:Cp,toPascal:Ic,pascal:j$,toCamel:hc,camel:s$,toKebab:Cc,kebab:N$,fromPascal:qa,fromCamel:Za,fromKebab:Pa,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var kp=km;function km(n,i){let o=BG(n,i),c=o.no_subscribe||h$(km,{...o}),p=!1,a=Ci(),x=Ci(),m=Ci(),l=Ci(),f=Ci(),$=Ci(),v=Ci(),S=Ci(),M={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>D$(o,M,{onopen:Un,onend:$n,onclose:si})),A=X(U);return Object.assign(A,{get parameters(){return o.parameters},largeObject:I$.bind(null,A),subscribe:c,CLOSE:Ip,END:Ip,PostgresError:Cp,options:o,reserve:E,listen:G,begin:s,close:_,end:y}),A;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Vn,qn])=>{return wn[Vn]=(yn)=>new Vo(yn,qn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Gn,notify:Y,array:O,json:T,file:dn}),Sn;function k(wn,Vn){return new Vo(wn,Vn)}function Sn(wn,...Vn){return wn&&Array.isArray(wn.raw)?new co(wn,Vn,H,K):typeof wn==="string"&&!Vn.length?new ea(o.transform.column.to?o.transform.column.to(wn):wn):new Bm(wn,Vn)}function Gn(wn,Vn=[],qn={}){return arguments.length===2&&!Array.isArray(Vn)&&(qn=Vn,Vn=[]),new co([wn],Vn,H,K,{prepare:!1,...qn,simple:"simple"in qn?qn.simple:Vn.length===0})}function dn(wn,Vn=[],qn={}){return arguments.length===2&&!Array.isArray(Vn)&&(qn=Vn,Vn=[]),new co([],Vn,(sn)=>{yG.readFile(wn,"utf8",(vi,bn)=>{if(vi)return sn.reject(vi);sn.strings=[bn],H(sn)})},K,{...qn,simple:"simple"in qn?qn.simple:Vn.length===0})}}async function G(H,k,Sn){let Gn={fn:k,onlisten:Sn},dn=G.sql||(G.sql=km({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(G.channels).forEach(([sn,{listeners:vi}])=>{delete G.channels[sn],Promise.all(vi.map((bn)=>G(sn,bn.fn,bn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in G.channels&&G.channels[sn].listeners.forEach((bn)=>bn.fn(vi))}})),wn=G.channels||(G.channels={});if(H in wn){wn[H].listeners.push(Gn);let sn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:sn.state,unlisten:yn}}wn[H]={result:dn`listen ${dn.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Gn]};let qn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:qn.state,unlisten:yn};async function yn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Gn),wn[H].listeners.length)return;return delete wn[H],dn`unlisten ${dn.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await A`select pg_notify(${H}, ${""+k})`}async function E(){let H=Ci(),k=$.length?$.shift():await new Promise((dn)=>{a.push({reserve:dn}),l.length&&ln(l.shift())});z(k,m),k.reserved=()=>H.length?k.execute(H.shift()):z(k,m),k.reserved.release=!0;let Sn=X(Gn);return Sn.release=()=>{k.reserved=null,Un(k)},Sn;function Gn(dn){k.queue===S?H.push(dn):k.execute(dn)||z(k,S)}}async function s(H,k){!k&&(k=H,H="");let Sn=Ci(),Gn=0,dn,wn=null;try{return await A.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:qn}).execute(),await Promise.race([Vn(dn,k),new Promise((yn,sn)=>dn.onclose=sn)])}catch(yn){throw yn}async function Vn(yn,sn,vi){let bn=X(ni);bn.savepoint=Io,bn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let po,wi;vi&&await bn`savepoint ${bn(vi)}`;try{if(wi=await new Promise((jn,ao)=>{let Go=sn(bn);Promise.resolve(Array.isArray(Go)?Promise.all(Go):Go).then(jn,ao)}),po)throw po}catch(jn){throw await(vi?bn`rollback to ${bn(vi)}`:bn`rollback`),jn instanceof Cp&&jn.code==="25P02"&&po||jn}if(!vi)wn?await bn`prepare transaction '${bn.unsafe(wn)}'`:await bn`commit`;return wi;function Io(jn,ao){if(jn&&Array.isArray(jn.raw))return Io((Go)=>Go.apply(Go,arguments));return arguments.length===1&&(ao=jn,jn=null),Vn(yn,ao,"s"+Gn+++(jn?"_"+jn:""))}function ni(jn){jn.catch((ao)=>po||(po=ao)),yn.queue===S?Sn.push(jn):yn.execute(jn)||z(yn,S)}}function qn(yn){dn=yn,z(yn,m),yn.reserved=()=>Sn.length?yn.execute(Sn.shift()):z(yn,m)}}function z(H,k){return H.queue.remove(H),k.push(H),H.queue=k,k===$?H.idleTimer.start():H.idleTimer.cancel(),H}function T(H){return new Vo(H,3802)}function O(H,k){if(!Array.isArray(H))return O(Array.from(arguments));return new Vo(H,k||(H.length?Lm(H)||25:0),o.shared.typeArrayMap)}function U(H){if(p)return H.reject(gn.connection("CONNECTION_ENDED",o,o));if($.length)return V($.shift(),H);if(l.length)return ln(l.shift(),H);v.length?V(v.shift(),H):a.push(H)}function V(H,k){return H.execute(k)?z(H,v):z(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?D$(o).cancel(H.state,k,Sn):H.cancelled={resolve:k,reject:Sn}:(a.remove(H),H.cancelled=!0,H.reject(gn.generic("57014","canceling statement due to user request")),k())})}async function y({timeout:H=null}={}){if(p)return p;await 1;let k;return p=Promise.race([new Promise((Sn)=>H!==null&&(k=setTimeout(P,H*1000,Sn))),Promise.all(R.map((Sn)=>Sn.end()).concat(G.sql?G.sql.end({timeout:0}):[],c.sql?c.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(k))}async function _(){await Promise.all(R.map((H)=>H.end()))}async function P(H){await Promise.all(R.map((k)=>k.terminate()));while(a.length)a.shift().reject(gn.connection("CONNECTION_DESTROYED",o));H()}function ln(H,k){return z(H,x),H.connect(k),H}function $n(H){z(H,f)}function Un(H){if(a.length===0)return z(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){let Gn=a.shift();if(Gn.reserve)return Gn.reserve(H);Sn=H.execute(Gn)}Sn?z(H,v):z(H,S)}function si(H,k){z(H,l),H.reserved=null,H.onclose&&(H.onclose(k),H.onclose=null),o.onclose&&o.onclose(H.id),a.length&&ln(H,a.shift())}}function BG(n,i){if(n&&n.shared)return n;let o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=tG(n),x=[...p.searchParams].reduce((S,[M,R])=>(S[M]=R,S),{}),m=c.hostname||c.host||a||p.hostname||o.PGHOST||"localhost",l=c.port||p.port||o.PGPORT||5432,f=c.user||c.username||p.username||o.PGUSERNAME||o.PGUSER||kG();c.no_prepare&&(c.prepare=!1),x.sslmode&&(x.ssl=x.sslmode,delete x.sslmode),"timeout"in c&&(console.log("The timeout option is deprecated, use idle_timeout instead"),c.idle_timeout=c.timeout),x.sslrootcert==="system"&&(x.ssl="verify-full");let $=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],v={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:IG,max_pipeline:100,backoff:hG,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(m)?m:m.split(",").map((S)=>S.split(":")[0]),port:Array.isArray(l)?l:m.split(",").map((S)=>parseInt(S.split(":")[1]||l)),path:c.path||m.indexOf("/")>-1&&m+"/.s.PGSQL."+l,database:c.database||c.db||(p.pathname||"").slice(1)||o.PGDATABASE||f,user:f,pass:c.pass||c.password||p.password||o.PGPASSWORD||"",...Object.entries(v).reduce((S,[M,R])=>{let A=M in c?c[M]:(M in x)?x[M]==="disable"||x[M]==="false"?!1:x[M]:o["PG"+M.toUpperCase()]||R;return S[M]=typeof A==="string"&&$.includes(M)?+A:A,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[M,R])=>((M in v)||(S[M]=R),S),{})},types:c.types||{},target_session_attrs:DG(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:CG(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...aR(c.types)}}function DG(n,i,o){let c=n.target_session_attrs||i.searchParams.get("target_session_attrs")||o.PGTARGETSESSIONATTRS;if(!c||["read-write","read-only","primary","standby","prefer-standby"].includes(c))return c;throw new Error("target_session_attrs "+c+" is not supported")}function hG(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function IG(){return 60*(30+Math.random()*30)}function CG(n){return{undefined:n.undefined,column:{from:typeof n.column==="function"?n.column:n.column&&n.column.from,to:n.column&&n.column.to},value:{from:typeof n.value==="function"?n.value:n.value&&n.value.from,to:n.value&&n.value.to},row:{from:typeof n.row==="function"?n.row:n.row&&n.row.from,to:n.row&&n.row.to}}}function tG(n){if(!n||typeof n!=="string")return{url:{searchParams:new Map}};let i=n;i=i.slice(i.indexOf("://")+3).split(/[?/]/)[0],i=decodeURIComponent(i.slice(i.indexOf("@")+1));let o=new URL(n.replace(i,i.split(",")[0]));return{url:{username:decodeURIComponent(o.username),password:decodeURIComponent(o.password),host:o.host,hostname:o.hostname,port:o.port,pathname:o.pathname,searchParams:o.searchParams},multihost:i.indexOf(",")>-1&&i}}function kG(){try{return LG.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}class rm extends ui{constructor(n,i,o,c){super();this.session=i,this.dialect=o,this.config={table:n,withList:c}}static[J]="PgDelete";config;where(n){return this.config.where=n,this}returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return Qn.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return Qn.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}class Zm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgInsertBuilder";values(n){if(n=Array.isArray(n)?n:[n],n.length===0)throw new Error("values() must be called with at least one value");let i=n.map((o)=>{let c={},p=this.table[D.Symbol.Columns];for(let a of Object.keys(o)){let x=o[a];c[a]=u(x,t)?x:new Li(x,p[a])}return c});return new MR(this.table,i,this.session,this.dialect,this.withList)}}class MR extends ui{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={table:n,values:i,withList:p}}static[J]="PgInsert";config;returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=F`do nothing`;else{let i="";i=Array.isArray(n.target)?n.target.map((c)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(c))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target));let o=n.where?F` where ${n.where}`:void 0;this.config.onConflict=F`(${F.raw(i)})${o} do nothing`}return this}onConflictDoUpdate(n){if(n.where&&(n.targetWhere||n.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=n.where?F` where ${n.where}`:void 0,o=n.targetWhere?F` where ${n.targetWhere}`:void 0,c=n.setWhere?F` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,kx(this.config.table,n.set)),a="";return a=Array.isArray(n.target)?n.target.map((x)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(x))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target)),this.config.onConflict=F`(${F.raw(a)})${o} do update set ${p}${i}${c}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return Qn.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return Qn.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}function rG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function ZG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((o,c,p)=>{let a=p===0?c.toLowerCase():`${c[0].toUpperCase()}${c.slice(1)}`;return o+a},"")}function qG(n){return n}class C${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?rG:n==="camelCase"?ZG:qG}getColumnCasing(n){if(!n.keyAsName)return n.name;let i=n.table[D.Symbol.Schema]??"public",o=n.table[D.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){let i=n[D.Symbol.Schema]??"public",o=n[D.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[D.Symbol.Columns])){let a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class da extends Ui{static[J]="PgViewBase"}class kc{static[J]="PgDialect";casing;constructor(n){this.casing=new C$(n?.casing)}async migrate(n,i,o){let c=typeof o==="string"?"__drizzle_migrations":o.migrationsTable??"__drizzle_migrations",p=typeof o==="string"?"drizzle":o.migrationsSchema??"drizzle",a=F`
|
|
58
58
|
CREATE TABLE IF NOT EXISTS ${F.identifier(p)}.${F.identifier(c)} (
|
|
59
59
|
id SERIAL PRIMARY KEY,
|
|
60
60
|
hash text NOT NULL,
|
|
61
61
|
created_at bigint
|
|
62
62
|
)
|
|
63
|
-
`;await i.execute(F`CREATE SCHEMA IF NOT EXISTS ${F.identifier(p)}`),await i.execute(a);const m=(await i.all(F`select id, hash, created_at from ${F.identifier(p)}.${F.identifier(c)} order by created_at desc limit 1`))[0];await i.transaction(async(l)=>{for await(let f of n)if(!m||Number(m.created_at)<f.folderMillis){for(let $ of f.sql)await l.execute(F.raw($));await l.execute(F`insert into ${F.identifier(p)}.${F.identifier(c)} ("hash", "created_at") values(${f.hash}, ${f.folderMillis})`)}})}escapeName(n){return`"${n}"`}escapeParam(n){return`\$${n+1}`}escapeString(n){return`'${n.replace(/'/g,"''")}'`}buildWithCTE(n){if(!n?.length)return;const i=[F`with `];for(let[o,c]of n.entries())if(i.push(F`${F.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(F`, `);return i.push(F` `),F.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){const p=this.buildWithCTE(c),a=o?F` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?F` where ${i}`:void 0;return F`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){const o=n[D.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return F.join(c.flatMap((a,x)=>{const m=o[a],l=i[a]??F.param(m.onUpdateFn(),m),f=F`${F.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,F.raw(", ")];return[f]}))}buildUpdateQuery({table:n,set:i,where:o,returning:c,withList:p}){const a=this.buildWithCTE(p),x=this.buildUpdateSet(n,i),m=c?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?F` where ${o}`:void 0;return F`${a}update ${n} set ${x}${l}${m}`}buildSelection(n,{isSingleTable:i=!1}={}){const o=n.length,c=n.flatMap(({field:p},a)=>{const x=[];if(u(p,t.Aliased)&&p.isSelectionField)x.push(F.identifier(p.fieldAlias));else if(u(p,t.Aliased)||u(p,t)){const m=u(p,t.Aliased)?p.sql:p;if(i)x.push(new t(m.queryChunks.map((l)=>{if(u(l,j))return F.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,t.Aliased))x.push(F` as ${F.identifier(p.fieldAlias)}`)}else if(u(p,_n))if(i)x.push(F.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(F`, `);return x});return F.join(c)}buildSelectQuery({withList:n,fields:i,fieldsFlat:o,where:c,having:p,table:a,joins:x,orderBy:m,groupBy:l,limit:f,offset:$,lockingClause:v,distinct:S,setOperators:M}){const R=o??di(i);for(let ln of R)if(u(ln.field,_n)&&gi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,da)?a[hn].name:u(a,t)?void 0:gi(a))&&!(($n)=>x?.some(({alias:Un})=>Un===($n[D.Symbol.IsAlias]?gi($n):$n[D.Symbol.BaseName])))(ln.field.table)){const $n=gi(ln.field.table);throw new Error(`Your "${ln.path.join("->")}" field references a column "${$n}"."${ln.field.name}", but the table "${$n}" is not part of the query! Did you forget to join it?`)}const A=!x||x.length===0,X=this.buildWithCTE(n);let G;if(S)G=S===!0?F` distinct`:F` distinct on (${F.join(S.on,F`, `)})`;const Y=this.buildSelection(R,{isSingleTable:A}),E=(()=>{if(u(a,D)&&a[D.Symbol.OriginalName]!==a[D.Symbol.Name]){let ln=F`${F.identifier(a[D.Symbol.OriginalName])}`;if(a[D.Symbol.Schema])ln=F`${F.identifier(a[D.Symbol.Schema])}.${ln}`;return F`${ln} ${F.identifier(a[D.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(F` `);const Un=$n.table,si=$n.lateral?F` lateral`:void 0;if(u(Un,So)){const H=Un[So.Symbol.Name],k=Un[So.Symbol.Schema],Sn=Un[So.Symbol.OriginalName],Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else if(u(Un,Ui)){const H=Un[hn].name,k=Un[hn].schema,Sn=Un[hn].originalName,Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else s.push(F`${F.raw($n.joinType)} join${si} ${Un} on ${$n.on}`);if(ln<x.length-1)s.push(F` `)}const z=F.join(s),T=c?F` where ${c}`:void 0,O=p?F` having ${p}`:void 0;let U;if(m&&m.length>0)U=F` order by ${F.join(m,F`, `)}`;let V;if(l&&l.length>0)V=F` group by ${F.join(l,F`, `)}`;const K=typeof f==="object"||typeof f==="number"&&f>=0?F` limit ${f}`:void 0,y=$?F` offset ${$}`:void 0,_=F.empty();if(v){const ln=F` for ${F.raw(v.strength)}`;if(v.config.of)ln.append(F` of ${F.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],F`, `)}`);if(v.config.noWait)ln.append(F` no wait`);else if(v.config.skipLocked)ln.append(F` skip locked`);_.append(ln)}const P=F`${X}select${G} ${Y} from ${E}${z}${T}${V}${O}${U}${K}${y}${_}`;if(M.length>0)return this.buildSetOperations(P,M);return P}buildSetOperations(n,i){const[o,...c]=i;if(!o)throw new Error("Cannot pass undefined values to any set operator");if(c.length===0)return this.buildSetOperationQuery({leftSelect:n,setOperator:o});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:n,setOperator:o}),c)}buildSetOperationQuery({leftSelect:n,setOperator:{type:i,isAll:o,rightSelect:c,limit:p,orderBy:a,offset:x}}){const m=F`(${n.getSQL()}) `,l=F`(${c.getSQL()})`;let f;if(a&&a.length>0){const M=[];for(let R of a)if(u(R,j))M.push(F.identifier(R.name));else if(u(R,t)){for(let A=0;A<R.queryChunks.length;A++){const X=R.queryChunks[A];if(u(X,j))R.queryChunks[A]=F.identifier(X.name)}M.push(F`${R}`)}else M.push(F`${R}`);f=F` order by ${F.join(M,F`, `)} `}const $=typeof p==="object"||typeof p==="number"&&p>=0?F` limit ${p}`:void 0,v=F.raw(`${i} ${o?"all ":""}`),S=x?F` offset ${x}`:void 0;return F`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){const a=[],x=n[D.Symbol.Columns],m=Object.entries(x).filter(([M,R])=>!R.shouldDisableInsert()),l=m.map(([,M])=>F.identifier(this.casing.getColumnCasing(M)));for(let[M,R]of i.entries()){const A=[];for(let[X,G]of m){const Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(G.defaultFn!==void 0){const E=G.defaultFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else if(!G.default&&G.onUpdateFn!==void 0){const E=G.onUpdateFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else A.push(F`default`);else A.push(Y)}if(a.push(A),M<i.length-1)a.push(F`, `)}const f=this.buildWithCTE(p),$=F.join(a),v=c?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?F` on conflict ${o}`:void 0;return F`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){const c=i?F` concurrently`:void 0,p=o?F` with no data`:void 0;return F`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,ex)||u(n,Px))return"json";else if(u(n,gx))return"decimal";else if(u(n,dx))return"time";else if(u(n,nm)||u(n,im))return"timestamp";else if(u(n,rx)||u(n,Zx))return"date";else if(u(n,om))return"uuid";else return"none"}sqlToQuery(n,i){return n.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:c,tableConfig:p,queryConfig:a,tableAlias:x,nestedQueryRelation:m,joinOn:l}){let f=[],$,v,S=[],M;const R=[];if(a===!0)f=Object.entries(p.columns).map(([G,Y])=>({dbKey:Y.name,tsKey:G,field:Oo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const X=Object.fromEntries(Object.entries(p.columns).map(([T,O])=>[T,Oo(O,x)]));if(a.where){const T=typeof a.where==="function"?a.where(X,kJ()):a.where;M=T&&ua(T,x)}const G=[];let Y=[];if(a.columns){let T=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!T&&U===!0)T=!0;Y.push(O)}}if(Y.length>0)Y=T?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let T of Y){const O=p.columns[T];G.push({tsKey:T,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((T)=>!!T[1]).map(([T,O])=>({tsKey:T,queryConfig:O,relation:p.relations[T]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:F}):a.extras;for(let[T,O]of Object.entries(s))G.push({tsKey:T,value:Mf(O,x)})}for(let{tsKey:T,value:O}of G)f.push({dbKey:u(O,t.Aliased)?O.fieldAlias:p.columns[T].name,tsKey:T,field:u(O,_n)?Oo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let z=typeof a.orderBy==="function"?a.orderBy(X,rJ()):a.orderBy??[];if(!Array.isArray(z))z=[z];S=z.map((T)=>{if(u(T,_n))return Oo(T,x);return ua(T,x)}),$=a.limit,v=a.offset;for(let{tsKey:T,queryConfig:O,relation:U}of E){const V=qJ(i,o,U),K=Oc(U.referencedTable),y=o[K],_=`${x}_${T}`,P=Hc(...V.fields.map((Un,si)=>Ho(Oo(V.references[si],_),Oo(Un,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[y],tableConfig:i[y],queryConfig:u(U,xc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=F`${F.identifier(_)}.${F.identifier("data")}`.as(T);R.push({on:F`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:T,tsKey:T,field:$n,relationTableTsKey:y,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Cx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let A;if(M=Hc(l,M),m){let X=F`json_build_array(${F.join(f.map(({field:E,tsKey:s,isJson:z})=>z?F`${F.identifier(`${x}_${s}`)}.${F.identifier("data")}`:u(E,t.Aliased)?E.sql:E),F`, `)})`;if(u(m,Ea))X=F`coalesce(json_agg(${X}${S.length>0?F` order by ${F.join(S,F`, `)}`:void 0}), '[]'::json)`;const G=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:[{path:[],field:F.raw("*")}],where:M,limit:$,offset:v,orderBy:S,setOperators:[]}),M=void 0,$=void 0,v=void 0,S=[];else A=Ix(c,x);A=this.buildSelectQuery({table:u(A,So)?A:new fi(A,{},x),fields:{},fieldsFlat:G.map(({field:E})=>({path:[],field:u(E,_n)?Oo(E,x):E})),joins:R,where:M,limit:$,offset:v,orderBy:S,setOperators:[]})}else A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,_n)?Oo(X,x):X})),joins:R,where:M,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:A,selection:f}}}class _i{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===hn)return{...n[hn],selectedFields:new Proxy(n[hn].selectedFields,this)};if(typeof i==="symbol")return n[i];const c=(u(n,fi)?n._.selectedFields:u(n,Ui)?n[hn].selectedFields:n)[i];if(u(c,t.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;const p=c.clone();return p.isSelectionField=!0,p}if(u(c,t)){if(this.config.sqlBehavior==="sql")return c;throw new Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u(c,_n)){if(this.config.alias)return new Proxy(c,new wp(new Proxy(c.table,new Ya(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new _i(this.config))}}class t${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}function rp(n,i){return(o,c,...p)=>{const a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!Wf(o.getSelectedFields(),x.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return o.addSetOperators(a)}}class Ei{static[J]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(n){if(this.fields=n.fields,this.session=n.session,this.dialect=n.dialect,n.withList)this.withList=n.withList;this.distinct=n.distinct}from(n){const i=!!this.fields;let o;if(this.fields)o=this.fields;else if(u(n,fi))o=Object.fromEntries(Object.keys(n._.selectedFields).map((c)=>[c,n[c]]));else if(u(n,da))o=n[hn].selectedFields;else if(u(n,t))o={};else o=gS(n);return new k$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class TR extends t${static[J]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:n,fields:i,isPartialSelect:o,session:c,dialect:p,withList:a,distinct:x}){super();this.config={withList:a,table:n,fields:{...i},distinct:x,setOperators:[]},this.isPartialSelect=o,this.session=c,this.dialect=p,this._={selectedFields:i},this.tableName=Xf(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{const c=this.tableName,p=Xf(i);if(typeof p==="string"&&this.config.joins?.some((a)=>a.alias===p))throw new Error(`Alias "${p}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof c==="string")this.config.fields={[c]:this.config.fields};if(typeof p==="string"&&!u(i,t)){const a=u(i,fi)?i._.selectedFields:u(i,Ui)?i[hn].selectedFields:i[D.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:o,table:i,joinType:n,alias:p}),typeof p==="string")switch(n){case"left":{this.joinsNotNullableMap[p]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!0;break}case"inner":{this.joinsNotNullableMap[p]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(n,i){return(o)=>{const c=typeof o==="function"?o(PG()):o;if(!Wf(this.getSelectedFields(),c.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:n,isAll:i,rightSelect:c}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(n){return this.config.setOperators.push(...n),this}where(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=n,this}groupBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=n;return this}orderBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),o=Array.isArray(i)?i:[i];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=o;else this.config.orderBy=o}else{const i=n;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=i;else this.config.orderBy=i}return this}limit(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=n;else this.config.limit=n;return this}offset(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=n;else this.config.offset=n;return this}for(n,i={}){return this.config.lockingClause={strength:n,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(n){return new Proxy(new fi(this.getSQL(),this.config.fields,n),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new _i({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class k$ extends TR{static[J]="PgSelect";_prepare(n){const{session:i,config:o,dialect:c,joinsNotNullableMap:p}=this;if(!i)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return En.startActiveSpan("drizzle.prepareQuery",()=>{const a=di(o.fields),x=i.prepareQuery(c.sqlToQuery(this.getSQL()),a,n,!0);return x.joinsNotNullableMap=p,x})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}eS(k$,[ui]);var PG=()=>({union:eG,unionAll:gG,intersect:dG,intersectAll:nz,except:iz,exceptAll:oz}),eG=rp("union",!1),gG=rp("union",!0),dG=rp("intersect",!1),nz=rp("intersect",!0),iz=rp("except",!1),oz=rp("except",!0);class r${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,kc)?n:void 0,this.dialectConfig=u(n,kc)?void 0:n}$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}with(...n){const i=this;function o(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),withList:n})}function c(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})}function p(a,x){return new Ei({fields:x??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:a}})}return{select:o,selectDistinct:c,selectDistinctOn:p}}select(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:n}})}getDialect(){if(!this.dialect)this.dialect=new kc(this.dialectConfig);return this.dialect}}class Z$ extends ui{constructor(n,i,o){super();this.session=i,this.dialect=o,this.config={view:n}}static[J]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}class qm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new RR(this.table,kx(this.table,n),this.session,this.dialect,this.withList)}}class RR extends ui{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={set:i,table:n,withList:p}}static[J]="PgUpdate";config;where(n){return this.config.where=n,this}returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)}prepare(n){return this._prepare(n)}execute=(n)=>{return this._prepare().execute(n)};$dynamic(){return this}}class nx extends t{constructor(n){super(nx.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=nx.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return F`(select count(*) from ${n}${F.raw(" where ").if(i)}${i})`}static buildCount(n,i){return F`select count(*) as count from ${n}${F.raw(" where ").if(i)}${i};`}then(n,i){return Promise.resolve(this.session.count(this.sql)).then(n,i)}catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}}class P${constructor(n,i,o,c,p,a,x){this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x}static[J]="PgRelationalQueryBuilder";findMany(n){return new q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class q$ extends ui{constructor(n,i,o,c,p,a,x,m,l){super();this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x,this.config=m,this.mode=l}static[J]="PgRelationalQuery";_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{const{query:i,builtQuery:o}=this._toSQL();return this.session.prepareQuery(o,void 0,n,!0,(c,p)=>{const a=c.map((x)=>cm(this.schema,this.tableConfig,x,i.selection,p));if(this.mode==="first")return a[0];return a})})}prepare(n){return this._prepare(n)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){const n=this._getQuery(),i=this.dialect.sqlToQuery(n.sql);return{query:n,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}execute(){return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute()})}}class e$ extends ui{constructor(n,i,o,c){super();this.execute=n,this.sql=i,this.query=o,this.mapBatchResult=c}static[J]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(n,i){return i?this.mapBatchResult(n):n}_prepare(){return this}isResponseInArrayMode(){return!1}}class ix{constructor(n,i,o){if(this.dialect=n,this.session=i,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[c,p]of Object.entries(this._.schema))this.query[c]=new P$(o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[c],p,n,i)}static[J]="PgDatabase";query;$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(new r$(i.dialect));return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new nx({source:n,filters:i,session:this.session})}with(...n){const i=this;function o(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n})}function c(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:!0})}function p(l,f){return new Ei({fields:f??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:{on:l}})}function a(l){return new qm(l,i.session,i.dialect,n)}function x(l){return new Zm(l,i.session,i.dialect,n)}function m(l){return new rm(l,i.session,i.dialect,n)}return{select:o,selectDistinct:c,selectDistinctOn:p,update:a,insert:x,delete:m}}select(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect})}selectDistinct(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:n}})}update(n){return new qm(n,this.session,this.dialect)}insert(n){return new Zm(n,this.session,this.dialect)}delete(n){return new rm(n,this.session,this.dialect)}refreshMaterializedView(n){return new Z$(n,this.session,this.dialect)}execute(n){const i=typeof n==="string"?F.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new e$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}function g$(n){return new KR(!0,n)}class KR{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Pm(n.map((i)=>{if(u(i,t))return i;i=i;const o=new Ga(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=JSON.parse(JSON.stringify(i.defaultConfig)),o}),this.unique,!1,this.name)}onOnly(...n){return new Pm(n.map((i)=>{if(u(i,t))return i;i=i;const o=new Ga(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Pm(i.map((o)=>{if(u(o,t))return o;o=o;const c=new Ga(o.name,!!o.keyAsName,o.columnType,o.indexConfig);return o.indexConfig=JSON.parse(JSON.stringify(o.defaultConfig)),c}),this.unique,!0,this.name,n)}}class Pm{static[J]="PgIndexBuilder";config;constructor(n,i,o,c,p="btree"){this.config={name:c,columns:n,unique:i,only:o,method:p}}concurrently(){return this.config.concurrently=!0,this}with(n){return this.config.with=n,this}where(n){return this.config.where=n,this}build(n){return new WR(this.config,n)}}class WR{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}class d${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class nv{constructor(n){this.dialect=n}static[J]="PgSession";execute(n){return En.startActiveSpan("drizzle.operation",()=>{return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1)}).execute()})}all(n){return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1).all()}async count(n){const i=await this.execute(n);return Number(i[0].count)}}class iv extends ix{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Tf}getTransactionConfigSQL(n){const i=[];if(n.isolationLevel)i.push(`isolation level ${n.isolationLevel}`);if(n.accessMode)i.push(n.accessMode);if(typeof n.deferrable==="boolean")i.push(n.deferrable?"deferrable":"not deferrable");return F.raw(i.join(" "))}setTransaction(n){return this.session.execute(F`set transaction ${this.getTransactionConfigSQL(n)}`)}}class XR extends d${constructor(n,i,o,c,p,a,x){super({sql:i,params:o});this.client=n,this.queryString=i,this.params=o,this.logger=c,this.fields=p,this._isResponseInArrayMode=a,this.customResultMapper=x}static[J]="PostgresJsPreparedQuery";async execute(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=Af(this.params,n);i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o);const{fields:c,queryString:p,client:a,joinsNotNullableMap:x,customResultMapper:m}=this;if(!c&&!m)return En.startActiveSpan("drizzle.driver.execute",()=>{return a.unsafe(p,o)});const l=await En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":p,"drizzle.query.params":JSON.stringify(o)}),a.unsafe(p,o).values()});return En.startActiveSpan("drizzle.mapResponse",()=>{return m?m(l):l.map((f)=>PS(c,f,x))})})}all(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=Af(this.params,n);return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o),En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.client.unsafe(this.queryString,o)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class ox extends nv{constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Kf}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new XR(this.client,n.sql,n.params,this.logger,i,c,p)}query(n,i){return this.logger.logQuery(n,i),this.client.unsafe(n,i).values()}queryObjects(n,i){return this.client.unsafe(n,i)}transaction(n,i){return this.client.begin(async(o)=>{const c=new ox(o,this.dialect,this.schema,this.options),p=new ov(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class ov extends iv{constructor(n,i,o,c=0){super(n,i,o,c);this.session=i}static[J]="PostgresJsTransaction";transaction(n){return this.session.client.savepoint((i)=>{const o=new ox(i,this.dialect,this.schema,this.session.options),c=new ov(this.dialect,o,this.schema);return n(c)})}}function Zp(n,i={}){const o=(l)=>l;for(let l of["1184","1082","1083","1114"])n.options.parsers[l]=o,n.options.serializers[l]=o;n.options.serializers["114"]=o,n.options.serializers["3802"]=o;const c=new kc({casing:i.casing});let p;if(i.logger===!0)p=new Rf;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){const l=ZJ(i.schema,PJ);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}const x=new ox(n,c,a,{logger:p}),m=new GR(c,x,a);return m.$client=n,m}function em(...n){if(typeof n[0]==="function")return Zp(n[0],n[1]);if(typeof n[0]==="object"){const{connection:o,client:c,...p}=n[0];if(c)return Zp(c,p);if(typeof o==="object"&&o.url!==void 0){const{url:x,...m}=o,l=kp(x,m);return Zp(l,p)}const a=kp(o);return Zp(a,p)}const i=kp(n[0]);return Zp(i,n[1])}class GR extends ix{static[J]="PostgresJsDatabase"}((n)=>{function i(o){return Zp({},o)}n.mock=i})(em||(em={}));var pv={};y4(pv,{users:()=>Xo,userChanges:()=>pz,untrackedUserColumnNames:()=>cz,twoFactorMethod:()=>OR,trackedUserColumnName:()=>uR,trackableUserColumnNames:()=>YR,role:()=>zR,players:()=>cv,passwordResetAttempts:()=>az,loginHistory:()=>qp,games:()=>gm,banishedIps:()=>dm});var zR=Bx("role",["admin","user"]),Xo=ac("users",{id:yi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:wo({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Oa().notNull().default(!1),verifiedAt:wo({withTimezone:!0}),userRole:zR().default("user")},(n)=>({usersUsernameUnique:g$().on(n.username),usersEmailUnique:g$().on(n.email)})),cz=["id","createdAt","createdIp","isActive","salt","verifiedAt"],YR=["username","email","hash","userRole"],uR=Bx("trackedUserColumnName",YR),pz=ac("userChanges",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),changedAt:wo({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:uR().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),gm=ac("games",{id:yi("id").primaryKey().defaultRandom()}),cv=ac("players",{userId:yi().notNull().references(()=>Xo.id),gameId:yi().notNull().references(()=>gm.id),score:qx().notNull()},(n)=>({pk:IJ({columns:[n.userId,n.gameId]})})),qp=ac("loginHistory",{id:yi().primaryKey().defaultRandom(),userId:yi().references(()=>Xo.id),loginTime:wo({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Oa().notNull().default(!1)}),OR=Bx("twoFactorMethod",["email","phone"]),az=ac("passwordResetAttempts",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),requestedIp:$i({length:45}).notNull(),requestedAt:wo({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:wo({withTimezone:!0}),verificationMethod:OR().notNull()}),dm=ac("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:wo({withTimezone:!0}).notNull().defaultNow(),banishedUntil:wo({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class av{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(xz.resolve(__dirname,"notify_update.sql"));const n=[gi(Xo),gi(gm),gi(cv)];await this.sql`SELECT create_notify_triggers(${this.sql.array(n)})`,await this.sql.listen("table_update",(i)=>{const o=i.split(","),c=o[0],p=o[1],a=`${c}("${p}")`;if(this.observers.has(a))this.observers.get(a).next(a)})}constructor(n={host:pi.POSTGRES_HOST,port:pi.POSTGRES_PORT,user:pi.POSTGRES_USER,password:pi.POSTGRES_PASSWORD,database:pi.POSTGRES_DATABASE}){this.options=n,this.sql=kp(n),this.drizzle=em(this.sql,{schema:pv})}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as mz}from"crypto";function xv(n){const i=mz("sha256").update(n).digest("hex");return`${i.substring(0,8)}-${i.substring(8,12)}-${i.substring(12,16)}-${i.substring(16,20)}-${i.substring(20,32)}`}var HR=["123","321","abc","admin","adobe","alexander","amanda","andrea","andrew","angel","apple","asdf","ashley","baby","banana","baseball","batman","bear","biteme","blazer","blonde","boston","buster","butterfly","cameron","charlie","cheese","chelsea","chicken","chocolate","chris","compaq","computer","cookie","corvette","cowboys","dakota","dallas","daniel","david","diamond","dolphin","donald","dragon","eagle","flower","football","frank","freedom","friend","gateway","george","ginger","god","golf","hannah","hardcore","harley","heather","hello","hottie","hunter","internet","jasmine","jennifer","jessica","jesus","johnny","jordan","joshua","justin","justme","killer","knight","lakers","letmein","liverpool","login","london","love","lucky","mackenzie","maggie","master","matrix","matthew","maverick","melissa","mercedes","michael","michelle","mickey","miller","money","monkey","morgan","mother","muffin","mustang","natasha","nathan","nicole","ninja","orange","pass","password","patrick","peanut","pepper","phoenix","photoshop","pokemon","princess","purple","qazwsx","qwerty","rainbow","ranger","root","samantha","samsung","scooter","secret","shadow","simpson","smile","soccer","sparkle","starwars","summer","sunflower","sunshine","superman","taylor","temp","test","thomas","tigers","tigger","tinkerbell","trust","turtle","victoria","welcome","whatever","william","winter","yellow","zaq12wsx","zxcvbn"];function vz(n){let i="";for(let o of n)if(o in QR)i+=QR[o];else i+=o;return i}function wz(n){const i=n.toLocaleLowerCase(),o=vz(i);for(let c of HR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function Sz(n){const i=new Set(n).size;return n.length*Math.log2(i)}function Jz(n){let i=0;const o=100;if(wz(n))i-=o;return i+=Sz(n)*0.5,Math.max(i,0)}var lz=3,fz=15,$z=/^[a-zA-Z0-9_-]+$/,UR=Qn.string().min(lz).max(fz).regex($z),ER=20,QR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},VR=Qn.string().refine((n)=>{return Jz(n)>=ER},{message:`Password does not meet the minimum complexity of ${ER}.`}).brand("password"),bR=Qn.object({username:UR,password:VR}).strict(),Fz=Qn.string().email().brand("email"),_R=Qn.object({username:UR,password:VR,email:Fz}).strict();var nl={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},mv=Kv(nl).map(([n])=>Qn.literal(Number(n))),Az=Qn.union([mv[0],mv[1],...mv]),sR=Qn.tuple([Az,Qn.string()]);var jR=Zo({key:"count",default:0}),Mz=Tc({key:"incrementTX",do:({set:n})=>{n(jR,(i)=>i+1)}}),NR=p0({key:"countContinuity",config:(n)=>n.add(jR).add(Mz)});async function fv(){Xn.info("\uD83E\uDDF9 dispatching SIGINT to workers"),yR.process.kill("SIGINT"),await new Promise((n)=>yR.process.once("exit",n)),Xn.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var yR=Y$(Dc,"backend.worker.game.bun",Xn),rc=new av,mh=(()=>{let{__tribunalDaily:n}=globalThis;if(!n)n=new DR.CronJob("00 15 * * * *",()=>{Y$(Dc,"backend.worker.tribunal.bun",Xn)}),n.start(),process.on("exit",()=>{n.stop(),Xn.info("\u231B tribunal daily cronjob stopped")}),Xn.info("\u23F3 tribunal daily cronjob started");return n})(),hR=BR.createServer((n,i)=>{let o;n.on("data",(c)=>(o??=[]).push(c)).on("end",async()=>{const c=n.headers.authorization;try{if(typeof n.url==="undefined")throw[400,"No URL"];const p=n.socket.remoteAddress;if(!p)throw[400,"No IP address"];const a=new Date,x=new URL(n.url,pi.VITE_BACKEND_ORIGIN);Xn.info(a,p,n.method,x.pathname);const m=await rc.drizzle.query.banishedIps.findFirst({columns:{banishedUntil:!0},where:Ho(dm.ip,p)}),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){Xn.info(`\uD83D\uDE45 request from banned ip ${p}`);return}switch(n.method){case"POST":if(!o)throw[400,"No data received"];switch(x.pathname){case`/signup-${xv("signup")}`:{const $=Buffer.concat(o).toString(),v=JSON.parse($);Xn.info("signup json",v);const S=_R.safeParse(v);if(!S.success){Xn.warn("signup parsed",S.error.issues);return}const{username:M,password:R,email:A}=S.data;if(await rc.drizzle.query.users.findFirst({columns:{id:!0},where:Ho(Xo.email,A)}))throw[400,"User already exists"];const G=crypto.randomUUID(),Y=LR("sha256").update(R+G).digest("hex");await rc.drizzle.insert(Xo).values({username:M,email:A,hash:Y,salt:G,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(nl[201])}break;case`/login-${xv("login")}`:{let $=!1,v=null;try{const S=new Date(+a-600000);Xn.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});const M=await rc.drizzle.query.loginHistory.findMany({columns:{userId:!0,successful:!0},where:Hc(Ho(qp.ipAddress,p),Ho(qp.successful,!1),tx(qp.loginTime,S)),limit:10});Xn.info(`\uD83D\uDD11 ${M.length}/10 recent failed logins from ${p}`);const R=10-M.length;if(R<1)throw Xn.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(dm).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];const A=Buffer.concat(o).toString(),X=JSON.parse(A),G=bR.safeParse(X);if(!G.success)throw Xn.warn("login parsed",G.error.issues),[400,`${R} attempts remaining.`];const{username:Y,password:E}=G.data,s=await rc.drizzle.query.users.findFirst({columns:{id:!0,hash:!0,salt:!0},where:Ho(Xo.username,Y)});if(Xn.info("\uD83D\uDD11 login attempt as user",Y),!s)throw Xn.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];const{hash:z,salt:T}=s;if(v=s.id,LR("sha256").update(E+T).digest("hex")===z){const U=crypto.randomUUID();let V=sm.get(Y);if(!V)V=new Map,sm.set(Y,V);V.set(U,Number(a)),$=!0,Xn.info("\uD83D\uDD11 login successful as",Y),i.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(`${Y} ${U}`)}}finally{await rc.drizzle.insert(qp).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),Xn.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){const a=sR.safeParse(p);if(a.success){const[x,m]=a.data,f=`${nl[x]}. ${m}`;Xn.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else Xn.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),lv=hR.listen(pi.BACKEND_PORT).address(),Tz=typeof lv==="string"?null:lv===null?null:lv.port;if(Tz===null)throw new Error("Could not determine port for test server");new jT(hR,{cors:{origin:pi.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{const{username:o,sessionKey:c}=n.handshake.auth;if(!(o&&c)){i(new Error("No auth header provided"));return}if(sm.get(o)?.has(c)){const a=An(on.STORE,wa,n.id);zn(on.STORE,a,n),Rc(Kc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Ql,(x)=>x.add(o)),zn(on.STORE,El,(x)=>x.add(n.id)),Xn.info(`${o} connected on ${n.id}`),i()}else Xn.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=m0({socket:n,store:on.STORE})(NR);n.on("disconnect",()=>{const c=np(Kc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Rc(Kc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Ql,(a)=>(a.delete(p),a));zn(on.STORE,El,(a)=>(a.delete(n.id),a)),li(on.STORE,wa,n.id),Xn.info(`${n.id} disconnected`),o()})});Dc.emit("alive");Dc.on("updatesReady",()=>{Dc.emit("readyToUpdate")});process.on("SIGINT",async()=>{Xn.info("\u2757 received SIGINT; exiting gracefully"),await fv()});process.on("SIGTERM",async()=>{Xn.info("\u2757 received SIGTERM; exiting gracefully"),await fv()});process.on("exit",async()=>{Xn.info("\u2757 received exit; exiting gracefully"),await fv()});Xn.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);export{mh as tribunalDaily};
|
|
63
|
+
`;await i.execute(F`CREATE SCHEMA IF NOT EXISTS ${F.identifier(p)}`),await i.execute(a);let m=(await i.all(F`select id, hash, created_at from ${F.identifier(p)}.${F.identifier(c)} order by created_at desc limit 1`))[0];await i.transaction(async(l)=>{for await(let f of n)if(!m||Number(m.created_at)<f.folderMillis){for(let $ of f.sql)await l.execute(F.raw($));await l.execute(F`insert into ${F.identifier(p)}.${F.identifier(c)} ("hash", "created_at") values(${f.hash}, ${f.folderMillis})`)}})}escapeName(n){return`"${n}"`}escapeParam(n){return`\$${n+1}`}escapeString(n){return`'${n.replace(/'/g,"''")}'`}buildWithCTE(n){if(!n?.length)return;let i=[F`with `];for(let[o,c]of n.entries())if(i.push(F`${F.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(F`, `);return i.push(F` `),F.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){let p=this.buildWithCTE(c),a=o?F` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?F` where ${i}`:void 0;return F`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){let o=n[D.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return F.join(c.flatMap((a,x)=>{let m=o[a],l=i[a]??F.param(m.onUpdateFn(),m),f=F`${F.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,F.raw(", ")];return[f]}))}buildUpdateQuery({table:n,set:i,where:o,returning:c,withList:p}){let a=this.buildWithCTE(p),x=this.buildUpdateSet(n,i),m=c?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?F` where ${o}`:void 0;return F`${a}update ${n} set ${x}${l}${m}`}buildSelection(n,{isSingleTable:i=!1}={}){let o=n.length,c=n.flatMap(({field:p},a)=>{let x=[];if(u(p,t.Aliased)&&p.isSelectionField)x.push(F.identifier(p.fieldAlias));else if(u(p,t.Aliased)||u(p,t)){let m=u(p,t.Aliased)?p.sql:p;if(i)x.push(new t(m.queryChunks.map((l)=>{if(u(l,j))return F.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,t.Aliased))x.push(F` as ${F.identifier(p.fieldAlias)}`)}else if(u(p,_n))if(i)x.push(F.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(F`, `);return x});return F.join(c)}buildSelectQuery({withList:n,fields:i,fieldsFlat:o,where:c,having:p,table:a,joins:x,orderBy:m,groupBy:l,limit:f,offset:$,lockingClause:v,distinct:S,setOperators:M}){let R=o??di(i);for(let ln of R)if(u(ln.field,_n)&&gi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,da)?a[hn].name:u(a,t)?void 0:gi(a))&&!(($n)=>x?.some(({alias:Un})=>Un===($n[D.Symbol.IsAlias]?gi($n):$n[D.Symbol.BaseName])))(ln.field.table)){let $n=gi(ln.field.table);throw new Error(`Your "${ln.path.join("->")}" field references a column "${$n}"."${ln.field.name}", but the table "${$n}" is not part of the query! Did you forget to join it?`)}let A=!x||x.length===0,X=this.buildWithCTE(n),G;if(S)G=S===!0?F` distinct`:F` distinct on (${F.join(S.on,F`, `)})`;let Y=this.buildSelection(R,{isSingleTable:A}),E=(()=>{if(u(a,D)&&a[D.Symbol.OriginalName]!==a[D.Symbol.Name]){let ln=F`${F.identifier(a[D.Symbol.OriginalName])}`;if(a[D.Symbol.Schema])ln=F`${F.identifier(a[D.Symbol.Schema])}.${ln}`;return F`${ln} ${F.identifier(a[D.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(F` `);let Un=$n.table,si=$n.lateral?F` lateral`:void 0;if(u(Un,So)){let H=Un[So.Symbol.Name],k=Un[So.Symbol.Schema],Sn=Un[So.Symbol.OriginalName],Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else if(u(Un,Ui)){let H=Un[hn].name,k=Un[hn].schema,Sn=Un[hn].originalName,Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else s.push(F`${F.raw($n.joinType)} join${si} ${Un} on ${$n.on}`);if(ln<x.length-1)s.push(F` `)}let z=F.join(s),T=c?F` where ${c}`:void 0,O=p?F` having ${p}`:void 0,U;if(m&&m.length>0)U=F` order by ${F.join(m,F`, `)}`;let V;if(l&&l.length>0)V=F` group by ${F.join(l,F`, `)}`;let K=typeof f==="object"||typeof f==="number"&&f>=0?F` limit ${f}`:void 0,y=$?F` offset ${$}`:void 0,_=F.empty();if(v){let ln=F` for ${F.raw(v.strength)}`;if(v.config.of)ln.append(F` of ${F.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],F`, `)}`);if(v.config.noWait)ln.append(F` no wait`);else if(v.config.skipLocked)ln.append(F` skip locked`);_.append(ln)}let P=F`${X}select${G} ${Y} from ${E}${z}${T}${V}${O}${U}${K}${y}${_}`;if(M.length>0)return this.buildSetOperations(P,M);return P}buildSetOperations(n,i){let[o,...c]=i;if(!o)throw new Error("Cannot pass undefined values to any set operator");if(c.length===0)return this.buildSetOperationQuery({leftSelect:n,setOperator:o});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:n,setOperator:o}),c)}buildSetOperationQuery({leftSelect:n,setOperator:{type:i,isAll:o,rightSelect:c,limit:p,orderBy:a,offset:x}}){let m=F`(${n.getSQL()}) `,l=F`(${c.getSQL()})`,f;if(a&&a.length>0){let M=[];for(let R of a)if(u(R,j))M.push(F.identifier(R.name));else if(u(R,t)){for(let A=0;A<R.queryChunks.length;A++){let X=R.queryChunks[A];if(u(X,j))R.queryChunks[A]=F.identifier(X.name)}M.push(F`${R}`)}else M.push(F`${R}`);f=F` order by ${F.join(M,F`, `)} `}let $=typeof p==="object"||typeof p==="number"&&p>=0?F` limit ${p}`:void 0,v=F.raw(`${i} ${o?"all ":""}`),S=x?F` offset ${x}`:void 0;return F`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){let a=[],x=n[D.Symbol.Columns],m=Object.entries(x).filter(([M,R])=>!R.shouldDisableInsert()),l=m.map(([,M])=>F.identifier(this.casing.getColumnCasing(M)));for(let[M,R]of i.entries()){let A=[];for(let[X,G]of m){let Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(G.defaultFn!==void 0){let E=G.defaultFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else if(!G.default&&G.onUpdateFn!==void 0){let E=G.onUpdateFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else A.push(F`default`);else A.push(Y)}if(a.push(A),M<i.length-1)a.push(F`, `)}let f=this.buildWithCTE(p),$=F.join(a),v=c?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?F` on conflict ${o}`:void 0;return F`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){let c=i?F` concurrently`:void 0,p=o?F` with no data`:void 0;return F`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,ex)||u(n,Px))return"json";else if(u(n,gx))return"decimal";else if(u(n,dx))return"time";else if(u(n,nm)||u(n,im))return"timestamp";else if(u(n,rx)||u(n,Zx))return"date";else if(u(n,om))return"uuid";else return"none"}sqlToQuery(n,i){return n.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:c,tableConfig:p,queryConfig:a,tableAlias:x,nestedQueryRelation:m,joinOn:l}){let f=[],$,v,S=[],M,R=[];if(a===!0)f=Object.entries(p.columns).map(([G,Y])=>({dbKey:Y.name,tsKey:G,field:Oo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let X=Object.fromEntries(Object.entries(p.columns).map(([T,O])=>[T,Oo(O,x)]));if(a.where){let T=typeof a.where==="function"?a.where(X,kJ()):a.where;M=T&&ua(T,x)}let G=[],Y=[];if(a.columns){let T=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!T&&U===!0)T=!0;Y.push(O)}}if(Y.length>0)Y=T?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let T of Y){let O=p.columns[T];G.push({tsKey:T,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((T)=>!!T[1]).map(([T,O])=>({tsKey:T,queryConfig:O,relation:p.relations[T]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:F}):a.extras;for(let[T,O]of Object.entries(s))G.push({tsKey:T,value:Mf(O,x)})}for(let{tsKey:T,value:O}of G)f.push({dbKey:u(O,t.Aliased)?O.fieldAlias:p.columns[T].name,tsKey:T,field:u(O,_n)?Oo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let z=typeof a.orderBy==="function"?a.orderBy(X,rJ()):a.orderBy??[];if(!Array.isArray(z))z=[z];S=z.map((T)=>{if(u(T,_n))return Oo(T,x);return ua(T,x)}),$=a.limit,v=a.offset;for(let{tsKey:T,queryConfig:O,relation:U}of E){let V=qJ(i,o,U),K=Oc(U.referencedTable),y=o[K],_=`${x}_${T}`,P=Hc(...V.fields.map((Un,si)=>Ho(Oo(V.references[si],_),Oo(Un,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[y],tableConfig:i[y],queryConfig:u(U,xc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=F`${F.identifier(_)}.${F.identifier("data")}`.as(T);R.push({on:F`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:T,tsKey:T,field:$n,relationTableTsKey:y,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Cx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let A;if(M=Hc(l,M),m){let X=F`json_build_array(${F.join(f.map(({field:E,tsKey:s,isJson:z})=>z?F`${F.identifier(`${x}_${s}`)}.${F.identifier("data")}`:u(E,t.Aliased)?E.sql:E),F`, `)})`;if(u(m,Ea))X=F`coalesce(json_agg(${X}${S.length>0?F` order by ${F.join(S,F`, `)}`:void 0}), '[]'::json)`;let G=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:[{path:[],field:F.raw("*")}],where:M,limit:$,offset:v,orderBy:S,setOperators:[]}),M=void 0,$=void 0,v=void 0,S=[];else A=Ix(c,x);A=this.buildSelectQuery({table:u(A,So)?A:new fi(A,{},x),fields:{},fieldsFlat:G.map(({field:E})=>({path:[],field:u(E,_n)?Oo(E,x):E})),joins:R,where:M,limit:$,offset:v,orderBy:S,setOperators:[]})}else A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,_n)?Oo(X,x):X})),joins:R,where:M,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:A,selection:f}}}class _i{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===hn)return{...n[hn],selectedFields:new Proxy(n[hn].selectedFields,this)};if(typeof i==="symbol")return n[i];let c=(u(n,fi)?n._.selectedFields:u(n,Ui)?n[hn].selectedFields:n)[i];if(u(c,t.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;let p=c.clone();return p.isSelectionField=!0,p}if(u(c,t)){if(this.config.sqlBehavior==="sql")return c;throw new Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u(c,_n)){if(this.config.alias)return new Proxy(c,new wp(new Proxy(c.table,new Ya(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new _i(this.config))}}class t${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class Ei{static[J]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(n){if(this.fields=n.fields,this.session=n.session,this.dialect=n.dialect,n.withList)this.withList=n.withList;this.distinct=n.distinct}from(n){let i=!!this.fields,o;if(this.fields)o=this.fields;else if(u(n,fi))o=Object.fromEntries(Object.keys(n._.selectedFields).map((c)=>[c,n[c]]));else if(u(n,da))o=n[hn].selectedFields;else if(u(n,t))o={};else o=gS(n);return new k$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class TR extends t${static[J]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:n,fields:i,isPartialSelect:o,session:c,dialect:p,withList:a,distinct:x}){super();this.config={withList:a,table:n,fields:{...i},distinct:x,setOperators:[]},this.isPartialSelect=o,this.session=c,this.dialect=p,this._={selectedFields:i},this.tableName=Xf(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{let c=this.tableName,p=Xf(i);if(typeof p==="string"&&this.config.joins?.some((a)=>a.alias===p))throw new Error(`Alias "${p}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof c==="string")this.config.fields={[c]:this.config.fields};if(typeof p==="string"&&!u(i,t)){let a=u(i,fi)?i._.selectedFields:u(i,Ui)?i[hn].selectedFields:i[D.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:o,table:i,joinType:n,alias:p}),typeof p==="string")switch(n){case"left":{this.joinsNotNullableMap[p]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!0;break}case"inner":{this.joinsNotNullableMap[p]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(n,i){return(o)=>{let c=typeof o==="function"?o(PG()):o;if(!Wf(this.getSelectedFields(),c.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:n,isAll:i,rightSelect:c}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(n){return this.config.setOperators.push(...n),this}where(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=n,this}groupBy(...n){if(typeof n[0]==="function"){let i=n[0](new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=n;return this}orderBy(...n){if(typeof n[0]==="function"){let i=n[0](new Proxy(this.config.fields,new _i({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),o=Array.isArray(i)?i:[i];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=o;else this.config.orderBy=o}else{let i=n;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=i;else this.config.orderBy=i}return this}limit(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=n;else this.config.limit=n;return this}offset(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=n;else this.config.offset=n;return this}for(n,i={}){return this.config.lockingClause={strength:n,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(n){return new Proxy(new fi(this.getSQL(),this.config.fields,n),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new _i({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class k$ extends TR{static[J]="PgSelect";_prepare(n){let{session:i,config:o,dialect:c,joinsNotNullableMap:p}=this;if(!i)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return Qn.startActiveSpan("drizzle.prepareQuery",()=>{let a=di(o.fields),x=i.prepareQuery(c.sqlToQuery(this.getSQL()),a,n,!0);return x.joinsNotNullableMap=p,x})}prepare(n){return this._prepare(n)}execute=(n)=>{return Qn.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}eS(k$,[ui]);function rp(n,i){return(o,c,...p)=>{let a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!Wf(o.getSelectedFields(),x.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return o.addSetOperators(a)}}var PG=()=>({union:eG,unionAll:gG,intersect:dG,intersectAll:n9,except:i9,exceptAll:o9}),eG=rp("union",!1),gG=rp("union",!0),dG=rp("intersect",!1),n9=rp("intersect",!0),i9=rp("except",!1),o9=rp("except",!0);class r${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,kc)?n:void 0,this.dialectConfig=u(n,kc)?void 0:n}$with(n){let i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}with(...n){let i=this;function o(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),withList:n})}function c(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})}function p(a,x){return new Ei({fields:x??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:a}})}return{select:o,selectDistinct:c,selectDistinctOn:p}}select(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:n}})}getDialect(){if(!this.dialect)this.dialect=new kc(this.dialectConfig);return this.dialect}}class Z$ extends ui{constructor(n,i,o){super();this.session=i,this.dialect=o,this.config={view:n}}static[J]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return Qn.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return Qn.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}class qm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new RR(this.table,kx(this.table,n),this.session,this.dialect,this.withList)}}class RR extends ui{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={set:i,table:n,withList:p}}static[J]="PgUpdate";config;where(n){return this.config.where=n,this}returning(n=this.config.table[D.Symbol.Columns]){return this.config.returning=di(n),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)}prepare(n){return this._prepare(n)}execute=(n)=>{return this._prepare().execute(n)};$dynamic(){return this}}class nx extends t{constructor(n){super(nx.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=nx.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return F`(select count(*) from ${n}${F.raw(" where ").if(i)}${i})`}static buildCount(n,i){return F`select count(*) as count from ${n}${F.raw(" where ").if(i)}${i};`}then(n,i){return Promise.resolve(this.session.count(this.sql)).then(n,i)}catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}}class P${constructor(n,i,o,c,p,a,x){this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x}static[J]="PgRelationalQueryBuilder";findMany(n){return new q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class q$ extends ui{constructor(n,i,o,c,p,a,x,m,l){super();this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x,this.config=m,this.mode=l}static[J]="PgRelationalQuery";_prepare(n){return Qn.startActiveSpan("drizzle.prepareQuery",()=>{let{query:i,builtQuery:o}=this._toSQL();return this.session.prepareQuery(o,void 0,n,!0,(c,p)=>{let a=c.map((x)=>cm(this.schema,this.tableConfig,x,i.selection,p));if(this.mode==="first")return a[0];return a})})}prepare(n){return this._prepare(n)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let n=this._getQuery(),i=this.dialect.sqlToQuery(n.sql);return{query:n,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}execute(){return Qn.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute()})}}class e$ extends ui{constructor(n,i,o,c){super();this.execute=n,this.sql=i,this.query=o,this.mapBatchResult=c}static[J]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(n,i){return i?this.mapBatchResult(n):n}_prepare(){return this}isResponseInArrayMode(){return!1}}class ix{constructor(n,i,o){if(this.dialect=n,this.session=i,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[c,p]of Object.entries(this._.schema))this.query[c]=new P$(o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[c],p,n,i)}static[J]="PgDatabase";query;$with(n){let i=this;return{as(o){if(typeof o==="function")o=o(new r$(i.dialect));return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new nx({source:n,filters:i,session:this.session})}with(...n){let i=this;function o(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n})}function c(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:!0})}function p(l,f){return new Ei({fields:f??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:{on:l}})}function a(l){return new qm(l,i.session,i.dialect,n)}function x(l){return new Zm(l,i.session,i.dialect,n)}function m(l){return new rm(l,i.session,i.dialect,n)}return{select:o,selectDistinct:c,selectDistinctOn:p,update:a,insert:x,delete:m}}select(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect})}selectDistinct(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:n}})}update(n){return new qm(n,this.session,this.dialect)}insert(n){return new Zm(n,this.session,this.dialect)}delete(n){return new rm(n,this.session,this.dialect)}refreshMaterializedView(n){return new Z$(n,this.session,this.dialect)}execute(n){let i=typeof n==="string"?F.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new e$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}class KR{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Pm(n.map((i)=>{if(u(i,t))return i;i=i;let o=new Ga(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=JSON.parse(JSON.stringify(i.defaultConfig)),o}),this.unique,!1,this.name)}onOnly(...n){return new Pm(n.map((i)=>{if(u(i,t))return i;i=i;let o=new Ga(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Pm(i.map((o)=>{if(u(o,t))return o;o=o;let c=new Ga(o.name,!!o.keyAsName,o.columnType,o.indexConfig);return o.indexConfig=JSON.parse(JSON.stringify(o.defaultConfig)),c}),this.unique,!0,this.name,n)}}class Pm{static[J]="PgIndexBuilder";config;constructor(n,i,o,c,p="btree"){this.config={name:c,columns:n,unique:i,only:o,method:p}}concurrently(){return this.config.concurrently=!0,this}with(n){return this.config.with=n,this}where(n){return this.config.where=n,this}build(n){return new WR(this.config,n)}}class WR{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}function g$(n){return new KR(!0,n)}class d${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class nv{constructor(n){this.dialect=n}static[J]="PgSession";execute(n){return Qn.startActiveSpan("drizzle.operation",()=>{return Qn.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1)}).execute()})}all(n){return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1).all()}async count(n){let i=await this.execute(n);return Number(i[0].count)}}class iv extends ix{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Tf}getTransactionConfigSQL(n){let i=[];if(n.isolationLevel)i.push(`isolation level ${n.isolationLevel}`);if(n.accessMode)i.push(n.accessMode);if(typeof n.deferrable==="boolean")i.push(n.deferrable?"deferrable":"not deferrable");return F.raw(i.join(" "))}setTransaction(n){return this.session.execute(F`set transaction ${this.getTransactionConfigSQL(n)}`)}}class XR extends d${constructor(n,i,o,c,p,a,x){super({sql:i,params:o});this.client=n,this.queryString=i,this.params=o,this.logger=c,this.fields=p,this._isResponseInArrayMode=a,this.customResultMapper=x}static[J]="PostgresJsPreparedQuery";async execute(n={}){return Qn.startActiveSpan("drizzle.execute",async(i)=>{let o=Af(this.params,n);i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o);let{fields:c,queryString:p,client:a,joinsNotNullableMap:x,customResultMapper:m}=this;if(!c&&!m)return Qn.startActiveSpan("drizzle.driver.execute",()=>{return a.unsafe(p,o)});let l=await Qn.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":p,"drizzle.query.params":JSON.stringify(o)}),a.unsafe(p,o).values()});return Qn.startActiveSpan("drizzle.mapResponse",()=>{return m?m(l):l.map((f)=>PS(c,f,x))})})}all(n={}){return Qn.startActiveSpan("drizzle.execute",async(i)=>{let o=Af(this.params,n);return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o),Qn.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.client.unsafe(this.queryString,o)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class ox extends nv{constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Kf}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new XR(this.client,n.sql,n.params,this.logger,i,c,p)}query(n,i){return this.logger.logQuery(n,i),this.client.unsafe(n,i).values()}queryObjects(n,i){return this.client.unsafe(n,i)}transaction(n,i){return this.client.begin(async(o)=>{let c=new ox(o,this.dialect,this.schema,this.options),p=new ov(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class ov extends iv{constructor(n,i,o,c=0){super(n,i,o,c);this.session=i}static[J]="PostgresJsTransaction";transaction(n){return this.session.client.savepoint((i)=>{let o=new ox(i,this.dialect,this.schema,this.session.options),c=new ov(this.dialect,o,this.schema);return n(c)})}}class GR extends ix{static[J]="PostgresJsDatabase"}function Zp(n,i={}){let o=(l)=>l;for(let l of["1184","1082","1083","1114"])n.options.parsers[l]=o,n.options.serializers[l]=o;n.options.serializers["114"]=o,n.options.serializers["3802"]=o;let c=new kc({casing:i.casing}),p;if(i.logger===!0)p=new Rf;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){let l=ZJ(i.schema,PJ);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}let x=new ox(n,c,a,{logger:p}),m=new GR(c,x,a);return m.$client=n,m}function em(...n){if(typeof n[0]==="function")return Zp(n[0],n[1]);if(typeof n[0]==="object"){let{connection:o,client:c,...p}=n[0];if(c)return Zp(c,p);if(typeof o==="object"&&o.url!==void 0){let{url:x,...m}=o,l=kp(x,m);return Zp(l,p)}let a=kp(o);return Zp(a,p)}let i=kp(n[0]);return Zp(i,n[1])}((n)=>{function i(o){return Zp({},o)}n.mock=i})(em||(em={}));var pv={};y4(pv,{users:()=>Xo,userChanges:()=>p9,untrackedUserColumnNames:()=>c9,twoFactorMethod:()=>OR,trackedUserColumnName:()=>uR,trackableUserColumnNames:()=>YR,role:()=>zR,players:()=>cv,passwordResetAttempts:()=>a9,loginHistory:()=>qp,games:()=>gm,banishedIps:()=>dm});var zR=Bx("role",["admin","user"]),Xo=ac("users",{id:yi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:wo({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Oa().notNull().default(!1),verifiedAt:wo({withTimezone:!0}),userRole:zR().default("user")},(n)=>({usersUsernameUnique:g$().on(n.username),usersEmailUnique:g$().on(n.email)})),c9=["id","createdAt","createdIp","isActive","salt","verifiedAt"],YR=["username","email","hash","userRole"],uR=Bx("trackedUserColumnName",YR),p9=ac("userChanges",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),changedAt:wo({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:uR().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),gm=ac("games",{id:yi("id").primaryKey().defaultRandom()}),cv=ac("players",{userId:yi().notNull().references(()=>Xo.id),gameId:yi().notNull().references(()=>gm.id),score:qx().notNull()},(n)=>({pk:IJ({columns:[n.userId,n.gameId]})})),qp=ac("loginHistory",{id:yi().primaryKey().defaultRandom(),userId:yi().references(()=>Xo.id),loginTime:wo({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Oa().notNull().default(!1)}),OR=Bx("twoFactorMethod",["email","phone"]),a9=ac("passwordResetAttempts",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),requestedIp:$i({length:45}).notNull(),requestedAt:wo({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:wo({withTimezone:!0}),verificationMethod:OR().notNull()}),dm=ac("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:wo({withTimezone:!0}).notNull().defaultNow(),banishedUntil:wo({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class av{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(x9.resolve(__dirname,"notify_update.sql"));let n=[gi(Xo),gi(gm),gi(cv)];await this.sql`SELECT create_notify_triggers(${this.sql.array(n)})`,await this.sql.listen("table_update",(i)=>{let o=i.split(","),c=o[0],p=o[1],a=`${c}("${p}")`;if(this.observers.has(a))this.observers.get(a).next(a)})}constructor(n={host:pi.POSTGRES_HOST,port:pi.POSTGRES_PORT,user:pi.POSTGRES_USER,password:pi.POSTGRES_PASSWORD,database:pi.POSTGRES_DATABASE}){this.options=n,this.sql=kp(n),this.drizzle=em(this.sql,{schema:pv})}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as m9}from"crypto";function xv(n){let i=m9("sha256").update(n).digest("hex");return`${i.substring(0,8)}-${i.substring(8,12)}-${i.substring(12,16)}-${i.substring(16,20)}-${i.substring(20,32)}`}var HR=["123","321","abc","admin","adobe","alexander","amanda","andrea","andrew","angel","apple","asdf","ashley","baby","banana","baseball","batman","bear","biteme","blazer","blonde","boston","buster","butterfly","cameron","charlie","cheese","chelsea","chicken","chocolate","chris","compaq","computer","cookie","corvette","cowboys","dakota","dallas","daniel","david","diamond","dolphin","donald","dragon","eagle","flower","football","frank","freedom","friend","gateway","george","ginger","god","golf","hannah","hardcore","harley","heather","hello","hottie","hunter","internet","jasmine","jennifer","jessica","jesus","johnny","jordan","joshua","justin","justme","killer","knight","lakers","letmein","liverpool","login","london","love","lucky","mackenzie","maggie","master","matrix","matthew","maverick","melissa","mercedes","michael","michelle","mickey","miller","money","monkey","morgan","mother","muffin","mustang","natasha","nathan","nicole","ninja","orange","pass","password","patrick","peanut","pepper","phoenix","photoshop","pokemon","princess","purple","qazwsx","qwerty","rainbow","ranger","root","samantha","samsung","scooter","secret","shadow","simpson","smile","soccer","sparkle","starwars","summer","sunflower","sunshine","superman","taylor","temp","test","thomas","tigers","tigger","tinkerbell","trust","turtle","victoria","welcome","whatever","william","winter","yellow","zaq12wsx","zxcvbn"];var l9=3,f9=15,$9=/^[a-zA-Z0-9_-]+$/,UR=Hn.string().min(l9).max(f9).regex($9),ER=20,QR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"};function v9(n){let i="";for(let o of n)if(o in QR)i+=QR[o];else i+=o;return i}function w9(n){let i=n.toLocaleLowerCase(),o=v9(i);for(let c of HR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function S9(n){let i=new Set(n).size;return n.length*Math.log2(i)}function J9(n){let i=0,o=100;if(w9(n))i-=o;return i+=S9(n)*0.5,Math.max(i,0)}var VR=Hn.string().refine((n)=>{return J9(n)>=ER},{message:`Password does not meet the minimum complexity of ${ER}.`}).brand("password"),bR=Hn.object({username:UR,password:VR}).strict(),F9=Hn.string().email().brand("email"),_R=Hn.object({username:UR,password:VR,email:F9}).strict();var nl={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},mv=Kv(nl).map(([n])=>Hn.literal(Number(n))),A9=Hn.union([mv[0],mv[1],...mv]),sR=Hn.tuple([A9,Hn.string()]);var jR=Zo({key:"count",default:0}),M9=Tc({key:"incrementTX",do:({set:n})=>{n(jR,(i)=>i+1)}}),NR=p0({key:"countContinuity",config:(n)=>n.add(jR).add(M9)});var yR=Y$(Dc,"backend.worker.game.bun",Xn),rc=new av,lh=(()=>{let{__tribunalDaily:n}=globalThis;if(!n)n=new DR.CronJob("00 15 * * * *",()=>{Y$(Dc,"backend.worker.tribunal.bun",Xn)}),n.start(),process.on("exit",()=>{n.stop(),Xn.info("\u231B tribunal daily cronjob stopped")}),Xn.info("\u23F3 tribunal daily cronjob started");return n})(),hR=BR.createServer((n,i)=>{let o;n.on("data",(c)=>(o??=[]).push(c)).on("end",async()=>{let c=n.headers.authorization;try{if(typeof n.url==="undefined")throw[400,"No URL"];let p=n.socket.remoteAddress;if(!p)throw[400,"No IP address"];let a=new Date,x=new URL(n.url,pi.VITE_BACKEND_ORIGIN);Xn.info(a,p,n.method,x.pathname);let m=await rc.drizzle.query.banishedIps.findFirst({columns:{banishedUntil:!0},where:Ho(dm.ip,p)}),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){Xn.info(`\uD83D\uDE45 request from banned ip ${p}`);return}switch(n.method){case"POST":if(!o)throw[400,"No data received"];switch(x.pathname){case`/signup-${xv("signup")}`:{let $=Buffer.concat(o).toString(),v=JSON.parse($);Xn.info("signup json",v);let S=_R.safeParse(v);if(!S.success){Xn.warn("signup parsed",S.error.issues);return}let{username:M,password:R,email:A}=S.data;if(await rc.drizzle.query.users.findFirst({columns:{id:!0},where:Ho(Xo.email,A)}))throw[400,"User already exists"];let G=crypto.randomUUID(),Y=LR("sha256").update(R+G).digest("hex");await rc.drizzle.insert(Xo).values({username:M,email:A,hash:Y,salt:G,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(nl[201])}break;case`/login-${xv("login")}`:{let $=!1,v=null;try{let S=new Date(+a-600000);Xn.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});let M=await rc.drizzle.query.loginHistory.findMany({columns:{userId:!0,successful:!0},where:Hc(Ho(qp.ipAddress,p),Ho(qp.successful,!1),tx(qp.loginTime,S)),limit:10});Xn.info(`\uD83D\uDD11 ${M.length}/10 recent failed logins from ${p}`);let R=10-M.length;if(R<1)throw Xn.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(dm).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];let A=Buffer.concat(o).toString(),X=JSON.parse(A),G=bR.safeParse(X);if(!G.success)throw Xn.warn("login parsed",G.error.issues),[400,`${R} attempts remaining.`];let{username:Y,password:E}=G.data,s=await rc.drizzle.query.users.findFirst({columns:{id:!0,hash:!0,salt:!0},where:Ho(Xo.username,Y)});if(Xn.info("\uD83D\uDD11 login attempt as user",Y),!s)throw Xn.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];let{hash:z,salt:T}=s;if(v=s.id,LR("sha256").update(E+T).digest("hex")===z){let U=crypto.randomUUID(),V=sm.get(Y);if(!V)V=new Map,sm.set(Y,V);V.set(U,Number(a)),$=!0,Xn.info("\uD83D\uDD11 login successful as",Y),i.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(`${Y} ${U}`)}}finally{await rc.drizzle.insert(qp).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),Xn.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){let a=sR.safeParse(p);if(a.success){let[x,m]=a.data,f=`${nl[x]}. ${m}`;Xn.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else Xn.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),lv=hR.listen(pi.BACKEND_PORT).address(),T9=typeof lv==="string"?null:lv===null?null:lv.port;if(T9===null)throw new Error("Could not determine port for test server");new jT(hR,{cors:{origin:pi.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{let{username:o,sessionKey:c}=n.handshake.auth;if(!(o&&c)){i(new Error("No auth header provided"));return}if(sm.get(o)?.has(c)){let a=An(on.STORE,wa,n.id);zn(on.STORE,a,n),Rc(Kc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Ql,(x)=>x.add(o)),zn(on.STORE,El,(x)=>x.add(n.id)),Xn.info(`${o} connected on ${n.id}`),i()}else Xn.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{let o=m0({socket:n,store:on.STORE})(NR);n.on("disconnect",()=>{let c=np(Kc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Rc(Kc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Ql,(a)=>(a.delete(p),a));zn(on.STORE,El,(a)=>(a.delete(n.id),a)),li(on.STORE,wa,n.id),Xn.info(`${n.id} disconnected`),o()})});Dc.emit("alive");Dc.on("updatesReady",()=>{Dc.emit("readyToUpdate")});async function fv(){Xn.info("\uD83E\uDDF9 dispatching SIGINT to workers"),yR.process.kill("SIGINT"),await new Promise((n)=>yR.process.once("exit",n)),Xn.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}process.on("SIGINT",async()=>{Xn.info("\u2757 received SIGINT; exiting gracefully"),await fv()});process.on("SIGTERM",async()=>{Xn.info("\u2757 received SIGTERM; exiting gracefully"),await fv()});process.on("exit",async()=>{Xn.info("\u2757 received exit; exiting gracefully"),await fv()});Xn.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);export{lh as tribunalDaily};
|