tempest.games 0.1.1 → 0.1.2
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/__scripts__/destroy-db.bun.ts +29 -0
- package/__scripts__/setup-db.bun.ts +57 -0
- package/__scripts__/setup.vitest.ts +5 -0
- package/app/assets/{index-CpJSDdLN.js → index-nXv7ua_C.js} +9 -9
- package/app/index.html +1 -1
- package/app/robots.txt +2 -0
- package/bin/backend.bun.js +19 -19
- package/bin/frontend.bun.js +10 -10
- package/package.json +9 -5
package/bin/backend.bun.js
CHANGED
|
@@ -1,56 +1,50 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var H4=Object.create;var{getPrototypeOf:E4,defineProperty:vv,getOwnPropertyNames:Q4}=Object;var U4=Object.prototype.hasOwnProperty;var wv=(n,i,o)=>{o=n!=null?H4(E4(n)):{};const c=i||!n||!n.__esModule?vv(o,"default",{value:n,enumerable:!0}):o;for(let p of Q4(n))if(!U4.call(c,p))vv(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var tS=I((Bj,Cl)=>{function q4(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=P4(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function P4(n,i){var o=Z4.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 e4(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=g4(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function g4(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 IS(n,i){var o=q4(n===void 0?"*":n||"");if(!i)return o.filter(DS).sort(hS).map(d4);var c=i.map(function p(a,x){return e4(a,o,x)});return c.filter(DS).sort(hS).map(function p(a){return i[c.indexOf(a)]})}function hS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function d4(n){return n.charset}function DS(n){return n.q>0}Cl.exports=IS;Cl.exports.preferredCharsets=IS;var Z4=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var qS=I((yj,kl)=>{function i8(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=o8(i[p].trim(),p);if(x)i[a++]=x,o=o||rS("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 o8(n,i){var o=n8.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 c8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=rS(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function rS(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 ZS(n,i){var o=i8(n||"");if(!i)return o.filter(kS).sort(CS).map(p8);var c=i.map(function p(a,x){return c8(a,o,x)});return c.filter(kS).sort(CS).map(function p(a){return i[c.indexOf(a)]})}function CS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function p8(n){return n.encoding}function kS(n){return n.q>0}kl.exports=ZS;kl.exports.preferredEncodings=ZS;var n8=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var n1=I((hj,rl)=>{function x8(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=gS(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function gS(n,i){var o=a8.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 m8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=l8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function l8(n,i,o){var c=gS(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 dS(n,i){var o=x8(n===void 0?"*":n||"");if(!i)return o.filter(eS).sort(PS).map(f8);var c=i.map(function p(a,x){return m8(a,o,x)});return c.filter(eS).sort(PS).map(function p(a){return i[c.indexOf(a)]})}function PS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function f8(n){return n.full}function eS(n){return n.q>0}rl.exports=dS;rl.exports.preferredLanguages=dS;var a8=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var x1=I((Dj,Zl)=>{function v8(n){var i=F8(n);for(var o=0,c=0;o<i.length;o++){var p=c1(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function c1(n,i){var o=$8.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=T8(o[3]).map(A8);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 w8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=S8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function S8(n,i,o){var c=c1(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 p1(n,i){var o=v8(n===void 0?"*/*":n||"");if(!i)return o.filter(o1).sort(i1).map(J8);var c=i.map(function p(a,x){return w8(a,o,x)});return c.filter(o1).sort(i1).map(function p(a){return i[c.indexOf(a)]})}function i1(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function J8(n){return n.type+"/"+n.subtype}function o1(n){return n.q>0}function a1(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function A8(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 F8(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(a1(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function T8(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(a1(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}Zl.exports=p1;Zl.exports.preferredMediaTypes=p1;var $8=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var m1=I((Ij,ql)=>{function Gn(n){if(!(this instanceof Gn))return new Gn(n);this.request=n}/*!
|
|
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 Ma.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=Ta(f,i,o);else if(l>Ta(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...sx(n)}}function M0(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,Ta(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 T8(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 M8(n,i){return n-i*Math.floor(n/i)}function gn(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=M8(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 Ta(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 Tw(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 Mw(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)]=Mw(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}${gn(o,2)}:${gn(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${gn(o,2)}${gn(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function sx(n){return T8(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=(T,R=!1)=>T!==void 0&&(R||T&&$)?-T:T;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 T;if(l)T=I8[l];else if(f)T=0;else T=_x($,v);return[S,new Ai(T)]}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 Tn(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 TK(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function MK(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(Tn.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 $=Tn.fromObject(a,c);if(f.length>0)return Tn.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}"),T=(X)=>({regex:RegExp(uK(X.val)),deser:([G])=>G,literal:!0}),A=((X)=>{if(n.literal)return T(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 T(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,T]=$?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:T}}}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=Tn.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+=gn(n.c.year,o?6:4),i)c+="-",c+=gn(n.c.month),c+="-",c+=gn(n.c.day);else c+=gn(n.c.month),c+=gn(n.c.day);return c}function b0(n,i,o,c,p,a){let x=gn(n.c.hour);if(i){if(x+=":",x+=gn(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=gn(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=gn(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=gn(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=gn(Math.trunc(-n.o/60)),x+=":",x+=gn(Math.trunc(-n.o%60));else x+="+",x+=gn(Math.trunc(n.o/60)),x+=":",x+=gn(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 Ma extends uc{static get instance(){if(Ul===null)Ul=new Ma;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 Tw(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 Tw(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 T=S%1000;return S-=T>=0?T:1000+T,(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 gn(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,T0=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,Ma.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 T0}static set defaultWeekSettings(n){T0=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 gn(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,T)=>this.loc.extract(n,S,T),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,T)=>o?O8(n,S):p(T?{month:S}:{month:S,day:"numeric"},"month"),l=(S,T)=>o?u8(n,S):p(T?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const T=Fi.macroTokenToFormatOpts(S);if(T)return this.formatWithSystemDefault(n,T);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 Tn{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 Tn.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 Tn({values:Ux(n,Tn.normalizeUnit),loc:Yn.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(Yc(n))return Tn.fromMillis(n);else if(Tn.isDuration(n))return n;else if(typeof n==="object")return Tn.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 Tn.fromObject(o,i);else return Tn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){const[o]=fK(n);if(o)return Tn.fromObject(o,i);else return Tn.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 Tn({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=Tn.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=Tn.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]=Mw(n(this.values[o],o));return go(this,{values:i},!0)}get(n){return this[Tn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...Ux(n,Tn.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=TK(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)=>Tn.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=MK(o,c);if(p==null)return new Bn({start:o,end:c});else return p}static after(n,i){const o=Tn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Tn.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=Tn.fromISO(c,i);if(l.isValid)return Bn.after(p,l)}else if(m){const l=Tn.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=Tn.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 Tn.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,T=p.weekYear||p.weekNumber;if((S||f)&&T)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=T||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?M0(p,a,x):f?R0(p):p,[M,O]=Ox(z,l,o),U=new xn({ts:M,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?Ta(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ta(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)$=M0({...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=Tn.fromDurationLike(n);return Xc(this,V0(this,i))}minus(n){if(!this.isValid)return this;const i=Tn.fromDurationLike(n).negate();return Xc(this,V0(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;const o={},c=Tn.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 Tn.invalid("created by diffing an invalid DateTime");const c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=A8(i).map(Tn.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=Tn;hw.FixedOffsetZone=Ai;hw.IANAZone=Yo;hw.Info=pp;hw.Interval=Bn;hw.InvalidZone=kl;hw.Settings=Dn;hw.SystemZone=Ma;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(),Ti=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 Ti.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!uo.DateTime.fromObject({},{zone:i}).isValid)throw new Ti.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 Ti.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(uo.DateTime.local()>i)throw new Ti.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 Ti.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 Ti.CronError(`Something went wrong. No execution date was found in the next 8 years.
|
|
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 Ti.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 Ti.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 Ti.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<ai.TIME_UNITS_LEN-1)throw new Ti.CronError("Too few fields");if(o.length>ai.TIME_UNITS_LEN)throw new Ti.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 Ti.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,T]=$;let R=parseInt(v,10),A=S!==void 0?parseInt(S,10):void 0;const X=T!==void 0,G=parseInt(T!==null&&T!==void 0?T:"1",10);if(G===0)throw new Ti.CronError(`Field (${i}) has a step of zero`);if(A!==void 0&&R>A)throw new Ti.CronError(`Field (${i}) has an invalid range`);if(R<a||A!==void 0&&A>x||A===void 0&&R>x)throw new Ti.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 Ti.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((iN,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((oN,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((cN,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((pN,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 TF=I((aN,Qf)=>{function un(n){if(!(this instanceof un))return new un(n);this.request=n}/*!
|
|
4
6
|
* negotiator
|
|
5
7
|
* Copyright(c) 2012 Federico Romero
|
|
6
8
|
* Copyright(c) 2012-2014 Isaac Z. Schlueter
|
|
7
9
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
8
10
|
* MIT Licensed
|
|
9
|
-
*/var M8=tS(),R8=qS(),K8=n1(),W8=x1();ql.exports=Gn;ql.exports.Negotiator=Gn;Gn.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Gn.prototype.charsets=function n(i){return M8(this.request.headers["accept-charset"],i)};Gn.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Gn.prototype.encodings=function n(i){return R8(this.request.headers["accept-encoding"],i)};Gn.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Gn.prototype.languages=function n(i){return K8(this.request.headers["accept-language"],i)};Gn.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Gn.prototype.mediaTypes=function n(i){return W8(this.request.headers.accept,i)};Gn.prototype.preferredCharset=Gn.prototype.charset;Gn.prototype.preferredCharsets=Gn.prototype.charsets;Gn.prototype.preferredEncoding=Gn.prototype.encoding;Gn.prototype.preferredEncodings=Gn.prototype.encodings;Gn.prototype.preferredLanguage=Gn.prototype.language;Gn.prototype.preferredLanguages=Gn.prototype.languages;Gn.prototype.preferredMediaType=Gn.prototype.mediaType;Gn.prototype.preferredMediaTypes=Gn.prototype.mediaTypes});var l1=I((tj,X8)=>{X8.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 $1=I((Cj,f1)=>{/*!
|
|
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 MF=I((xN,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((mN,RF)=>{/*!
|
|
10
12
|
* mime-db
|
|
11
13
|
* Copyright(c) 2014 Jonathan Ong
|
|
12
14
|
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
13
15
|
* MIT Licensed
|
|
14
|
-
*/
|
|
16
|
+
*/RF.exports=MF()});var YF=I((iW)=>{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}})}/*!
|
|
15
17
|
* mime-types
|
|
16
18
|
* Copyright(c) 2014 Jonathan Ong
|
|
17
19
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
18
20
|
* MIT Licensed
|
|
19
|
-
*/var
|
|
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)});var am=I((fN,uF)=>{function Bi(n){if(!(this instanceof Bi))return new Bi(n);this.headers=n.headers,this.negotiator=new aW(n)}function mW(n){return n.indexOf("/")===-1?xW.lookup(n):n}function lW(n){return typeof n==="string"}/*!
|
|
20
22
|
* accepts
|
|
21
23
|
* Copyright(c) 2014 Jonathan Ong
|
|
22
24
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
23
25
|
* MIT Licensed
|
|
24
|
-
*/var
|
|
26
|
+
*/var aW=TF(),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)=>{/*!
|
|
25
27
|
* base64id v0.1.0
|
|
26
|
-
*/var Ma=import.meta.require("crypto"),gl=function(){};gl.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ma.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Ma.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,Ma.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ma.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};gl.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),Ma.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,"-")};T1=M1.exports=new gl});var yx=I((K1)=>{Object.defineProperty(K1,"__esModule",{value:!0});K1.ERROR_PACKET=K1.PACKET_TYPES_REVERSE=K1.PACKET_TYPES=void 0;var Oo=Object.create(null);K1.PACKET_TYPES=Oo;Oo.open="0";Oo.close="1";Oo.ping="2";Oo.pong="3";Oo.message="4";Oo.upgrade="5";Oo.noop="6";var R1=Object.create(null);K1.PACKET_TYPES_REVERSE=R1;Object.keys(Oo).forEach((n)=>{R1[Oo[n]]=n});var N8={type:"error",data:"parser error"};K1.ERROR_PACKET=N8});var G1=I((z1)=>{function D8(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(X1(n.data,!1));z1.encodePacket(n,!0,(o)=>{if(!nf)nf=new TextEncoder;i(nf.encode(o))})}Object.defineProperty(z1,"__esModule",{value:!0});z1.encodePacket=void 0;z1.encodePacketToBinary=D8;var y8=yx(),h8=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+X1(i,!0).toString("base64"));return c(y8.PACKET_TYPES[n]+(i||""))};z1.encodePacket=h8;var X1=(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)},nf});var H1=I((u1)=>{Object.defineProperty(u1,"__esModule",{value:!0});u1.decodePacket=void 0;var hx=yx(),t8=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Y1(n,i)};const o=n.charAt(0);if(o==="b"){const c=Buffer.from(n.substring(1),"base64");return{type:"message",data:Y1(c,i)}}if(!hx.PACKET_TYPES_REVERSE[o])return hx.ERROR_PACKET;return n.length>1?{type:hx.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:hx.PACKET_TYPES_REVERSE[o]}};u1.decodePacket=t8;var Y1=(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 Ra=I((tx)=>{function r8(){return new TransformStream({transform(n,i){pf.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 Dx(n){return n.reduce((i,o)=>i+o.length,0)}function Ix(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 Z8(n,i){if(!cf)cf=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(Dx(o)<1)break;const l=Ix(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(Dx(o)<2)break;const l=Ix(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(Dx(o)<8)break;const l=Ix(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(E1.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(Dx(o)<p)break;const l=Ix(o,p);m.enqueue(af.decodePacket(a?l:cf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(E1.ERROR_PACKET);break}}}})}Object.defineProperty(tx,"__esModule",{value:!0});tx.decodePayload=tx.decodePacket=tx.encodePayload=tx.encodePacket=tx.protocol=void 0;tx.createPacketEncoderStream=r8;tx.createPacketDecoderStream=Z8;var pf=G1();Object.defineProperty(tx,"encodePacket",{enumerable:!0,get:function(){return pf.encodePacket}});var af=H1();Object.defineProperty(tx,"decodePacket",{enumerable:!0,get:function(){return af.decodePacket}});var E1=yx(),Q1=String.fromCharCode(30),C8=(n,i)=>{const o=n.length,c=new Array(o);let p=0;n.forEach((a,x)=>{pf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(Q1))})})};tx.encodePayload=C8;var k8=(n,i)=>{const o=n.split(Q1),c=[];for(let p=0;p<o.length;p++){const a=af.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};tx.decodePayload=k8;var cf;tx.protocol=4});var s1=I((nN,_1)=>{function V1(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 d8(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=cc(c>>>10&1023|55296),c=56320|c&1023;p+=cc(c)}return p}function b1(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 xf(n,i){return cc(n>>i&63|128)}function nK(n,i){if((n&4294967168)==0)return cc(n);var o="";if((n&4294965248)==0)o=cc(n>>6&31|192);else if((n&4294901760)==0){if(!b1(n,i))n=65533;o=cc(n>>12&15|224),o+=xf(n,6)}else if((n&4292870144)==0)o=cc(n>>18&7|240),o+=xf(n,12),o+=xf(n,6);return o+=cc(n&63|128),o}function iK(n,i){i=i||{};var o=i.strict!==!1,c=V1(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=nK(x,o);return m}function cp(){if(pc>=kx)throw Error("Invalid byte index");var n=Cx[pc]&255;if(pc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function oK(n){var i,o,c,p,a;if(pc>kx)throw Error("Invalid byte index");if(pc==kx)return!1;if(i=Cx[pc]&255,pc++,(i&128)==0)return i;if((i&224)==192)if(o=cp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=cp(),c=cp(),a=(i&15)<<12|o<<6|c,a>=2048)return b1(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=cp(),c=cp(),p=cp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}function cK(n,i){i=i||{};var o=i.strict!==!1;Cx=V1(n),kx=Cx.length,pc=0;var c=[],p;while((p=oK(o))!==!1)c.push(p);return d8(c)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var cc=String.fromCharCode,Cx,kx,pc;_1.exports={version:"2.1.2",encode:iK,decode:cK}});var t1=I((I1)=>{function mf(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 j1(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return j1({type:n.type,data:ff(n.data)},i,c);var p=I1.packets[n.type];if(n.data!==void 0)p+=o?N1.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function j1(n,i,o){if(!i)return L1(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=I1.packets[n.type],o(Buffer.concat([p,c]))}function L1(n,i){var o=Buffer.isBuffer(n.data)?n.data:ff(n.data),c="b"+I1.packets[n.type];return c+=o.toString("base64"),i(c)}function lf(n,i,o){if(n===void 0)return wo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return B1(n.slice(1),i);if(o){if(n=xK(n),n===!1)return wo}if(Number(c)!=c||!pp[c])return wo;if(n.length>1)return{type:pp[c],data:n.slice(1)};else return{type:pp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:pp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ff(n);return c=n[0],{type:pp[c],data:n.slice(1)}}function xK(n){try{n=N1.decode(n,{strict:!1})}catch(i){return!1}return n}function B1(n,i){var o=pp[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 mK(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&pK(n))return h1(n,o);if(!n.length)return o("0:");function c(p,a){mf(p,i,!1,function(x){a(null,lK(x))})}y1(n,c,function(p,a){return o(a.join(""))})}function lK(n){return n.length+":"+n}function y1(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 fK(n,i,o){if(typeof n!=="string")return D1(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(wo,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(wo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(wo,0,1);if(a.length){if(x=lf(a,i,!1),wo.type===x.type&&wo.data===x.data)return o(wo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(wo,0,1)}function $K(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function vK(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 ff(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function h1(n,i){if(!n.length)return i(aK);y1(n,wK,function(o,c){return i(Buffer.concat(c))})}function wK(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,vK(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]))}mf(n,!0,!0,o)}function D1(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(wo,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=$K(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(lf(v,i,!0),a,$)}}Object.defineProperty(I1,"__esModule",{value:!0});I1.packets=I1.protocol=void 0;I1.encodePacket=mf;I1.encodeBase64Packet=L1;I1.decodePacket=lf;I1.decodeBase64Packet=B1;I1.encodePayload=mK;I1.decodePayload=fK;I1.encodePayloadAsBinary=h1;I1.decodePayloadAsBinary=D1;var N1=s1();I1.protocol=3;var pK=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};I1.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var pp=Object.keys(I1.packets),wo={type:"error",data:"parser error"},aK=Buffer.concat([])});var k1=I((oN,C1)=>{function GK(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*zK;case"weeks":case"week":case"w":return o*XK;case"days":case"day":case"d":return o*Gc;case"hours":case"hour":case"hrs":case"hr":case"h":return o*lp;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*xp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function YK(n){var i=Math.abs(n);if(i>=Gc)return Math.round(n/Gc)+"d";if(i>=lp)return Math.round(n/lp)+"h";if(i>=mp)return Math.round(n/mp)+"m";if(i>=xp)return Math.round(n/xp)+"s";return n+"ms"}function uK(n){var i=Math.abs(n);if(i>=Gc)return rx(n,i,Gc,"day");if(i>=lp)return rx(n,i,lp,"hour");if(i>=mp)return rx(n,i,mp,"minute");if(i>=xp)return rx(n,i,xp,"second");return n+" ms"}function rx(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}var xp=1000,mp=xp*60,lp=mp*60,Gc=lp*24,XK=Gc*7,zK=Gc*365.25;C1.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return GK(n);else if(o==="number"&&isFinite(n))return i.long?uK(n):YK(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var $f=I((cN,r1)=>{function OK(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=k1(),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,T,R;function F(...X){if(!F.enabled)return;const z=F,Y=Number(new Date),E=Y-(v||Y);if(z.diff=E,z.prev=v,z.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,(M,O)=>{if(M==="%%")return"%";s++;const U=o.formatters[O];if(typeof U==="function"){const V=X[s];M=U.call(z,V),X.splice(s,1),s--}return M}),o.formatArgs.call(z,X),(z.log||o.log).apply(z,X)}if(F.namespace=$,F.useColors=o.useColors(),F.color=o.selectColor($),F.extend=c,F.destroy=o.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(T!==o.namespaces)T=o.namespaces,R=o.enabled($);return R},set:(X)=>{S=X}}),typeof o.init==="function")o.init(F);return F}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,]+/),T=S.length;for(v=0;v<T;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}r1.exports=OK});var q1=I((Z1,qx)=>{function HK(){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 EK(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+qx.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 QK(n){try{if(n)Z1.storage.setItem("debug",n);else Z1.storage.removeItem("debug")}catch(i){}}function UK(){let n;try{n=Z1.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function VK(){try{return localStorage}catch(n){}}Z1.formatArgs=EK;Z1.save=QK;Z1.load=UK;Z1.useColors=HK;Z1.storage=VK();Z1.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`.")}})();Z1.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"];Z1.log=console.debug||console.log||(()=>{});qx.exports=$f()(Z1);var{formatters:bK}=qx.exports;bK.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var e1=I((aN,P1)=>{P1.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 d1=I((xN,g1)=>{function DK(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function IK(n){if(fp===!1)return 0;if(So("color=16m")||So("color=full")||So("color=truecolor"))return 3;if(So("color=256"))return 2;if(n&&!n.isTTY&&fp!==!0)return 0;const i=fp?1:0;if(process.platform==="win32"){const o=hK.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 Ai){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Ai))||Ai.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ai.TEAMCITY_VERSION)?1:0;if(Ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ai){const o=parseInt((Ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ai.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ai.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ai.TERM))return 1;if("COLORTERM"in Ai)return 1;if(Ai.TERM==="dumb")return i;return i}function vf(n){const i=IK(n);return DK(i)}var hK=import.meta.require("os"),So=e1(),Ai=process.env,fp;if(So("no-color")||So("no-colors")||So("color=false"))fp=!1;else if(So("color")||So("colors")||So("color=true")||So("color=always"))fp=!0;if("FORCE_COLOR"in Ai)fp=Ai.FORCE_COLOR.length===0||parseInt(Ai.FORCE_COLOR,10)!==0;g1.exports={supportsColor:vf,stdout:vf(process.stdout),stderr:vf(process.stderr)}});var cJ=I((iJ,ex)=>{function CK(){return"colors"in iJ.inspectOpts?Boolean(iJ.inspectOpts.colors):tK.isatty(process.stderr.fd)}function kK(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+"+ex.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=rK()+i+" "+n[0]}function rK(){if(iJ.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function ZK(...n){return process.stderr.write(Px.formatWithOptions(iJ.inspectOpts,...n)+"\n")}function qK(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function PK(){return process.env.DEBUG}function eK(n){n.inspectOpts={};const i=Object.keys(iJ.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=iJ.inspectOpts[i[o]]}var tK=import.meta.require("tty"),Px=import.meta.require("util");iJ.init=eK;iJ.log=ZK;iJ.formatArgs=kK;iJ.save=qK;iJ.load=PK;iJ.useColors=CK;iJ.destroy=Px.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");iJ.colors=[6,2,3,4,5,1];try{const n=d1();if(n&&(n.stderr||n).level>=2)iJ.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){}iJ.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},{});ex.exports=$f()(iJ);var{formatters:nJ}=ex.exports;nJ.o=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};nJ.O=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts)}});var ai=I((lN,wf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)wf.exports=q1();else wf.exports=cJ()});var uc=I((xJ)=>{function f6(){}Object.defineProperty(xJ,"__esModule",{value:!0});xJ.Transport=void 0;var a6=import.meta.require("events"),x6=Ra(),m6=t1(),l6=ai(),pJ=l6.default("engine:transport");class aJ extends a6.EventEmitter{get readyState(){return this._readyState}set readyState(n){pJ("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?x6:m6,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||f6)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else pJ("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")}}xJ.Transport=aJ});var Sf=I(($J)=>{Object.defineProperty($J,"__esModule",{value:!0});$J.Polling=void 0;var $6=uc(),lJ=import.meta.require("zlib"),v6=Bx(),w6=ai(),hi=w6.default("engine:polling"),S6={gzip:lJ.createGzip,deflate:lJ.createDeflate};class fJ extends $6.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){hi("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}hi("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)hi("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){hi('received "%s"',n);const i=(o)=>{if(o.type==="close")return hi("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)hi("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){hi('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=v6(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){hi("compressing");const c=[];let p=0;S6[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){hi("closing");let i;if(this.dataReq)hi("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)hi("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)hi("transport discarded - closing right away"),o();else hi("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}}$J.Polling=fJ});var AJ=I((SJ)=>{Object.defineProperty(SJ,"__esModule",{value:!0});SJ.JSONP=void 0;var J6=Sf(),A6=import.meta.require("querystring"),F6=/\\\\n/g,T6=/(\\)?\\n/g;class wJ extends J6.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=A6.parse(n).d,typeof n==="string")n=n.replace(T6,function(i,o){return o?i:"\n"}),super.onData(n.replace(F6,"\\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)}}SJ.JSONP=wJ});var KJ=I((MJ)=>{Object.defineProperty(MJ,"__esModule",{value:!0});MJ.WebSocket=void 0;var M6=uc(),R6=ai(),FJ=R6.default("engine:ws");class TJ extends M6.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();FJ('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){FJ("closing"),this.socket.close(),n&&n()}}MJ.WebSocket=TJ});var Jf=I((XJ)=>{Object.defineProperty(XJ,"__esModule",{value:!0});XJ.WebTransport=void 0;var K6=uc(),W6=ai(),X6=Ra(),$p=W6.default("engine:webtransport");class WJ extends K6.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const c=X6.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{$p("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){const{value:p,done:a}=await o.read();if(a){$p("session is closed");break}$p("received chunk: %o",p),this.onPacket(p)}}catch(p){$p("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){$p("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){$p("closing WebTransport session"),this.session.close(),n&&n()}}XJ.WebTransport=WJ});var Af=I((YJ)=>{function GJ(n){if(typeof n._query.j==="string")return new G6.JSONP(n);else return new z6.Polling(n)}Object.defineProperty(YJ,"__esModule",{value:!0});var z6=Sf(),G6=AJ(),Y6=KJ(),u6=Jf();YJ.default={polling:GJ,websocket:Y6.WebSocket,webtransport:u6.WebTransport};GJ.upgradesTo=["websocket","webtransport"]});var Ff=I((OJ)=>{Object.defineProperty(OJ,"__esModule",{value:!0});OJ.Socket=void 0;var H6=import.meta.require("events"),E6=ai(),No=import.meta.require("timers"),Zn=E6.default("engine:socket");class uJ extends H6.EventEmitter{get readyState(){return this._readyState}set readyState(n){Zn("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 Zn("packet received with closed socket");switch(Zn(`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}Zn("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}Zn("got pong"),No.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){Zn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=No.setTimeout(()=>{Zn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){No.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=No.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){Zn("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){Zn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=No.setTimeout(()=>{if(Zn("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")Zn("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(Zn("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)Zn("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},a=()=>{this.upgrading=!1,clearInterval(o),No.clearTimeout(i),n.removeListener("packet",c),n.removeListener("close",m),n.removeListener("error",x),this.removeListener("close",l)},x=(f)=>{Zn("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(){Zn("error triggered by discarded transport")}),this.transport.close(),No.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",No.clearTimeout(this.pingIntervalTimer),No.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"){Zn('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){Zn("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){Zn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{Zn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}Zn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(Zn("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}OJ.Socket=uJ});var EJ=I((s6)=>{function V6(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||Q6;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]=_6($,a)}}return o}function b6(n,i,o){var c=o||{},p=c.encode||U6;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!gx.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!gx.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(!gx.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!gx.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 _6(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)=>{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),TW=(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=TW;var MW=(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=MW;var Nf;$m.protocol=4});var tF=I((AN,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((MN,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*Mp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Tp;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>=Mp)return Math.round(n/Mp)+"h";if(i>=Tp)return Math.round(n/Tp)+"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>=Mp)return Sm(n,i,Mp,"hour");if(i>=Tp)return Sm(n,i,Tp,"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,Tp=Ap*60,Mp=Tp*60,Ec=Mp*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((RN,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,T,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,(M,O)=>{if(M==="%%")return"%";s++;const U=o.formatters[O];if(typeof U==="function"){const V=X[s];M=U.call(G,V),X.splice(s,1),s--}return M}),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(T!==o.namespaces)T=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,]+/),T=S.length;for(v=0;v<T;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((WN,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((XN,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 Mi){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Mi))||Mi.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Mi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Mi.TEAMCITY_VERSION)?1:0;if(Mi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Mi){const o=parseInt((Mi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Mi.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Mi.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Mi.TERM))return 1;if("COLORTERM"in Mi)return 1;if(Mi.TERM==="dumb")return i;return i}function tf(n){const i=F7(n);return J7(i)}var S7=import.meta.require("os"),Fo=mA(),Mi=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 Mi)Rp=Mi.FORCE_COLOR.length===0||parseInt(Mi.FORCE_COLOR,10)!==0;lA.exports={supportsColor:tf,stdout:tf(process.stdout),stderr:tf(process.stderr)}});var SA=I((vA,Tm)=>{function T7(){return"colors"in vA.inspectOpts?Boolean(vA.inspectOpts.colors):A7.isatty(process.stderr.fd)}function M7(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+"+Tm.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=M7;vA.save=W7;vA.load=X7;vA.useColors=T7;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},{});Tm.exports=Cf()(vA);var{formatters:$A}=Tm.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((zN,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(),MA=import.meta.require("zlib"),N7=am(),L7=xi(),Di=L7.default("engine:polling"),y7={gzip:MA.createGzip,deflate:MA.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"),Zn=i3.default("engine:socket");class jA extends n3.EventEmitter{get readyState(){return this._readyState}set readyState(n){Zn("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 Zn("packet received with closed socket");switch(Zn(`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}Zn("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}Zn("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){Zn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=Lo.setTimeout(()=>{Zn("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){Zn("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){Zn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=Lo.setTimeout(()=>{if(Zn("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")Zn("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(Zn("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)Zn("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)=>{Zn("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(){Zn("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"){Zn('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){Zn("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){Zn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{Zn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}Zn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(Zn("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(!Mm.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!Mm.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(!Mm.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!Mm.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}}/*!
|
|
27
29
|
* cookie
|
|
28
30
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
29
31
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
30
32
|
* MIT Licensed
|
|
31
|
-
*/
|
|
33
|
+
*/m3.parse=p3;m3.serialize=a3;var o3=decodeURIComponent,c3=encodeURIComponent,Mm=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var hA=I((bN,DA)=>{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}}var BA=Object.getOwnPropertySymbols,$3=Object.prototype.hasOwnProperty,v3=Object.prototype.propertyIsEnumerable;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((_N,ef)=>{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)}/*!
|
|
32
34
|
* vary
|
|
33
35
|
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
34
36
|
* MIT Licensed
|
|
35
|
-
*/Tf.exports=I6;Tf.exports.append=_J;var D6=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var Mf=I((RN,jJ)=>{(function(){var n=VJ(),i=sJ(),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,F){if(Array.isArray(F)){for(var X=0;X<F.length;++X)if(p(R,F[X]))return!0;return!1}else if(c(F))return R===F;else if(F instanceof RegExp)return F.test(R);else return!!F}function a(R,F){var X=F.headers.origin,z=[],Y;if(!R.origin||R.origin==="*")z.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))z.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),z.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),z.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),z.push([{key:"Vary",value:"Origin"}]);return z}function x(R){var F=R.methods;if(F.join)F=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:F}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,F){var X=R.allowedHeaders||R.headers,z=[];if(!X)X=F.headers["access-control-request-headers"],z.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)z.push([{key:"Access-Control-Allow-Headers",value:X}]);return z}function f(R){var F=R.exposedHeaders;if(!F)return null;else if(F.join)F=F.join(",");if(F&&F.length)return{key:"Access-Control-Expose-Headers",value:F};return null}function $(R){var F=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(F&&F.length)return{key:"Access-Control-Max-Age",value:F};return null}function v(R,F){for(var X=0,z=R.length;X<z;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,F);else if(Y.key==="Vary"&&Y.value)i(F,Y.value);else if(Y.value)F.setHeader(Y.key,Y.value)}}}function S(R,F,X,z){var Y=[],E=F.method&&F.method.toUpperCase&&F.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,F)),Y.push(m(R,F)),Y.push(x(R,F)),Y.push(l(R,F)),Y.push($(R,F)),Y.push(f(R,F)),v(Y,X),R.preflightContinue)z();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,F)),Y.push(m(R,F)),Y.push(f(R,F)),v(Y,X),z()}function T(R){var F=null;if(typeof R==="function")F=R;else F=function(X,z){z(null,R)};return function X(z,Y,E){F(z,function(s,G){if(s)E(s);else{var M=n({},o,G),O=null;if(M.origin&&typeof M.origin==="function")O=M.origin;else if(M.origin)O=function(U,V){V(null,M.origin)};if(O)O(z.headers.origin,function(U,V){if(U||!V)E(U);else M.origin=V,S(M,z,Y,E)});else E()}})}}jJ.exports=T})()});var Rf=I((IJ)=>{function e6(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function yJ(n,i,o){const c=i===Yn.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:Yn.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function hJ(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){const c=o.message||Yn.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 g6(n){if(n+="",n.length<1)return!1;if(!Ka[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ka[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ka[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ka[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ka[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(IJ,"__esModule",{value:!0});IJ.Server=IJ.BaseServer=void 0;var t6=import.meta.require("querystring"),C6=import.meta.require("url"),NJ=dl(),dx=Af(),k6=import.meta.require("events"),LJ=Ff(),r6=ai(),Z6=EJ(),q6=import.meta.require("ws"),BJ=Jf(),P6=Ra(),vn=r6.default("engine"),vp=Symbol("responseHeaders");class Wa extends k6.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:q6.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(Mf()(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 dx.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(Yn.errors.UNKNOWN_TRANSPORT,{transport:c});if(g6(n.headers.origin)){const x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(Yn.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(Yn.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(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(Yn.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(Yn.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 NJ.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:Yn.errors.UNSUPPORTED_PROTOCOL_VERSION,message:Yn.errorMessages[Yn.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(Yn.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:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(Yn.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:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(Yn.errors.BAD_REQUEST);return}const x=new LJ.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[Z6.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=P6.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 BJ.WebTransport(n,p,x),S=NJ.generateId();vn('handshaking client "%s" (WebTransport)',S);const T=new LJ.Socket(S,this,v,null,4);this.clients[S]=T,this.clientsCount++,T.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",T);return}const f=e6(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 BJ.WebTransport(n,p,x);$._maybeUpgrade(v)}}}IJ.BaseServer=Wa;Wa.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Wa.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class DJ{constructor(n,i){this.req=n,this.socket=i,n[vp]={}}setHeader(n,i){this.req[vp][n]=i}getHeader(n){return this.req[vp][n]}removeHeader(n){delete this.req[vp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class Yn extends Wa{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[vp]||{};if(delete i[vp],!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("?")?t6.parse(C6.parse(n.url).query):{}}createTransport(n,i){return new dx.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:Yn.errorMessages[c],context:p}),yJ(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)=>yJ(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const c=new DJ(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:Yn.errorMessages[a],context:x}),hJ(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(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),dx.default[n._query.transport]!==void 0&&!dx.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)=>hJ(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)})}}IJ.Server=Yn;var Ka=[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 qJ=I((rJ)=>{Object.defineProperty(rJ,"__esModule",{value:!0});rJ.Polling=void 0;var nW=uc(),CJ=import.meta.require("zlib"),iW=Bx(),oW=ai(),ei=oW.default("engine:polling"),cW={gzip:CJ.createGzip,deflate:CJ.createDeflate};class kJ extends nW.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){ei("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}ei("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)ei("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){ei('received "%s"',n);const i=(o)=>{if(o.type==="close")return ei("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)ei("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){ei('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=iW(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){ei("compressing");const c=[];let p=0;cW[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){ei("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)ei("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)ei("transport discarded - closing right away"),o();else ei("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}}rJ.Polling=kJ});var nA=I((gJ)=>{Object.defineProperty(gJ,"__esModule",{value:!0});gJ.WebSocket=void 0;var pW=uc(),aW=ai(),PJ=aW.default("engine:ws");class eJ extends pW.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(PJ('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){PJ("closing"),n&&n(),this.socket.end()}}gJ.WebSocket=eJ});var oA=I((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});var xW=qJ(),mW=nA();iA.default={polling:xW.Polling,websocket:mW.WebSocket}});var mA=I((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.uServer=void 0;var fW=ai(),Oc=Rf(),$W=oA(),ac=fW.default("engine:uws");class cA extends Oc.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(()=>{ac("response has been aborted")})}createTransport(n,i){return new $W.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 pA(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){ac('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:Oc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)ac("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(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){ac("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:Oc.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 ac("upgrade attempt for closed client"),n.close();else if(l.upgrading)return ac("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return ac("transport had already been upgraded"),n.close();else ac("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(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){const c=i===Oc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Oc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}aA.uServer=cA;class pA{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 wA=I((wp)=>{function FW(n,i,o){if(typeof i==="function")o=i,i={};const c=vW.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=$A(c,i);return p.httpServer=c,c.listen(n,o),p}function $A(n,i){const o=new lA.Server(i);return o.attach(n,i),o}Object.defineProperty(wp,"__esModule",{value:!0});wp.protocol=wp.Transport=wp.Socket=wp.uServer=wp.parser=wp.transports=wp.Server=void 0;wp.listen=FW;wp.attach=$A;var vW=import.meta.require("http"),lA=Rf();Object.defineProperty(wp,"Server",{enumerable:!0,get:function(){return lA.Server}});var wW=Af();wp.transports=wW.default;var fA=Ra();wp.parser=fA;var SW=mA();Object.defineProperty(wp,"uServer",{enumerable:!0,get:function(){return SW.uServer}});var JW=Ff();Object.defineProperty(wp,"Socket",{enumerable:!0,get:function(){return JW.Socket}});var AW=uc();Object.defineProperty(wp,"Transport",{enumerable:!0,get:function(){return AW.Transport}});wp.protocol=fA.protocol});var SA=I((XW)=>{function ui(n){if(n)return WW(n)}function WW(n){for(var i in ui.prototype)n[i]=ui.prototype[i];return n}XW.Emitter=ui;ui.prototype.on=ui.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};ui.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};ui.prototype.off=ui.prototype.removeListener=ui.prototype.removeAllListeners=ui.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};ui.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};ui.prototype.emitReserved=ui.prototype.emit;ui.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};ui.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Kf=I((FA)=>{function AA(n){return GW&&(n instanceof ArrayBuffer||YW(n))||uW&&n instanceof Blob||OW&&n instanceof File}function nm(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(nm(n[o]))return!0;return!1}if(AA(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return nm(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&nm(n[o]))return!0;return!1}Object.defineProperty(FA,"__esModule",{value:!0});FA.hasBinary=FA.isBinary=void 0;var GW=typeof ArrayBuffer==="function",YW=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},JA=Object.prototype.toString,uW=typeof Blob==="function"||typeof Blob!=="undefined"&&JA.call(Blob)==="[object BlobConstructor]",OW=typeof File==="function"||typeof File!=="undefined"&&JA.call(File)==="[object FileConstructor]";FA.isBinary=AA;FA.hasBinary=nm});var KA=I((MA)=>{function QW(n){const i=[],o=n.data,c=n;return c.data=Wf(o,i),c.attachments=i.length,{packet:c,buffers:i}}function Wf(n,i){if(!n)return n;if(EW.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]=Wf(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]=Wf(n[c],i);return o}return n}function UW(n,i){return n.data=Xf(n.data,i),delete n.attachments,n}function Xf(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]=Xf(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Xf(n[o],i)}return n}Object.defineProperty(MA,"__esModule",{value:!0});MA.reconstructPacket=MA.deconstructPacket=void 0;var EW=Kf();MA.deconstructPacket=QW;MA.reconstructPacket=UW});var Xa=I((OA)=>{function WA(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(OA,"__esModule",{value:!0});OA.Decoder=OA.Encoder=OA.PacketType=OA.protocol=void 0;var bW=SA(),zA=KA(),GA=Kf(),_W=ai(),zf=_W.default("socket.io-parser"),sW=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];OA.protocol=5;var Cn;(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"})(Cn=OA.PacketType||(OA.PacketType={}));class YA{constructor(n){this.replacer=n}encode(n){if(zf("encoding packet %j",n),n.type===Cn.EVENT||n.type===Cn.ACK){if(GA.hasBinary(n))return this.encodeAsBinary({type:n.type===Cn.EVENT?Cn.BINARY_EVENT:Cn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Cn.BINARY_EVENT||n.type===Cn.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 zf("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=zA.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}OA.Encoder=YA;class Gf extends bW.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===Cn.BINARY_EVENT;if(o||i.type===Cn.BINARY_ACK){if(i.type=o?Cn.EVENT:Cn.ACK,this.reconstructor=new uA(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(GA.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(Cn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Cn.BINARY_EVENT||o.type===Cn.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(Gf.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return zf("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 Cn.CONNECT:return WA(i);case Cn.DISCONNECT:return i===void 0;case Cn.CONNECT_ERROR:return typeof i==="string"||WA(i);case Cn.EVENT:case Cn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&sW.indexOf(i[0])===-1);case Cn.ACK:case Cn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}OA.Decoder=Gf;class uA{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=zA.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var VA=I((QA)=>{Object.defineProperty(QA,"__esModule",{value:!0});QA.Client=void 0;var im=Xa(),LW=ai(),BW=import.meta.require("url"),Jo=LW("socket.io:client");class EA{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)Jo("no namespace joined yet, close the client"),this.close();else Jo("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Jo("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Jo("creation of namespace %s was denied",n),this._packet({type:im.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 Jo("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Jo("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Jo("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){Jo("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){Jo("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const p=BW.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===im.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==im.PacketType.CONNECT&&n.type!==im.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Jo("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){Jo("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}}QA.Client=EA});var om=I((_A)=>{Object.defineProperty(_A,"__esModule",{value:!0});_A.StrictEventEmitter=void 0;var yW=import.meta.require("events");class bA extends yW.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)}}_A.StrictEventEmitter=bA});var Yf=I((jA)=>{Object.defineProperty(jA,"__esModule",{value:!0});jA.RESERVED_EVENTS=void 0;jA.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Of=I((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.RemoteSocket=LA.BroadcastOperator=void 0;var hW=Yf(),DW=Xa();class Lo{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 Lo(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 Lo(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(hW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:DW.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},(T)=>{v+=T,$++,S()},(T)=>{m.push(T),S()}),this.adapter.serverCount().then((T)=>{f=T,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 uf(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)}}LA.BroadcastOperator=Lo;class uf{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new Lo(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}}LA.RemoteSocket=uf});var Hf=I((Sp)=>{function hA(){}var DA=Sp&&Sp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Sp,"__esModule",{value:!0});Sp.Socket=void 0;var gi=Xa(),tW=DA(ai()),CW=om(),yA=DA(dl()),kW=Of(),rW=Yf(),Fi=tW.default("socket.io:socket"),ZW=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class IA extends CW.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:gi.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=yA.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=yA.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",hA)}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(rW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:gi.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const a=this.nsp._ids++;Fi("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(()=>{Fi("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 Fi("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Fi("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Fi("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:gi.PacketType.CONNECT});else this.packet({type:gi.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Fi("got packet %j",n),n.type){case gi.PacketType.EVENT:this.onevent(n);break;case gi.PacketType.BINARY_EVENT:this.onevent(n);break;case gi.PacketType.ACK:this.onack(n);break;case gi.PacketType.BINARY_ACK:this.onack(n);break;case gi.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(Fi("emitting event %j",i),n.id!=null)Fi("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);Fi("sending ack %j",c),i.packet({id:n,type:gi.PacketType.ACK,data:c}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")Fi("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Fi("bad ack %s",n.id)}ondisconnect(){Fi("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Fi("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&ZW.has(n))Fi("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=hA}_error(n){this.packet({type:gi.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:gi.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){Fi("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 Fi("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 kW.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Sp.Socket=IA});var Ef=I((Bo)=>{var qW=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 tA=Hf(),PW=om(),eW=qW(ai()),Di=Of(),za=eW.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class CA extends PW.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 Di.BroadcastOperator(this.adapter).to(n)}in(n){return new Di.BroadcastOperator(this.adapter).in(n)}except(n){return new Di.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;za("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"){za("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(za("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){za("error while restoring session: %s",a)}if(p)return za("connection state recovered for sid %s",p.sid),new tA.Socket(this,n,i,p)}return new tA.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 Di.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 Di.BroadcastOperator(this.adapter).allSockets()}compress(n){return new Di.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new Di.BroadcastOperator(this.adapter).volatile}get local(){return new Di.BroadcastOperator(this.adapter).local}timeout(n){return new Di.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new Di.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new Di.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new Di.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new Di.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=CA});var gA=I((PA)=>{function Qf(n){let i="";do i=ZA[n%cm]+i,n=Math.floor(n/cm);while(n>0);return i}function gW(n){let i=0;for(xc=0;xc<n.length;xc++)i=i*cm+qA[n.charAt(xc)];return i}function dW(){const n=Qf(+new Date);if(n!==rA)return kA=0,rA=n;return n+"."+Qf(kA++)}Object.defineProperty(PA,"__esModule",{value:!0});PA.yeast=PA.decode=PA.encode=void 0;var ZA="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),cm=64,qA={},kA=0,xc=0,rA;PA.encode=Qf;PA.decode=gW;PA.yeast=dW;for(;xc<cm;xc++)qA[ZA[xc]]=xc});var bf=I((nF)=>{function a7(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 Uf;Object.defineProperty(nF,"__esModule",{value:!0});nF.SessionAwareAdapter=nF.Adapter=void 0;var o7=import.meta.require("events"),c7=gA(),pm=import.meta.require("ws"),p7=typeof((Uf=pm===null||pm===void 0?void 0:pm.Sender)===null||Uf===void 0?void 0:Uf.frame)==="function";class Vf extends o7.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(p7&&o.length===1&&typeof o[0]==="string"){const c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=pm.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}}nF.Adapter=Vf;class dA extends Vf{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(a7(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=c7.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}nF.SessionAwareAdapter=dA});var cF=I((Ao)=>{function Ap(){return $7.randomBytes(8).toString("hex")}function Hc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Jp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var m7=Ao&&Ao.__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(Ao,"__esModule",{value:!0});Ao.ClusterAdapterWithHeartbeat=Ao.ClusterAdapter=Ao.MessageType=void 0;var l7=bf(),f7=ai(),$7=import.meta.require("crypto"),qn=f7.debug("socket.io-adapter"),v7="emitter",am=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=Ao.MessageType||(Ao.MessageType={}));class _f extends l7.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Ap()}onMessage(n,i){if(n.uid===this.uid)return qn("[%s] ignore message from self",this.uid);switch(qn("[%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,Jp(n.data.opts),(c)=>{qn("[%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)=>{qn("[%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=Jp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(Jp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(Jp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(Jp(n.data.opts),n.data.close);break;case cn.FETCH_SOCKETS:{qn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Jp(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=m7(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,qn("[%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:qn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const c=n.data.requestId;switch(qn("[%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:qn("[%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:Hc(i)}});this.addOffsetIfNecessary(n,i,p)}catch(p){return qn("[%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=Ap();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:Hc(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:Hc(n),rooms:i}})}catch(p){qn("[%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:Hc(n),rooms:i}})}catch(p){qn("[%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:Hc(n),close:i}})}catch(p){qn("[%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=Ap();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||am),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:Hc(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(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),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)},am),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)=>{qn("[%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)=>{qn("[%s] error while publishing response: %s",this.uid,o)})}}Ao.ClusterAdapter=_f;class oF extends _f{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)qn("[%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 qn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==v7)this.nodesMap.set(n.uid,Date.now());switch(qn("[%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(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),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)},am),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=Ap();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||am),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:Hc(n),requestId:a}})})}onResponse(n){const i=n.data.requestId;switch(qn("[%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)}}Ao.ClusterAdapterWithHeartbeat=oF});var xm=I((Ec)=>{Object.defineProperty(Ec,"__esModule",{value:!0});Ec.MessageType=Ec.ClusterAdapterWithHeartbeat=Ec.ClusterAdapter=Ec.SessionAwareAdapter=Ec.Adapter=void 0;var pF=bf();Object.defineProperty(Ec,"Adapter",{enumerable:!0,get:function(){return pF.Adapter}});Object.defineProperty(Ec,"SessionAwareAdapter",{enumerable:!0,get:function(){return pF.SessionAwareAdapter}});var sf=cF();Object.defineProperty(Ec,"ClusterAdapter",{enumerable:!0,get:function(){return sf.ClusterAdapter}});Object.defineProperty(Ec,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return sf.ClusterAdapterWithHeartbeat}});Object.defineProperty(Ec,"MessageType",{enumerable:!0,get:function(){return sf.MessageType}})});var lF=I((Fp)=>{var S7=Fp&&Fp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Fp,"__esModule",{value:!0});Fp.ParentNamespace=void 0;var aF=Ef(),J7=xm(),A7=S7(ai()),xF=A7.default("socket.io:parent-namespace");class mm extends aF.Namespace{constructor(n){super(n,"/_"+mm.count++);this.children=new Set}_initAdapter(){this.adapter=new mF(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){xF("creating child namespace %s",n);const i=new aF.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)xF("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")}}Fp.ParentNamespace=mm;mm.count=0;class mF extends J7.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var JF=I((Uc)=>{function M7(n){Qc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);vF.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"){$F(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)$F(this.nsp.name,p,c,a)})},Qc.Adapter.prototype.del=function(i,o){wF.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}${jf}${o}`;lm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},Qc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){SF.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}${jf}${o.rooms.keys().next().value}`;lm("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 $F(n,i,o,c){const p=i.conn.id,a=i.conn.transport.socket;if(o)lm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{const m=`${n}${jf}${x}`;lm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function R7(){Qc.Adapter.prototype.addAll=vF,Qc.Adapter.prototype.del=wF,Qc.Adapter.prototype.broadcast=SF}function W7(n,i){const{size:o}=fF.statSync(i),c=fF.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{const l=K7(m);n.cork(()=>{const f=n.getWriteOffset(),[$,v]=n.tryEnd(l,o);if(!v&&!$)c.pause(),n.onWritable((S)=>{const[T,R]=n.tryEnd(l.slice(S-f),o);if(!R&&T)c.resume();return T})})};n.onAborted(p),c.on("data",x).on("error",a).on("end",p)}var F7=Uc&&Uc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Uc,"__esModule",{value:!0});Uc.patchAdapter=M7;Uc.restoreAdapter=R7;Uc.serveFile=W7;var Qc=xm(),fF=import.meta.require("fs"),T7=F7(ai()),lm=T7.default("socket.io:adapter-uws"),jf="\x1F",{addAll:vF,del:wF,broadcast:SF}=Qc.Adapter.prototype,K7=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var AF=I((PN,X7)=>{X7.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 GF=I((Ti,Ga)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",z7=Ti&&Ti.__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]}),G7=Ti&&Ti.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Y7=Ti&&Ti.__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))z7(i,n,o)}return G7(i,n),i},XF=Ti&&Ti.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.Namespace=Ti.Socket=Ti.Server=void 0;var u7=import.meta.require("http"),O7=import.meta.require("fs"),Nf=import.meta.require("zlib"),H7=Bx(),fm=import.meta.require("stream"),FF=import.meta.require("path"),TF=wA(),E7=VA(),MF=import.meta.require("events"),Bf=Ef();Object.defineProperty(Ti,"Namespace",{enumerable:!0,get:function(){return Bf.Namespace}});var Q7=lF(),RF=xm(),U7=Y7(Xa()),V7=XF(ai()),zF=Hf();Object.defineProperty(Ti,"Socket",{enumerable:!0,get:function(){return zF.Socket}});var b7=om(),Lf=JF(),_7=XF(Mf()),_i=V7.default("socket.io:server"),KF=AF().version,WF=/\.map/;class Tp extends b7.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||U7,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||RF.SessionAwareAdapter);else this.adapter(i.adapter||RF.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=_7.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 _i("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(a.value).createChild(n);_i("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"){_i("creating http server and binding to %d",n);const o=n;n=u7.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,_i("creating uWebSockets.js-based engine with opts %j",i);const o=new TF.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=WF.test(a),m=x?"map":"source",l='"'+KF+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){_i("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}_i("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=FF.join(__dirname,"../client-dist/",a);Lf.serveFile(c,v)});Lf.patchAdapter(n)}initEngine(n,i){if(_i("creating engine.io instance with opts %j",i),this.eio=TF.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){_i("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=WF.test(o),p=c?"map":"source",a='"'+KF+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){_i("serve client %s 304",p),i.writeHead(304),i.end();return}}_i("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),Tp.sendFile(o,n,i)}static sendFile(n,i,o){const c=O7.createReadStream(FF.join(__dirname,"../client-dist/",n)),p=H7(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),fm.pipeline(c,Nf.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),fm.pipeline(c,Nf.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),fm.pipeline(c,Nf.createDeflate(),o,a);break;default:o.writeHead(200),fm.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){_i("incoming connection with id %s",n.id);const i=new E7.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const c=new Q7.ParentNamespace(this);if(_i("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 _i("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(_i("initializing namespace %s",n),o=new Bf.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(),Lf.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)}}Ti.Server=Tp;var s7=Object.keys(MF.EventEmitter.prototype).filter(function(n){return typeof MF.EventEmitter.prototype[n]==="function"});s7.forEach(function(n){Tp.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Ga.exports=(n,i)=>new Tp(n,i);Ga.exports.Server=Tp;Ga.exports.Namespace=Bf.Namespace;Ga.exports.Socket=zF.Socket});var XM=I((WM)=>{function D3(n){if(!Wm[n])Wm[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 Wm[n]}function t3(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 C3(n,i){const o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){const{type:a,value:x}=o[p],m=I3[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}function k3(n,i={}){const o=JSON.stringify([n,i]);let c=hF[o];if(!c)c=new Intl.ListFormat(n,i),hF[o]=c;return c}function n$(n,i={}){const o=JSON.stringify([n,i]);let c=df[o];if(!c)c=new Intl.DateTimeFormat(n,i),df[o]=c;return c}function r3(n,i={}){const o=JSON.stringify([n,i]);let c=i$[o];if(!c)c=new Intl.NumberFormat(n,i),i$[o]=c;return c}function Z3(n,i={}){const{base:o,...c}=i,p=JSON.stringify([n,c]);let a=o$[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),o$[p]=a;return a}function q3(){if(La)return La;else return La=new Intl.DateTimeFormat().resolvedOptions().locale,La}function P3(n){let i=DF[n];if(!i){const o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,DF[n]=i}return i}function e3(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=n$(n).resolvedOptions(),p=n}catch(m){const l=n.substring(0,o);c=n$(l).resolvedOptions(),p=l}const{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function g3(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 d3(n){const i=[];for(let o=1;o<=12;o++){const c=mn.utc(2009,o,1);i.push(n(c))}return i}function nX(n){const i=[];for(let o=1;o<=7;o++){const c=mn.utc(2016,11,13+o);i.push(n(c))}return i}function Fm(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 iX(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 Jc(n,i){if(pn(n)||n===null)return i;else if(n instanceof hc)return n;else if(aX(n)){const o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return ha.instance;else if(o==="utc"||o==="gmt")return Ki.utcInstance;else return Ki.parseSpecifier(o)||Qo.create(n)}else if(yc(n))return Ki.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new x$(n)}function oo(n,i){return new io("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function m$(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 tT(n,i,o){return o+(Da(n)?IT:DT)[i-1]}function CT(n,i){const o=Da(n)?IT:DT,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function l$(n,i){return(n-i+7)%7+1}function Gm(n,i=4,o=1){const{year:c,month:p,day:a}=n,x=tT(c,p,a),m=l$(m$(c,p,a),o);let l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=ya(f,i,o);else if(l>ya(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...Qm(n)}}function eF(n,i=4,o=1){const{weekYear:c,weekNumber:p,weekday:a}=n,x=l$(m$(c,1,i),o),m=Np(c);let l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=Np(f);else if(l>m)f=c+1,l-=Np(c);else f=c;const{month:$,day:v}=CT(f,l);return{year:f,month:$,day:v,...Qm(n)}}function rf(n){const{year:i,month:o,day:c}=n,p=tT(i,o,c);return{year:i,ordinal:p,...Qm(n)}}function gF(n){const{year:i,ordinal:o}=n,{month:c,day:p}=CT(i,o);return{year:i,month:c,day:p,...Qm(n)}}function dF(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Lc("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 cX(n,i=4,o=1){const c=Om(n.weekYear),p=co(n.weekNumber,1,ya(n.weekYear,i,o)),a=co(n.weekday,1,7);if(!c)return oo("weekYear",n.weekYear);else if(!p)return oo("week",n.weekNumber);else if(!a)return oo("weekday",n.weekday);else return!1}function pX(n){const i=Om(n.year),o=co(n.ordinal,1,Np(n.year));if(!i)return oo("year",n.year);else if(!o)return oo("ordinal",n.ordinal);else return!1}function kT(n){const i=Om(n.year),o=co(n.month,1,12),c=co(n.day,1,Ym(n.year,n.month));if(!i)return oo("year",n.year);else if(!o)return oo("month",n.month);else if(!c)return oo("day",n.day);else return!1}function rT(n){const{hour:i,minute:o,second:c,millisecond:p}=n,a=co(i,0,23)||i===24&&o===0&&c===0&&p===0,x=co(o,0,59),m=co(c,0,59),l=co(p,0,999);if(!a)return oo("hour",i);else if(!x)return oo("minute",o);else if(!m)return oo("second",c);else if(!l)return oo("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function yc(n){return typeof n==="number"}function Om(n){return typeof n==="number"&&n%1===0}function aX(n){return typeof n==="string"}function xX(n){return Object.prototype.toString.call(n)==="[object Date]"}function ZT(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function qT(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function mX(n){return Array.isArray(n)?n:[n]}function nT(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 lX(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function Bp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function c$(n){if(n==null)return null;else if(typeof n!=="object")throw new Hi("Week settings must be an object");else{if(!co(n.firstDay,1,7)||!co(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!co(i,1,7)))throw new Hi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function co(n,i,o){return Om(n)&&n>=i&&n<=o}function fX(n,i){return n-i*Math.floor(n/i)}function gn(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 Sc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function jc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function f$(n){if(pn(n)||n===null||n==="")return;else{const i=parseFloat("0."+n)*1000;return Math.floor(i)}}function $$(n,i,o=!1){const c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Da(n){return n%4===0&&(n%100!==0||n%400===0)}function Np(n){return Da(n)?366:365}function Ym(n,i){const o=fX(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Da(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function Hm(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 iT(n,i,o){return-l$(m$(n,1,i),o)+i-1}function ya(n,i=4,o=1){const c=iT(n,i,o),p=iT(n+1,i,o);return(Np(n)-c+p)/7}function p$(n){if(n>99)return n;else return n>In.twoDigitCutoffYear?1900+n:2000+n}function PT(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 Em(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 eT(n){const i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Hi(`Invalid unit value ${n}`);return i}function um(n,i){const o={};for(let c in n)if(Bp(n,c)){const p=n[c];if(p===void 0||p===null)continue;o[i(c)]=eT(p)}return o}function Ba(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}${gn(o,2)}:${gn(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${gn(o,2)}${gn(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function Qm(n){return lX(n,["hour","minute","second","millisecond"])}function dT(n){switch(n){case"narrow":return[...vX];case"short":return[...gT];case"long":return[...$X];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 oM(n){switch(n){case"narrow":return[...wX];case"short":return[...iM];case"long":return[...nM];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}function pM(n){switch(n){case"narrow":return[...AX];case"short":return[...JX];case"long":return[...SX];default:return null}}function FX(n){return cM[n.hour<12?0:1]}function TX(n,i){return oM(i)[n.weekday-1]}function MX(n,i){return dT(i)[n.month-1]}function RX(n,i){return pM(i)[n.year<0?0:1]}function KX(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 oT(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}function yp(...n){const i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function hp(...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 Dp(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 xM(...n){return(i,o)=>{const c={};let p;for(p=0;p<n.length;p++)c[n[p]]=Sc(i[o+p]);return[c,null,o+p]}}function Lp(n,i,o){const c=n[i];return pn(c)?o:Sc(c)}function QX(n,i){return[{year:Lp(n,i),month:Lp(n,i+1,1),day:Lp(n,i+2,1)},null,i+3]}function Ip(n,i){return[{hours:Lp(n,i,0),minutes:Lp(n,i+1,0),seconds:Lp(n,i+2,0),milliseconds:f$(n[i+3])},null,i+4]}function Ia(n,i){const o=!n[i]&&!n[i+1],c=Em(n[i+1],n[i+2]),p=o?null:Ki.instance(c);return[{},p,i+3]}function ta(n,i){const o=n[i]?Qo.create(n[i]):null;return[{},o,i+1]}function bX(n){const[i,o,c,p,a,x,m,l,f]=n,$=i[0]==="-",v=l&&l[0]==="-",S=(T,R=!1)=>T!==void 0&&(R||T&&$)?-T:T;return[{years:S(jc(o)),months:S(jc(c)),weeks:S(jc(p)),days:S(jc(a)),hours:S(jc(x)),minutes:S(jc(m)),seconds:S(jc(l),l==="-0"),milliseconds:S(f$(f),v)}]}function S$(n,i,o,c,p,a,x){const m={year:i.length===2?p$(Sc(i)):Sc(i),month:gT.indexOf(o)+1,day:Sc(c),hour:Sc(p),minute:Sc(a)};if(x)m.second=Sc(x);if(n)m.weekday=n.length>3?nM.indexOf(n)+1:iM.indexOf(n)+1;return m}function jX(n){const[,i,o,c,p,a,x,m,l,f,$,v]=n,S=S$(i,p,c,o,a,x,m);let T;if(l)T=_X[l];else if(f)T=0;else T=Em($,v);return[S,new Ki(T)]}function NX(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function cT(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,p,c,o,a,x,m),Ki.utcInstance]}function hX(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,m,o,c,p,a,x),Ki.utcInstance]}function qX(n){return Dp(n,[DX,$M],[IX,kX],[tX,rX],[CX,ZX])}function PX(n){return Dp(NX(n),[sX,jX])}function eX(n){return Dp(n,[LX,cT],[BX,cT],[yX,hX])}function gX(n){return Dp(n,[VX,bX])}function n5(n){return Dp(n,[UX,dX])}function p5(n){return Dp(n,[i5,$M],[o5,c5])}function wc(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 wM(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of m5.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function aT(n,i){const o=wM(n,i)<0?-1:1;Bc.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),Bc.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 l5(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function f5(n,i){if(!n||!n.isValid)return Dn.invalid("missing or invalid start");else if(!i||!i.isValid)return Dn.invalid("missing or invalid end");else if(i<n)return Dn.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 xT(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 $5(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 $=xT(l,f);return($-$%7)/7}],["days",xT]],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 v5(n,i,o,c){let[p,a,x,m]=$5(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 S5(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(J$.hanidec)!==-1)i+=w5.indexOf(n[o]);else for(let p in mT){const[a,x]=mT[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function Ko({numberingSystem:n},i=""){return new RegExp(`${J$[n||"latn"]}${i}`)}function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(S5(o))}}function F5(n){return n.replace(/\./g,"\\.?").replace(JM,SM)}function lT(n){return n.replace(/\./g,"").replace(JM," ").toLowerCase()}function Wo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(F5).join("|")),deser:([o])=>n.findIndex((c)=>lT(o)===lT(c))+i}}function fT(n,i){return{regex:n,deser:([,o,c])=>Em(o,c),groups:i}}function Tm(n){return{regex:n,deser:([i])=>i}}function T5(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function M5(n,i){const o=Ko(i),c=Ko(i,"{2}"),p=Ko(i,"{3}"),a=Ko(i,"{4}"),x=Ko(i,"{6}"),m=Ko(i,"{1,2}"),l=Ko(i,"{1,3}"),f=Ko(i,"{1,6}"),$=Ko(i,"{1,9}"),v=Ko(i,"{2,4}"),S=Ko(i,"{4,6}"),T=(X)=>({regex:RegExp(T5(X.val)),deser:([z])=>z,literal:!0}),F=((X)=>{if(n.literal)return T(X);switch(X.val){case"G":return Wo(i.eras("short"),0);case"GG":return Wo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,p$);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 Wo(i.months("short",!0),1);case"MMMM":return Wo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return Wo(i.months("short",!1),1);case"LLLL":return Wo(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 Tm($);case"uu":return Tm(m);case"uuu":return Wn(o);case"a":return Wo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,p$);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return Wo(i.weekdays("short",!1),1);case"EEEE":return Wo(i.weekdays("long",!1),1);case"ccc":return Wo(i.weekdays("short",!0),1);case"cccc":return Wo(i.weekdays("long",!0),1);case"Z":case"ZZ":return fT(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return fT(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Tm(/[a-z_+-/]{1,256}?/i);case" ":return Tm(/[^\S\n\r]/);default:return T(X)}})(n)||{invalidReason:J5};return F.token=n,F}function K5(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=R5[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function W5(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function X5(n,i,o){const c=n.match(i);if(c){const p={};let a=1;for(let x in o)if(Bp(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 z5(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=Qo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ki(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=f$(n.u);return[Object.keys(n).reduce((a,x)=>{const m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}function G5(){if(!Zf)Zf=mn.fromMillis(1555555555555);return Zf}function Y5(n,i){if(n.literal)return n;const o=Ri.macroTokenToFormatOpts(n.val),c=TM(o,i);if(c==null||c.includes(void 0))return n;return c}function AM(n,i){return Array.prototype.concat(...n.map((o)=>Y5(o,i)))}function FM(n,i,o){const c=AM(Ri.parseFormat(o),n),p=c.map((x)=>M5(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{const[x,m]=W5(p),l=RegExp(x,"i"),[f,$]=X5(i,l,m),[v,S,T]=$?z5($):[null,null,void 0];if(Bp($,"a")&&Bp($,"H"))throw new Lc("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:c,regex:l,rawMatches:f,matches:$,result:v,zone:S,specificOffset:T}}}function u5(n,i,o){const{result:c,zone:p,specificOffset:a,invalidReason:x}=FM(n,i,o);return[c,p,a,x]}function TM(n,i){if(!n)return null;const c=Ri.create(i,n).dtFormatter(G5()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>K5(x,n,a))}function Mm(n){return new io("unsupported zone",`the zone "${n.name}" is not supported`)}function Pf(n){if(n.weekData===null)n.weekData=Gm(n.c);return n.weekData}function ef(n){if(n.localWeekData===null)n.localWeekData=Gm(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Nc(n,i){const o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new mn({...o,...i,old:o})}function MM(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 Rm(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 Xm(n,i,o){return MM(Hm(n),i,o)}function vT(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,Ym(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=Hm(a);let[l,f]=MM(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function ja(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=mn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return mn.invalid(new io("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Km(n,i,o=!0){return n.isValid?Ri.create(On.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function gf(n,i){const o=n.c.year>9999||n.c.year<0;let c="";if(o&&n.c.year>=0)c+="+";if(c+=gn(n.c.year,o?6:4),i)c+="-",c+=gn(n.c.month),c+="-",c+=gn(n.c.day);else c+=gn(n.c.month),c+=gn(n.c.day);return c}function wT(n,i,o,c,p,a){let x=gn(n.c.hour);if(i){if(x+=":",x+=gn(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=gn(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=gn(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=gn(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=gn(Math.trunc(-n.o/60)),x+=":",x+=gn(Math.trunc(-n.o%60));else x+="+",x+=gn(Math.trunc(n.o/60)),x+=":",x+=gn(Math.trunc(n.o%60));if(a)x+="["+n.zone.ianaName+"]";return x}function U5(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 a$(n);return i}function ST(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return U5(n)}}function JT(n,i){const o=Jc(i.zone,In.defaultZone),c=On.fromObject(i),p=In.now();let a,x;if(!pn(n.year)){for(let f of KM)if(pn(n[f]))n[f]=RM[f];const m=kT(n)||rT(n);if(m)return mn.invalid(m);const l=o.offset(p);[a,x]=Xm(n,l,o)}else a=p;return new mn({ts:a,zone:o,loc:c,o:x})}function AT(n,i,o){const c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=$$(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 FT(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 Na(n){if(mn.isDateTime(n))return n;else if(n&&n.valueOf&&yc(n.valueOf()))return mn.fromJSDate(n);else if(n&&typeof n==="object")return mn.fromObject(n);else throw new Hi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}Object.defineProperty(WM,"__esModule",{value:!0});class Ac extends Error{}class TT extends Ac{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class MT extends Ac{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class RT extends Ac{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Lc extends Ac{}class a$ extends Ac{constructor(n){super(`Invalid unit ${n}`)}}class Hi extends Ac{}class Do extends Ac{constructor(){super("Zone is an abstract class")}}var L="numeric",Xo="short",ti="long",zm={year:L,month:L,day:L},KT={year:L,month:Xo,day:L},y3={year:L,month:Xo,day:L,weekday:Xo},WT={year:L,month:ti,day:L},XT={year:L,month:ti,day:L,weekday:ti},zT={hour:L,minute:L},GT={hour:L,minute:L,second:L},YT={hour:L,minute:L,second:L,timeZoneName:Xo},uT={hour:L,minute:L,second:L,timeZoneName:ti},OT={hour:L,minute:L,hourCycle:"h23"},HT={hour:L,minute:L,second:L,hourCycle:"h23"},ET={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Xo},QT={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:ti},UT={year:L,month:L,day:L,hour:L,minute:L},VT={year:L,month:L,day:L,hour:L,minute:L,second:L},bT={year:L,month:Xo,day:L,hour:L,minute:L},_T={year:L,month:Xo,day:L,hour:L,minute:L,second:L},h3={year:L,month:Xo,day:L,weekday:Xo,hour:L,minute:L},sT={year:L,month:ti,day:L,hour:L,minute:L,timeZoneName:Xo},jT={year:L,month:ti,day:L,hour:L,minute:L,second:L,timeZoneName:Xo},NT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,timeZoneName:ti},LT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,second:L,timeZoneName:ti};class hc{get type(){throw new Do}get name(){throw new Do}get ianaName(){return this.name}get isUniversal(){throw new Do}offsetName(n,i){throw new Do}formatOffset(n,i){throw new Do}offset(n){throw new Do}equals(n){throw new Do}get isValid(){throw new Do}}var Cf=null;class ha extends hc{static get instance(){if(Cf===null)Cf=new ha;return Cf}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var Wm={},I3={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},Am={};class Qo extends hc{static create(n){if(!Am[n])Am[n]=new Qo(n);return Am[n]}static resetCache(){Am={},Wm={}}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=Qo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o,this.name)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){const i=new Date(n);if(isNaN(i))return NaN;const o=D3(this.name);let[c,p,a,x,m,l,f]=o.formatToParts?C3(o,i):t3(o,i);if(x==="BC")c=-Math.abs(c)+1;const v=Hm({year:c,month:p,day:a,hour:m===24?0:m,minute:l,second:f,millisecond:0});let S=+i;const T=S%1000;return S-=T>=0?T:1000+T,(v-S)/60000}equals(n){return n.type==="iana"&&n.name===this.name}get isValid(){return this.valid}}var hF={},df={},i$={},o$={},La=null,DF={};class BT{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=r3(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):$$(n,3);return gn(i,this.padTo)}}}class yT{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&&Qo.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=n$(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 hT{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&ZT())this.rtf=Z3(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return KX(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var oX={firstDay:1,minimalDays:4,weekend:[6,7]};class On{static fromOpts(n){return On.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){const a=n||In.defaultLocale,x=a||(p?"en-US":q3()),m=i||In.defaultNumberingSystem,l=o||In.defaultOutputCalendar,f=c$(c)||In.defaultWeekSettings;return new On(x,m,l,f,a)}static resetCache(){La=null,df={},i$={},o$={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return On.create(n,i,o,c)}constructor(n,i,o,c,p){const[a,x,m]=e3(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=g3(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=iX(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 On.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,c$(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 Fm(this,n,dT,()=>{const o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=d3((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Fm(this,n,oM,()=>{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]=nX((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Fm(this,void 0,()=>cM,()=>{if(!this.meridiemCache){const n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[mn.utc(2016,11,13,9),mn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Fm(this,n,pM,()=>{const i={era:n};if(!this.eraCache[n])this.eraCache[n]=[mn.utc(-40,1,1),mn.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 BT(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new yT(n,this.intl,i)}relFormatter(n={}){return new hT(this.intl,this.isEnglish(),n)}listFormatter(n={}){return k3(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(!qT())return oX;else return P3(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 kf=null;class Ki extends hc{static get utcInstance(){if(kf===null)kf=new Ki(0);return kf}static instance(n){return n===0?Ki.utcInstance:new Ki(n)}static parseSpecifier(n){if(n){const i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ki(Em(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ba(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Ba(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Ba(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 x$ extends hc{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 IF=()=>Date.now(),tF="system",CF=null,kF=null,rF=null,ZF=60,qF,PF=null;class In{static get now(){return IF}static set now(n){IF=n}static set defaultZone(n){tF=n}static get defaultZone(){return Jc(tF,ha.instance)}static get defaultLocale(){return CF}static set defaultLocale(n){CF=n}static get defaultNumberingSystem(){return kF}static set defaultNumberingSystem(n){kF=n}static get defaultOutputCalendar(){return rF}static set defaultOutputCalendar(n){rF=n}static get defaultWeekSettings(){return PF}static set defaultWeekSettings(n){PF=c$(n)}static get twoDigitCutoffYear(){return ZF}static set twoDigitCutoffYear(n){ZF=n%100}static get throwOnInvalid(){return qF}static set throwOnInvalid(n){qF=n}static resetCaches(){On.resetCache(),Qo.resetCache()}}class io{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var DT=[0,31,59,90,120,151,181,212,243,273,304,334],IT=[0,31,60,91,121,152,182,213,244,274,305,335],$X=["January","February","March","April","May","June","July","August","September","October","November","December"],gT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],vX=["J","F","M","A","M","J","J","A","S","O","N","D"],nM=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],iM=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wX=["M","T","W","T","F","S","S"],cM=["AM","PM"],SX=["Before Christ","Anno Domini"],JX=["BC","AD"],AX=["B","A"],WX={D:zm,DD:KT,DDD:WT,DDDD:XT,t:zT,tt:GT,ttt:YT,tttt:uT,T:OT,TT:HT,TTT:ET,TTTT:QT,f:UT,ff:bT,fff:sT,ffff:NT,F:VT,FF:_T,FFF:jT,FFFF:LT};class Ri{static create(n,i={}){return new Ri(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 WX[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 gn(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,T)=>this.loc.extract(n,S,T),a=(S)=>{if(n.isOffsetFixed&&n.offset===0&&S.allowZ)return"Z";return n.isValid?n.zone.formatOffset(n.ts,S.format):""},x=()=>o?FX(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,T)=>o?MX(n,S):p(T?{month:S}:{month:S,day:"numeric"},"month"),l=(S,T)=>o?TX(n,S):p(T?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const T=Ri.macroTokenToFormatOpts(S);if(T)return this.formatWithSystemDefault(n,T);else return S},$=(S)=>o?RX(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 oT(Ri.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=Ri.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 oT(p,c(x))}}var aM=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,mM=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,XX=`(?:${mM.source}?(?:\\[(${aM.source})\\])?)?`,v$=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,lM=RegExp(`${v$.source}${XX}`),w$=RegExp(`(?:T${lM.source})?`),zX=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,GX=/(\d{4})-?W(\d\d)(?:-?(\d))?/,YX=/(\d{4})-?(\d{3})/,uX=xM("weekYear","weekNumber","weekDay"),OX=xM("year","ordinal"),HX=/(\d{4})-(\d\d)-(\d\d)/,fM=RegExp(`${v$.source} ?(?:${mM.source}|(${aM.source}))?`),EX=RegExp(`(?: ${fM.source})?`),UX=RegExp(`^T?${v$.source}\$`),VX=/^-?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)?)?)$/,_X={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},sX=/^(?:(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)))$/,LX=/^(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$/,BX=/^(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$/,yX=/^(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})$/,DX=yp(zX,w$),IX=yp(GX,w$),tX=yp(YX,w$),CX=yp(lM),$M=hp(QX,Ip,Ia,ta),kX=hp(uX,Ip,Ia,ta),rX=hp(OX,Ip,Ia,ta),ZX=hp(Ip,Ia,ta),dX=hp(Ip),i5=yp(HX,EX),o5=yp(fM),c5=hp(Ip,Ia,ta),pT="Invalid Duration",vM={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}},a5={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},...vM},no=365.2425,_p=30.436875,x5={years:{quarters:4,months:12,weeks:no/7,days:no,hours:no*24,minutes:no*24*60,seconds:no*24*60*60,milliseconds:no*24*60*60*1000},quarters:{months:3,weeks:no/28,days:no/4,hours:no*24/4,minutes:no*24*60/4,seconds:no*24*60*60/4,milliseconds:no*24*60*60*1000/4},months:{weeks:_p/7,days:_p,hours:_p*24,minutes:_p*24*60,seconds:_p*24*60*60,milliseconds:_p*24*60*60*1000},...vM},Bc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],m5=Bc.slice(0).reverse();class Mn{constructor(n){const i=n.conversionAccuracy==="longterm"||!1;let o=i?x5:a5;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||On.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 Hi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Mn({values:um(n,Mn.normalizeUnit),loc:On.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 Hi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){const[o]=gX(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]=n5(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 Hi("need to specify a reason the Duration is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new RT(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 a$(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?Ri.create(this.loc,o).formatDurationFromString(this,n):pT}toHuman(n={}){if(!this.isValid)return pT;const i=Bc.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+=$$(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},mn.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 wM(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 Bc)if(Bp(i.values,c)||Bp(this.values,c))o[c]=i.get(c)+this.get(c);return wc(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]=eT(n(this.values[o],o));return wc(this,{values:i},!0)}get(n){return this[Mn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...um(n,Mn.normalizeUnit)};return wc(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 wc(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;const n=this.toObject();return aT(this.matrix,n),wc(this,{values:n},!0)}rescale(){if(!this.isValid)return this;const n=l5(this.normalize().shiftToAll().toObject());return wc(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 Bc)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 aT(this.matrix,i),wc(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 wc(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 Bc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var sp="Invalid Interval";class Dn{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 Hi("need to specify a reason the Interval is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new MT(o);else return new Dn({invalid:o})}static fromDateTimes(n,i){const o=Na(n),c=Na(i),p=f5(o,c);if(p==null)return new Dn({start:o,end:c});else return p}static after(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){const[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=mn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=mn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Dn.fromDateTimes(p,x);if(a){const l=Mn.fromISO(c,i);if(l.isValid)return Dn.after(p,l)}else if(m){const l=Mn.fromISO(o,i);if(l.isValid)return Dn.before(x,l)}}return Dn.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 Dn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];const i=n.map(Na).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(Dn.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(Dn.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 Dn.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 Dn.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(Dn.fromDateTimes(i,m.time));i=null}return Dn.merge(c)}difference(...n){return Dn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return sp;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=zm,i={}){return this.isValid?Ri.create(this.s.loc.clone(i),n).formatInterval(this):sp}toISO(n){if(!this.isValid)return sp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return sp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return sp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return sp;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 Dn.fromDateTimes(n(this.s),n(this.e))}}class jp{static hasDST(n=In.defaultZone){const i=mn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Qo.isValidZone(n)}static normalizeZone(n){return Jc(n,In.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return On.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return On.create(i,null,"gregory").eras(n)}static features(){return{relative:ZT(),localeWeek:qT()}}}var J$={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"},mT={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]},w5=J$.hanidec.replace(/[\[|\]]/g,"").split(""),J5="missing Intl.DateTimeFormat.formatToParts support",A5=String.fromCharCode(160),SM=`[ ${A5}]`,JM=new RegExp(SM,"g"),R5={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"}},Zf=null,qf="Invalid DateTime",$T=8640000000000000,RM={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},O5={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},H5={ordinal:1,hour:0,minute:0,second:0,millisecond:0},KM=["year","month","day","hour","minute","second","millisecond"],E5=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Q5=["year","ordinal","hour","minute","second","millisecond"];class mn{constructor(n){const i=n.zone||In.defaultZone;let o=n.invalid||(Number.isNaN(n.ts)?new io("invalid input"):null)||(!i.isValid?Mm(i):null);this.ts=pn(n.ts)?In.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=Rm(this.ts,x),o=Number.isNaN(c.year)?new io("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||On.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new mn({})}static local(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ki.utcInstance,JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){const o=xX(n)?n.valueOf():NaN;if(Number.isNaN(o))return mn.invalid("invalid input");const c=Jc(i.zone,In.defaultZone);if(!c.isValid)return mn.invalid(Mm(c));return new mn({ts:o,zone:c,loc:On.fromObject(i)})}static fromMillis(n,i={}){if(!yc(n))throw new Hi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-$T||n>$T)return mn.invalid("Timestamp out of range");else return new mn({ts:n,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromSeconds(n,i={}){if(!yc(n))throw new Hi("fromSeconds requires a numerical input");else return new mn({ts:n*1000,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromObject(n,i={}){n=n||{};const o=Jc(i.zone,In.defaultZone);if(!o.isValid)return mn.invalid(Mm(o));const c=On.fromObject(i),p=um(n,ST),{minDaysInFirstWeek:a,startOfWeek:x}=dF(p,c),m=In.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,T=p.weekYear||p.weekNumber;if((S||f)&&T)throw new Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Lc("Can't mix ordinal dates with month/day");const R=T||p.weekday&&!S;let F,X,z=Rm(m,l);if(R)F=E5,X=O5,z=Gm(z,a,x);else if(f)F=Q5,X=H5,z=rf(z);else F=KM,X=RM;let Y=!1;for(let V of F){const K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=z[V]}const E=R?cX(p,a,x):f?pX(p):kT(p),s=E||rT(p);if(s)return mn.invalid(s);const G=R?eF(p,a,x):f?gF(p):p,[M,O]=Xm(G,l,o),U=new mn({ts:M,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return mn.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]=qX(n);return ja(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){const[o,c]=PX(n);return ja(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){const[o,c]=eX(n);return ja(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Hi("fromFormat requires an input string and a format");const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=u5(a,n,i);if(f)return mn.invalid(f);else return ja(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return mn.fromFormat(n,i,o)}static fromSQL(n,i={}){const[o,c]=p5(n);return ja(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the DateTime is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new TT(o);else return new mn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){const o=TM(n,On.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return AM(Ri.parseFormat(n),On.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?Pf(this).weekYear:NaN}get weekNumber(){return this.isValid?Pf(this).weekNumber:NaN}get weekday(){return this.isValid?Pf(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ef(this).weekday:NaN}get localWeekNumber(){return this.isValid?ef(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ef(this).weekYear:NaN}get ordinal(){return this.isValid?rf(this.c).ordinal:NaN}get monthShort(){return this.isValid?jp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?jp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?jp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?jp.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=Hm(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=Rm(m,a),$=Rm(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Nc(this,{ts:m}),Nc(this,{ts:l})];return[this]}get isInLeapYear(){return Da(this.year)}get daysInMonth(){return Ym(this.year,this.month)}get daysInYear(){return this.isValid?Np(this.year):NaN}get weeksInWeekYear(){return this.isValid?ya(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ya(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){const{locale:i,numberingSystem:o,calendar:c}=Ri.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ki.instance(n),i)}toLocal(){return this.setZone(In.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=Jc(n,In.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return mn.invalid(Mm(n));else{let c=this.ts;if(i||o){const p=n.offset(this.ts),a=this.toObject();[c]=Xm(a,p,n)}return Nc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){const c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Nc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;const i=um(n,ST),{minDaysInFirstWeek:o,startOfWeek:c}=dF(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 Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Lc("Can't mix ordinal dates with month/day");let $;if(p)$=eF({...Gm(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=gF({...rf(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Ym($.year,$.month),$.day);const[v,S]=Xm($,this.o,this.zone);return Nc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return Nc(this,vT(this,i))}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n).negate();return Nc(this,vT(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?Ri.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):qf}toLocaleString(n=zm,i={}){return this.isValid?Ri.create(this.loc.clone(i),n).formatDateTime(this):qf}toLocaleParts(n={}){return this.isValid?Ri.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=gf(this,a);return x+="T",x+=wT(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return gf(this,n==="extended")}toISOWeekDate(){return Km(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":"")+wT(this,a==="extended",i,n,o,p)}toRFC2822(){return Km(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Km(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return gf(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 Km(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():qf}[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=mX(i).map(Mn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=v5(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(mn.now(),n,i)}until(n){return this.isValid?Dn.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||mn.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 AT(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return AT(n.base||mn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(mn.isDateTime))throw new Hi("min requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(mn.isDateTime))throw new Hi("max requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return FM(a,n,i)}static fromStringExplain(n,i,o={}){return mn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return zm}static get DATE_MED(){return KT}static get DATE_MED_WITH_WEEKDAY(){return y3}static get DATE_FULL(){return WT}static get DATE_HUGE(){return XT}static get TIME_SIMPLE(){return zT}static get TIME_WITH_SECONDS(){return GT}static get TIME_WITH_SHORT_OFFSET(){return YT}static get TIME_WITH_LONG_OFFSET(){return uT}static get TIME_24_SIMPLE(){return OT}static get TIME_24_WITH_SECONDS(){return HT}static get TIME_24_WITH_SHORT_OFFSET(){return ET}static get TIME_24_WITH_LONG_OFFSET(){return QT}static get DATETIME_SHORT(){return UT}static get DATETIME_SHORT_WITH_SECONDS(){return VT}static get DATETIME_MED(){return bT}static get DATETIME_MED_WITH_SECONDS(){return _T}static get DATETIME_MED_WITH_WEEKDAY(){return h3}static get DATETIME_FULL(){return sT}static get DATETIME_FULL_WITH_SECONDS(){return jT}static get DATETIME_HUGE(){return NT}static get DATETIME_HUGE_WITH_SECONDS(){return LT}}var V5="3.4.4";WM.DateTime=mn;WM.Duration=Mn;WM.FixedOffsetZone=Ki;WM.IANAZone=Qo;WM.Info=jp;WM.Interval=Dn;WM.InvalidZone=x$;WM.Settings=In;WM.SystemZone=ha;WM.VERSION=V5;WM.Zone=hc});var OM=I((zM)=>{Object.defineProperty(zM,"__esModule",{value:!0});zM.RE_RANGE=zM.RE_WILDCARDS=zM.PRESETS=zM.TIME_UNITS_LEN=zM.TIME_UNITS=zM.TIME_UNITS_MAP=zM.ALIASES=zM.PARSE_DEFAULTS=zM.MONTH_CONSTRAINTS=zM.CONSTRAINTS=void 0;zM.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});zM.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});zM.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});zM.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});zM.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});zM.TIME_UNITS=Object.freeze(Object.values(zM.TIME_UNITS_MAP));zM.TIME_UNITS_LEN=zM.TIME_UNITS.length;zM.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"});zM.RE_WILDCARDS=/\*/g;zM.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var F$=I((EM)=>{Object.defineProperty(EM,"__esModule",{value:!0});EM.ExclusiveParametersError=EM.CronError=void 0;class A$ extends Error{}EM.CronError=A$;class HM extends A${constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}EM.ExclusiveParametersError=HM});var bM=I((UM)=>{Object.defineProperty(UM,"__esModule",{value:!0});UM.getRecordKeys=void 0;var g5=(n)=>{return Object.keys(n)};UM.getRecordKeys=g5});var Um=I((jM)=>{Object.defineProperty(jM,"__esModule",{value:!0});jM.CronTime=void 0;var Uo=XM(),xi=OM(),Wi=F$(),_M=bM();class sM{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 Wi.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!Uo.DateTime.fromObject({},{zone:i}).isValid)throw new Wi.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=_M.getRecordKeys(this.month),i=_M.getRecordKeys(this.dayOfMonth);let o=!1,c=null;for(let p of n){const a=xi.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=xi.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 Wi.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(Uo.DateTime.local()>i)throw new Wi.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 xi.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 Wi.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 Wi.CronError(`Something went wrong. No execution date was found in the next 8 years.
|
|
36
|
-
Please provide the following string if you would like to help debug:
|
|
37
|
-
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 Wi.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 Wi.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=xi.CONSTRAINTS[n],o=i[0],c=n===xi.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(xi.PRESETS).includes(n))n=xi.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(xi.ALIASES).includes(p))return xi.ALIASES[p].toString();throw new Wi.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<xi.TIME_UNITS_LEN-1)throw new Wi.CronError("Too few fields");if(o.length>xi.TIME_UNITS_LEN)throw new Wi.CronError("Too many fields");const c=o.length;for(let p of xi.TIME_UNITS){const a=xi.TIME_UNITS.indexOf(p),x=(i=o[a-(xi.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:xi.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){const o=this[i];let c;const p=xi.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{const $=f.indexOf("*");if($!==-1&&$!==0)throw new Wi.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(xi.RE_WILDCARDS,`${a}-${x}`);const l=n.split(",");for(let f of l){const $=[...f.matchAll(xi.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){const[,v,S,T]=$;let R=parseInt(v,10),F=S!==void 0?parseInt(S,10):void 0;const X=T!==void 0,z=parseInt(T!==null&&T!==void 0?T:"1",10);if(z===0)throw new Wi.CronError(`Field (${i}) has a step of zero`);if(F!==void 0&&R>F)throw new Wi.CronError(`Field (${i}) has an invalid range`);if(R<a||F!==void 0&&F>x||F===void 0&&R>x)throw new Wi.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),F!==void 0)F=Math.min(x,~~Math.abs(F));else F=X?x:R;c=R;do o[c]=!0,c+=z;while(c<=F);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Wi.CronError(`Field (${i}) cannot be parsed`)}}}jM.CronTime=sM});var hM=I((BM)=>{Object.defineProperty(BM,"__esModule",{value:!0});BM.CronJob=void 0;var LM=import.meta.require("child_process"),T$=F$(),Vm=Um();class Ca{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 T$.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Vm.CronTime(n,p,null);else if(m!=null)this.cronTime=new Vm.CronTime(n,null,m);else this.cronTime=new Vm.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 T$.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Ca(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 Ca(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Ca(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 LM.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return LM.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 Vm.CronTime))throw new T$.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)}}BM.CronJob=Ca});var tM=I((bm)=>{Object.defineProperty(bm,"__esModule",{value:!0});bm.timeout=bm.sendAt=bm.CronTime=bm.CronJob=void 0;var DM=Um(),d5=hM();Object.defineProperty(bm,"CronJob",{enumerable:!0,get:function(){return d5.CronJob}});var nz=Um();Object.defineProperty(bm,"CronTime",{enumerable:!0,get:function(){return nz.CronTime}});var iz=(n)=>new DM.CronTime(n).sendAt();bm.sendAt=iz;var oz=(n)=>new DM.CronTime(n).getTimeout();bm.timeout=oz});import{createHash as VR}from"crypto";import*as _R from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class ep 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 Sv(n){return Object.entries(n)}var Jv=(n,i,o=on.STORE)=>{return gp(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 Av(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 nl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function Co(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 ${mo(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),T=i.default,R={key:v,default:T instanceof Function?T(l):T};if(i.effects)R.effects=i.effects(l);const F=ko(S,R,$);return a.next({type:"state_creation",token:F}),F},c,{subject:a,install:(l)=>Co(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Fv(n,i){if("mutable"in i)return dp(n,i);return Co(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 ${mo(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),T=na(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ro(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function il(n,i){if("set"in i)return ia(n,i);return ro(n,i)}function ec(n,i){const o=e(i),c=`${n.key}(${o})`,p=V4[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 V4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ki(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return Tv(on.STORE,n)}function Mc(n){return Fv(on.STORE,n)}var ol=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},b4={error:ol("error"),info:ol("info"),warn:ol("warn")};class oa{n;i;o;constructor(n,i,o=b4){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 px(n){return il(on.STORE,n)}function Rc(n){return cl(n,on.STORE)}class Ni{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 An(n){return"phase"in n.transactionMeta}var Mv=(n)=>{const i=b(n);if(!An(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 mo(n){return n.type.split("_").map(_4).join(" ")}var _4=(n)=>n[0].toUpperCase()+n.slice(1);class Ui extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${mo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{const c=n[1];super(`${mo(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 Ui(n,o)}}var ax=(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"),Rv(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 Kv=(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}"${!An(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Wv=(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)},Xv=(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 zv=(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 pl=(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(Xv(o,p))continue;Gv(p,o),gc(o,p)}}};function s4(n,i){if(uv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Yv=(n,i,o)=>{const{key:c}=n,p=b(o);if(!An(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(!s4(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 Ov=(n,i,o)=>{const c=Po(n,o);let p=c;if(n.type==="mutable_atom"&&An(o)){const{parent:x}=o;p=ca(n,x,o)}if(p=ax(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ri(n.key,p,n.subject,o),Hv(n.key,o))Ev(n.key,o);gc(o,n.key),pl(n,o);const a={oldValue:c,newValue:p};if(kn(o))zv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Yv(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"&&An(o)){const{parent:$}=o;l=ca(m,$,o)}if(l.do(a.newValue)===null)pl(m,o)}}};var xx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":Ov(n,i,o);break;case"selector":n.set(i);break}};function mx(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=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(n,c,p)}else c=i[0],p=i[1],a=i[2],o=Fn(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=Kv(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);xx(m,a,n),Wv(n)}function lx(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 al(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]===Qv){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]===Qv){a="all";for(let v of i){const S=e(v),T=n.molecules.get(S);if(!T)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(T)}}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(An(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 pa(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")pa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)pa(n,f.key);c.below.clear();const x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(An(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 Z9=Symbol("provenance"),Qv="T$";function Uv(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 lo(n,i,o){const c=bo(o,i,n.key);n.tokens.set(c.key,c);const p=An(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function fx(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=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(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=Fn(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 Ui(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 Vv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){const a=Av(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 z=e(X.key),Y=n.molecules.get(z);if(!Y)throw new Error(`Molecule ${z} 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,z)=>Nn(b(a),X,z),json:(X)=>en(b(a),X),run:(X,z=Pc())=>qo(X,z,b(n)),make:(X,z,Y,...E)=>_o(b(a),X,z,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>fx(b(a)),bond:(X,z)=>{if(X.type==="join"){const{as:Y}=z,E=aa(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 G=X.a===Y?X.b:X.a,M=bv(X,c),O=M[`${G}KeysOf${Vv(Y)}`],U=M[`${G}EntriesOf${Vv(Y)}`];let V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return lo($,d(X,a),b(a))},claim:(X,z)=>{const{exclusive:Y}=z,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,z,...Y)=>_o(b(n),[$],d(X,n),z,...Y)},S=d(o,n),T=S.new;$.instance=new T(v,c,...p);const R={type:"molecule",key:c,family:o},F={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(F);else if(An(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(F);return x.moleculeInProgress=null,R}function xl(n,i,o){switch(i){case"newValue":{_v(n,o);break}case"oldValue":{li(o,n.token);break}}}function ml(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{_v(n,o),o.valueMap.set(n.token.key,n.value);break}}}function _v(n,i){const{family:o}=n.token;if(o){const c=i.families.get(o.key);if(c)Fn(i,c,rn(o.subKey))}}function ll(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":al(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":pa(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":pa(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)lo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{al(o,n.provenance,n.key);for(let[c,p]of n.values){const a=o.families.get(c);if(a){Fn(o,a,n.key);const x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function $x(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":lx(n,p,o);break;case"state_creation":xl(p,n,o);break;case"state_disposal":ml(p,n,o);break;case"molecule_creation":ll(p,n,o);break;case"molecule_disposal":fl(p,n,o);break;case"transaction_update":$x(n,p,o);break}}function sv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function jv(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 Nv=(n,i)=>{const o=b(i),{parent:c}=o;if(c===null||!An(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),$x("newValue",o.transactionMeta.update,c),kn(c))jv(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(An(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function Lv(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 Zi 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 Bv=(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 Zi(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new Zi(p.families),operation:{open:!1},readonlySelectors:new Zi(p.readonlySelectors),timelines:new Zi(p.timelines),timelineTopics:new Ni(p.timelineTopics.toJSON()),trackers:new Map,transactions:new Zi(p.transactions),selectorAtoms:new Ni(p.selectorAtoms.toJSON()),selectorGraph:new Ni(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new Zi(p.selectors),valueMap:new Zi(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new Zi(p.molecules),moleculeFamilies:new Zi(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new Zi(p.miscResources)},x=yv(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,$)=>Fn(l,f,$),seek:(f,$)=>Nn(l,f,$),json:(f)=>en(l,f),make:(f,$,v,...S)=>_o(l,f,$,v,...S),dispose:(...f)=>{li(l,...f)},env:()=>fx(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 cl(n,i){const o={key:n.key,type:"transaction",run:(a,x)=>{const m=Bv(n.key,a,i,x);try{const l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Nv($,l),$}catch(l){throw Mv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>cl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);const p=ki(o);return i.on.transactionCreation.next(p),p}function yv(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 vx{_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 vx([...this._buffer]);return n._index=this._index,n}}class hv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new Ni({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Ni({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 Ni({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Ni({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new vx(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 nl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new oa("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 Ni(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=en(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 hv({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 Ui(n,i)}function wx(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(ki(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")wx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)wx(f,i);if(o.below.clear(),An(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 Ui(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(An(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 ki(x);return x}function Fn(n,i,o){let c=Nn(n,i,o);if(c)return c;const p=n.molecules.get(e(o));if(p)return lo(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):Fn(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":$l(o,n);break;case"selector":case"readonly_selector":Dv(o,n);break;case"molecule":wx(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 Sx=(n,i)=>b(i).atoms.has(n),j4=(n,i)=>b(i).selectors.has(n),N4=(n,i)=>b(i).readonlySelectors.has(n),Iv=(n,i)=>Sx(n,i)||j4(n,i)||N4(n,i);var Jx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Iv(c,i))};var vl=(n,i,o)=>{const c=[],p=Jx(n,o);while(p.length>0){const a=p.shift();if(i.has(a))continue;if(i.add(a),!Sx(a,o))p.push(...Jx(a,o));else if(!c.includes(a))c.push(a)}return c},tv=(n,i)=>{const o=n.key,c=Jx(o,i),p=new Set;return c.flatMap((a)=>Sx(a,i)?a:vl(a,p,i))};var Cv=(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=vl(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=Fn(o,l,f);else{const $=Nn(o,l,f);if($)a=$;else throw new Ui(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}),Cv(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"?Fn(o,l,f):Nn(o,l,f);if(!$)throw new Ui(l,f,o);p=$}const x=b(o),m=d(p,x);xx(m,a,x)},find:(c,p)=>Fn(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>en(o,c)});var na=(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 ri(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>na(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 T={key:i.key,type:"readonly_selector"};if(o)T.family=o;return T};var xa=(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=(z=i.get,Y=b(n))=>{const E=z(v);return ri(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(z)=>xa(z,i,o),get:S,set:(z)=>{const Y=b(n),E=S(i.get,Y),s=ax(z)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ri(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 F=S();n.logger.info("\u2728",R.type,R.key,"=",F);const X={key:i.key,type:"selector"};if(o)X.family=o;return X};function gp(n,i){if("set"in i){const p=xa(n,i,void 0);return n.on.selectorCreation.next(p),p}const c=na(n,i,void 0);return n.on.selectorCreation.next(c),c}function Dv(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"),An(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ia(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 ${mo(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),T=xa(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ia(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function kv(n,i,o=on.STORE){const c=ia(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=lo($,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=lo(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,rn(a.token.family.subKey))}),c}var rn=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),BO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var rv=(n,i)=>{const o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Jl=(n,i)=>{const o=b(i);return tv(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=rv(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 Gi(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=Jl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Jl(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 wl=(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 Sl=(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}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=Gi(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}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Gi(i,({newValue:p,oldValue:a})=>{const x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){const f=wl({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 ma(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."),ki(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}"`),ma(f,i,o)},subject:a};if(o)x.family=o;const m=i.default();c.atoms.set(x.key,x),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Jv(l,i,n);return l}class Al{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=Co(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=rn(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=rn(c.token.family.subKey),a=Nn(i,this.mutableAtoms,p);if(a)new eo(a,i)}})}}function dp(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 ${mo(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),T={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)T.effects=i.effects(l);const R=ma(S,T,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>dp(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),kv(m,i,n),new Al(m,n),c}var Fl=(n,i)=>{const o=b(i),c=`${n.key}:JSON`;return o.families.get(c)};var en=(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 Fn(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 uv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function ca(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 ri(n,i,o,c){const p=c.valueMap.get(n);if(p instanceof ep)p.use(i);if(i instanceof Promise){const a=new ep(i);return c.valueMap.set(n,a),a.then((x)=>{ri(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 Rv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&An(i)){const{parent:c}=i;o=ca(n,c,i)}return o},Gv=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof ep){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 Hv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Fx=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},Ev=(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."),ki(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),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function Tv(n,i){if("mutable"in i){const p=ma(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 $l(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);$l(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),An(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 Tl(o).set(n.key,new Ml(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Tl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function aa(n,i){const o=Tl(i);let c=o.get(n.key);if(c===void 0){if(c=Tl(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=aa(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 Kc(n,i,o){const c=aa(n,o),p=b(o);if(An(p)){const{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function L4(n,i){return aa(n,i).core.findRelatedKeysState}function Zv(n){return L4(n,on.STORE)}class Ml{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 Ml(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=(G,M)=>{const O=this.toolkit.seek(G,M);if(O)return O;const U=this.molecules.get(e(M));if(U){const V=d(G,o);return lo(U,V,o)}if(o.config.lifespan==="immortal")throw new Ui(G,M,o);return bo(o,G,M)},this.toolkit={get:(...G)=>Kn(o,...G),set:(...G)=>{zn(o,...G)},find:this.retrieve,seek:(...G)=>Nn(o,...G),json:(G)=>en(o,G),dispose:(...G)=>{li(o,...G)}};const c=n.between[0],p=n.between[1],a=dp(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(G)=>oi.fromJSON(G),toJson:(G)=>G.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};const x=({get:G},M)=>G(this.retrieve(a,M)),m=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);U(V,(B)=>B.add(O)),U(K,(B)=>B.add(M))},l=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);let B,_;U(V,(P)=>{if(P.delete(O),P.size===0)B=`"${M}"`;return P}),U(K,(P)=>{if(P.delete(M),P.size===0)_=`"${O}"`;return P})},f=(G,M,O)=>{const{get:U,set:V}=G,K=this.retrieve(a,M),B=U(K);for(let _ of B){if(O.includes(_))continue;const ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(M),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){const $n=x(G,ln),Qn=$n.has(M);if(this.relations.cardinality==="1:n"){const ji=[];for(let H of $n){if(H===M)continue;const k=x(G,H);if(k.delete(ln),k.size===0)ji.push(H)}if(!Qn&&$n.size>0)$n.clear();for(let H of ji){const k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Qn)$n.add(M);P.add(ln)}return!0}),_})},$=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M);U(V,(K)=>{return K.transaction((B)=>{for(let _ of O)B.add(_);return!0}),K});for(let K of O){const B=this.retrieve(a,K);U(B,(_)=>{return _.add(M),_})}return!0},v=(G,M,O)=>{const U=x(G,M);return O?U.has(O):U.size>0},S={getRelatedKeys:(G)=>x(this.toolkit,G),addRelation:(G,M)=>{m(this.toolkit,G,M)},deleteRelation:(G,M)=>{l(this.toolkit,G,M)},replaceRelationsSafely:(G,M)=>{f(this.toolkit,G,M)},replaceRelationsUnsafely:(G,M)=>{$(this.toolkit,G,M)},has:(G,M)=>v(this.toolkit,G,M)};let T,R,F;if(i){R=Co(o,{key:`${n.key}/content`,default:i},["join","content"]);const G={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};F=Uv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(B,_){this.key=_}}});const M=({get:K},B)=>K(this.retrieve(R,B)),O=({set:K},B,_)=>{K(this.retrieve(R,B),_)},U=(K,B)=>{const _=o.molecules.get(`"${B}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${B}"`)};T=Object.assign(S,{getContent:(K)=>{return M(this.toolkit,K)},setContent:(K,B)=>{O(this.toolkit,K,B)},deleteContent:(K)=>{U(this.toolkit,K)}})}else T=S;const X=new Ni(n,{externalStore:T,makeContentKey:(...G)=>{const M=G.sort(),O=`${M[0]}:${M[1]}`,[U,V]=M.map((K)=>this.molecules.get(e(K)));if(o.config.lifespan==="immortal"&&U&&V){const K=b(o),B=_o(K,[U,V],F,O);this.molecules.set(`"${O}"`,d(B,K))}return O}}),z=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U){const K=X.makeContentKey(G,V),B=this.retrieve(R,K),_=M(B);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members.map((K)=>{const B=X.makeContentKey(G,K),_=this.retrieve(R,B),P=M(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const G=z(),M=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=E(),B=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[B]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{const G=z(),M=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:G,[U]:M};let K;if(i){const B=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:B,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{const G=Y(),M=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=s(),B=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[B]: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 la 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=rn(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=rn(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=rn(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=rn(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 qv 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 Rl 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=rn(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=rn(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 qv(`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 ev(n){const{key:i,config:o}=n,c=Mx.create(i,o),{actions:p}=c;for(let a of p)Lv(i,a.key,on.STORE);return sv(i,-1,on.STORE),c}class Pv 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 Mx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Pv;static create(n,i){const o=new Mx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Mx.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 cU=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kl=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),B4={enteredAtEpoch:0},fa=Tx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},B4),pU=px({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=Zv(fa);return[i(o,n)]}});import{spawn as y4}from"child_process";var Wl=Mc({key:"roomArguments",default:["echo",["Hello World!"]]}),gv=px({key:"room",get:(n)=>async({get:i,find:o})=>{const c=o(Wl,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{const f=y4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new la(m,n)}});var MU=Rc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{const x=a?[p,a]:[p],m=o(Wl,c);i(m,x),i(Kl,($)=>$.add(c));const l=o(gv,c);return n(l)}}),RU=Rc({key:"joinRoom",do:(n,i,o,c)=>{const p={enteredAtEpoch:c};return Kc(fa,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),KU=Rc({key:"leaveRoom",do:(n,i,o)=>{Kc(fa,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),WU=Rc({key:"destroyRoom",do:(n,i)=>{Kc(fa,(o)=>{o.delete({room:i})},n.env().store),n.set(Kl,(o)=>(o.delete(i),o))}});function Xl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const c=Xl(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 GU=Mc({key:"transactionRedactor",default:{occlude:(n)=>n}}),dv=Mc({key:"unacknowledgedUpdates",default:()=>[]});var $a=Mc({key:"sockets",default:null}),zl=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Gl=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Wc=Tx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function n0({socket:n,store:i=on.STORE}){return function o(c){let p=n;const a=c.key,x=np(Wc,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(Wc,m,i).socketKeyOfUser;Gi(l,({newValue:z})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${z}`),z===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}const Y=Fn(i,$a,z);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);const f=Fn(i,dv,m),$=Kn(i,f),v=[],T=(()=>{const z=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=Fn(i,E,m),G=Gi(s,({oldValue:M,newValue:O})=>{const U=M.map((_)=>_.key),V=O.map((_)=>_.key),K=M.filter((_)=>!V.includes(_.key)),B=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{const P=_.type==="mutable_atom"?en(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:B,concealed:K}),B.length>0)p?.emit(`reveal:${a}`,B);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);z.push(G)}return()=>{for(let Y of z)Y()}})(),R=()=>{const z=[];for(let E of c.globals){const s=E.type==="mutable_atom"?en(i,E):E,G=Kn(i,s);z.push(s,G)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:G}=E,M=Fn(i,s,m),O=Kn(i,M);i.logger.info("\uD83D\uDC41","atom",G.key,`${m} can see`,{viewAtoms:s,resourceAtoms:G,userView:O});for(let U of O){const V=U.type==="mutable_atom"?en(i,U):U,K=Kn(i,V);z.push(V,K)}}const Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,z);for(let E of c.actions){const s=Sl(E,(G)=>{try{const M=c.globals.map((V)=>{if(V.type==="atom")return V.key;return so(V).key}).concat(c.perspectives.flatMap((V)=>{const{viewAtoms:K}=V,B=Fn(i,K,m);return Kn(i,B).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Xl(M,G.updates),U={...G,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,B)=>K.epoch-B.epoch);return V}),p?.emit(`tx-new:${a}`,U)}catch(M){if(M instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,M.message)}},`sync-continuity:${a}:${m}`,i);v.push(s)}};p.off(`get:${a}`,R),p.on(`get:${a}`,R);const F=(z)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",z);const{key:Y,id:E}=z,s=`tx-run:${Y}:${E}`,G=`${s}:start`,M=`${s}:end`;performance.mark(G);try{qo({type:"transaction",key:Y},E,i)(...z.params)}catch(B){if(B instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,B.message)}performance.mark(M);const O=performance.measure(s,G,M);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}`,F),p.on(`tx-run:${a}`,F);const X=(z)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${z}`),$[0]?.epoch===z)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let z of v)z();p?.off(`ack:${a}`,X),T(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,F)}}}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=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"),lV=Symbol.for("drizzle:hasOwnEntityKind");class bn{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 Yl{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 fo=Symbol.for("drizzle:Name");class ul{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 i0(n,this)}}class i0{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[fo],...c,o[0].table[fo],...p];return n??`${a.join("_")}_fk`}}function Rx(n,...i){return n(...i)}function o0(n,i){return`${n[fo]}_${i.join("_")}_unique`}function c0(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 p0(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]=c0(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){const[l,f]=p0(n,c+1);o.push(l),c=f;continue}const[x,m]=c0(n,c,!1);o.push(x),c=m}return[o,c]}function a0(n){const[i]=p0(n,1);return i}function Ol(n){return`{${n.map((i)=>{if(Array.isArray(i))return Ol(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class t extends Yl{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new m0(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 Rx((p,a)=>{const x=new ul(()=>{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 x0(n,this.config)}}class j extends bn{constructor(n,i){if(!i.uniqueName)i.uniqueName=o0(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class x0 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 va{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 m0 extends t{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 Hl(n,this.config,i)}}class Hl 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=a0(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){const o=n.map((c)=>c===null?null:u(this.baseColumn,Hl)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return Ol(o)}}function l0(n){return!!n&&typeof n==="function"&&El in n&&n[El]===!0}function Kx(n,i){return h4(n,i,void 0)}function h4(n,i,o){const c=Object.assign((p)=>new f0(p??"",c),{enumName:n,enumValues:i,schema:o,[El]:!0});return c}var El=Symbol.for("drizzle:isPgEnum");class f0 extends t{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new $0(n,this.config)}}class $0 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 wa extends fi{static[J]="WithSubquery"}var v0="0.34.1";var Ql,Ul,En={startActiveSpan(n,i){if(!Ql)return i();if(!Ul)Ul=Ql.trace.getTracer("drizzle-orm",v0);return Rx((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()}}),Ql,Ul)}};var yn=Symbol.for("drizzle:ViewBaseConfig");function qi(n){return n[fo]}function Xc(n){return`${n[Wx]??"public"}.${n[fo]}`}var Wx=Symbol.for("drizzle:Schema"),w0=Symbol.for("drizzle:Columns"),S0=Symbol.for("drizzle:ExtraConfigColumns"),Vl=Symbol.for("drizzle:OriginalName"),bl=Symbol.for("drizzle:BaseName"),J0=Symbol.for("drizzle:IsAlias"),A0=Symbol.for("drizzle:ExtraConfigBuilder"),D4=Symbol.for("drizzle:IsDrizzleTable");class h{static[J]="Table";static Symbol={Name:fo,Schema:Wx,OriginalName:Vl,Columns:w0,ExtraConfigColumns:S0,BaseName:bl,IsAlias:J0,ExtraConfigBuilder:A0};[fo];[Vl];[Wx];[w0];[S0];[bl];[J0]=!1;[D4]=!0;[A0]=void 0;constructor(n,i,o){this[fo]=this[Vl]=n,this[Wx]=i,this[bl]=o}}function _l(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function I4(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 F0(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}function A(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 C(o)}function sl(n,i){return n.map((o)=>{if(u(o,go)){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,go)){if(!(o.value.name in i))throw new Error(`No value for placeholder "${o.value.name}" was provided`);return o.encoder.mapToDriverValue(i[o.value.name])}return o})}class ci{static[J]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new C([this])}}class C{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=T0;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 I4(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,Xx))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,C))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,h)){const $=f[h.Symbol.Schema],v=f[h.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,bn)){const $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[h.Symbol.Name])+"."+p($),params:[]}}if(u(f,Vi)){const $=f[yn].schema,v=f[yn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};const $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,C))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,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,C.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 Xx(f._.alias)],o)}if(l0(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(_l(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 C.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 Xx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new C([this])}}var T0={mapFromDriverValue:(n)=>n},M0={mapToDriverValue:(n)=>n},PV={...T0,...M0};class Li{constructor(n,i=M0){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new C([this])}}((n)=>{function i(){return new C([])}n.empty=i;function o(l){return new C(l)}n.fromList=o;function c(l){return new C([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 C($)}n.join=p;function a(l){return new Xx(l)}n.identifier=a;function x(l){return new go(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(A||(A={}));((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})(C||(C={}));class go{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new C([this])}}class Vi{static[J]="View";[yn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[yn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new C([this])}}bn.prototype.getSQL=function(){return new C([this])};h.prototype.getSQL=function(){return new C([this])};fi.prototype.getSQL=function(){return new C([this])};function zx(n,i){return new Proxy(n,new Sa(i,!1))}function Yo(n,i){return new Proxy(n,new op(new Proxy(n.table,new Sa(i,!1))))}function jl(n,i){return new C.Aliased(Ja(n.sql,i),n.fieldAlias)}function Ja(n,i){return A.join(n.queryChunks.map((o)=>{if(u(o,bn))return Yo(o,i);if(u(o,C))return Ja(o,i);if(u(o,C.Aliased))return jl(o,i);return o}))}class op{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Sa{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="TableAliasProxyHandler";get(n,i){if(i===h.Symbol.IsAlias)return!0;if(i===h.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===h.Symbol.OriginalName)return this.alias;if(i===yn)return{...n[yn],name:this.alias,isAlias:!0};if(i===h.Symbol.Columns){const c=n[h.Symbol.Columns];if(!c)return c;const p={};return Object.keys(c).map((a)=>{p[a]=new Proxy(c[a],new op(new Proxy(n,this)))}),p}const o=n[i];if(u(o,bn))return new Proxy(o,new op(new Proxy(n,this)));return o}}class Gx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Nl extends Gx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function bi(n,i){if(F0(i)&&!_l(n)&&!u(n,Li)&&!u(n,go)&&!u(n,bn)&&!u(n,h)&&!u(n,Vi))return new Li(n,i);return n}function zc(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" and ")),new ci(")")])}function K0(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" or ")),new ci(")")])}function W0(n){return A`not ${n}`}function Y0(n,i){if(Array.isArray(i)){if(i.length===0)return A`false`;return A`${n} in ${i.map((o)=>bi(o,n))}`}return A`${n} in ${bi(i,n)}`}function u0(n,i){if(Array.isArray(i)){if(i.length===0)return A`true`;return A`${n} not in ${i.map((o)=>bi(o,n))}`}return A`${n} not in ${bi(i,n)}`}function O0(n){return A`${n} is null`}function H0(n){return A`${n} is not null`}function E0(n){return A`exists ${n}`}function Q0(n){return A`not exists ${n}`}function U0(n,i,o){return A`${n} between ${bi(i,n)} and ${bi(o,n)}`}function V0(n,i,o){return A`${n} not between ${bi(i,n)} and ${bi(o,n)}`}function b0(n,i){return A`${n} like ${i}`}function _0(n,i){return A`${n} not like ${i}`}function s0(n,i){return A`${n} ilike ${i}`}function j0(n,i){return A`${n} not ilike ${i}`}var uo=(n,i)=>{return A`${n} = ${bi(i,n)}`},R0=(n,i)=>{return A`${n} <> ${bi(i,n)}`},Yx=(n,i)=>{return A`${n} > ${bi(i,n)}`},X0=(n,i)=>{return A`${n} >= ${bi(i,n)}`},z0=(n,i)=>{return A`${n} < ${bi(i,n)}`},G0=(n,i)=>{return A`${n} <= ${bi(i,n)}`};function N0(n){return A`${n} asc`}function L0(n){return A`${n} desc`}class B0{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Ll{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new B0}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 Bl{static[J]="NoopLogger";logQuery(){}}class Yi{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 y0(n,i,o){const c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,bn))f=m;else if(u(m,C))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 T=i[l],R=$[S]=T===null?null:f.mapFromDriverValue(T);if(o&&u(m,bn)&&x.length===2){const F=x[0];if(!(F in c))c[F]=R===null?qi(m.table):!1;else if(typeof c[F]==="string"&&c[F]!==qi(m.table))c[F]=!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 Pi(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,bn)||u(p,C)||u(p,C.Aliased))o.push({path:a,field:p});else if(u(p,h))o.push(...Pi(p[h.Symbol.Columns],a));else o.push(...Pi(p,a));return o},[])}function yl(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 ux(n,i){const o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,C))return[c,p];else return[c,new Li(p,n[h.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function h0(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 D0(n){return n[h.Symbol.Columns]}function hl(n){return u(n,fi)?n._.alias:u(n,Vi)?n[yn].name:u(n,C)?void 0:n[h.Symbol.IsAlias]?n[h.Symbol.Name]:n[h.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}class nc extends t{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 r0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new I0(o);return new C0(o)}class I0 extends nc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new t0(n,this.config)}}class t0 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class C0 extends nc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new k0(n,this.config)}}class k0 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function g0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new Z0(o);return new P0(o)}class Z0 extends t{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new q0(n,this.config)}}class q0 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class P0 extends t{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new e0(n,this.config)}}class e0 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function Aa(n){return new d0(n??"")}class d0 extends t{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new nw(n,this.config)}}class nw extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function cw(n,i={}){const{name:o,config:c}=Jn(n,i);return new iw(o,c)}class iw extends t{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new ow(n,this.config)}}class ow extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function xw(n){return new pw(n??"")}class pw extends t{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new aw(n,this.config)}}class aw extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function fw(n){return(i,o)=>{const{name:c,config:p}=Jn(i,o);return new mw(c,p,n)}}class mw extends t{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new lw(n,this.config)}}class lw 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 jo extends t{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(A`now()`)}}function ww(n,i){const{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new $w(o);return new vw(o)}class $w extends jo{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new Ox(n,this.config)}}class Ox extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class vw extends jo{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Hx(n,this.config)}}class Hx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function Aw(n){return new Sw(n??"")}class Sw extends t{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new Jw(n,this.config)}}class Jw extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function Mw(n){return new Fw(n??"")}class Fw extends t{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new Tw(n,this.config)}}class Tw extends j{static[J]="PgInet";getSQLType(){return"inet"}}function Ex(n){return new Rw(n??"")}class Rw extends nc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Kw(n,this.config)}}class Kw extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function zw(n,i={}){const{name:o,config:c}=Jn(n,i);return new Ww(o,c)}class Ww extends t{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new Xw(n,this.config)}}class Xw 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 Yw(n){return new Gw(n??"")}class Gw extends t{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Qx(n,this.config)}}class Qx 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 Ow(n){return new uw(n??"")}class uw extends t{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new Ux(n,this.config)}}class Ux 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 Vw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new Hw(o);return new Qw(o)}class Hw extends t{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new Ew(n,this.config)}}class Ew 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 Qw extends t{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new Uw(n,this.config)}}class Uw 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 sw(n){return new bw(n??"")}class bw extends t{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new _w(n,this.config)}}class _w extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function Lw(n){return new jw(n??"")}class jw extends t{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new Nw(n,this.config)}}class Nw extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function yw(n,i){const{name:o,config:c}=Jn(n,i);return new Bw(o,c?.precision,c?.scale)}class Bw extends t{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new Vx(n,this.config)}}class Vx 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 Cw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new hw(o);return new Iw(o)}class hw extends t{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new Dw(n,this.config)}}class Dw 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 Iw extends t{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new tw(n,this.config)}}class tw 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 t4(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 kw(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 Dl(n){const i=t4(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=kw(i,o);o+=8;const l=kw(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}function ew(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new rw(o);return new qw(o)}class rw extends t{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new Zw(n,this.config)}}class Zw extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Dl(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class qw extends t{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new Pw(n,this.config)}}class Pw extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){const i=Dl(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function nS(n){return new gw(n??"")}class gw extends t{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new dw(n,this.config)}}class dw 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 cS(n){return new iS(n??"")}class iS extends t{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new oS(n,this.config)}}class oS extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function xS(n){return new pS(n??"")}class pS extends nc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new aS(n,this.config)}}class aS extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function fS(n){return new mS(n??"")}class mS extends t{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new lS(n,this.config)}}class lS extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function wS(n,i={}){const{name:o,config:c}=Jn(n,i);return new $S(o,c)}class $S extends t{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new vS(n,this.config)}}class vS extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function JS(n,i={}){const{name:o,config:c}=Jn(n,i);return new SS(o,c.withTimezone??!1,c.precision)}class SS extends jo{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 bx(n,this.config)}}class bx 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 $o(n,i={}){const{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new FS(o,c.withTimezone??!1,c.precision);return new AS(o,c?.withTimezone??!1,c?.precision)}class AS extends jo{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new _x(n,this.config)}}class _x 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 FS extends jo{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new sx(n,this.config)}}class sx 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 Bi(n){return new TS(n??"")}class TS extends t{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(A`gen_random_uuid()`)}build(n){return new jx(n,this.config)}}class jx extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function $i(n,i={}){const{name:o,config:c}=Jn(n,i);return new MS(o,c)}class MS extends t{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new RS(n,this.config)}}class RS extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function XS(n,i){const{name:o,config:c}=Jn(n,i);return new KS(o,c)}class KS extends t{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new WS(n,this.config)}}class WS extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function YS(n,i){const{name:o,config:c}=Jn(n,i);return new zS(o,c)}class zS extends t{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new GS(n,this.config)}}class GS 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 HS(n,i){const{name:o,config:c}=Jn(n,i);return new uS(o,c)}class uS extends t{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new OS(n,this.config)}}class OS extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function US(n,i){const{name:o,config:c}=Jn(n,i);return new ES(o,c)}class ES extends t{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new QS(n,this.config)}}class QS 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 VS(){return{bigint:r0,bigserial:g0,boolean:Aa,char:cw,cidr:xw,customType:fw,date:ww,doublePrecision:Aw,inet:Mw,integer:Ex,interval:zw,json:Yw,jsonb:Ow,line:Vw,macaddr:sw,macaddr8:Lw,numeric:yw,point:Cw,geometry:ew,real:nS,serial:cS,smallint:xS,smallserial:fS,text:wS,time:JS,timestamp:$o,uuid:Bi,varchar:$i,bit:XS,halfvec:YS,sparsevec:HS,vector:US}}function C4(n,i,o,c,p=n){const a=new vo(n,c,p),x=typeof i==="function"?i(VS()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.build(a);return a[Il].push(...S.buildForeignKeys(T,a)),[$,T]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.buildExtraConfigColumn(a);return[$,T]})),f=Object.assign(a,m);if(f[h.Symbol.Columns]=m,f[h.Symbol.ExtraConfigColumns]=l,o)f[vo.Symbol.ExtraConfigBuilder]=o;return f}var Il=Symbol.for("drizzle:PgInlineForeignKeys");class vo extends h{static[J]="PgTable";static Symbol=Object.assign({},h.Symbol,{InlineForeignKeys:Il});[Il]=[];[h.Symbol.ExtraConfigBuilder]=void 0}var ic=(n,i,o)=>{return C4(n,i,o,void 0)};function bS(...n){if(n[0].columns)return new Fa(n[0].columns,n[0].name);return new Fa(n)}class Fa{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new _S(n,this.columns,this.name)}}class _S{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[vo.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}function jS(){return{and:zc,between:U0,eq:uo,exists:E0,gt:Yx,gte:X0,ilike:s0,inArray:Y0,isNull:O0,isNotNull:H0,like:b0,lt:z0,lte:G0,ne:R0,not:W0,notBetween:V0,notExists:Q0,notLike:_0,notIlike:j0,notInArray:u0,or:K0,sql:A}}function NS(){return{sql:A,asc:N0,desc:L0}}function LS(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,h))n=n.default;const o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,h)){const m=Xc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[h.Symbol.Name],schema:x[h.Symbol.Schema],columns:x[h.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[h.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);const f=x[h.Symbol.ExtraConfigBuilder]?.(x[h.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Fa))p[a].primaryKey.push(...$.columns)}}else if(u(x,sS)){const m=Xc(x.table),l=o[m],f=x.config(i(x.table));let $;for(let[v,S]of Object.entries(f))if(l){const T=p[l];if(T.relations[v]=S,$)T.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function k4(n){return function i(o,c){return new oc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function r4(n){return function i(o,c){return new Ta(n,o,c)}}function BS(n,i,o){if(u(o,oc)&&o.config)return{fields:o.config.fields,references:o.config.references};const c=i[Xc(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[h.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[Xc(a)];if(!x)throw new Error(`Table "${a[h.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[h.Symbol.Name]}". Please specify relation name`);if(m[0]&&u(m[0],oc)&&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 yS(n){return{one:k4(n),many:r4(n)}}function Nx(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,oc)?$&&Nx(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>Nx(n,n[m.relationTableTsKey],v,m.selection,p))}else{const l=p(o[x]),f=m.field;let $;if(u(f,bn))$=f;else if(u(f,C))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}class tl{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[h.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class sS{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class oc extends tl{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){const i=new oc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ta extends tl{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){const i=new Ta(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}var YF=wv(GF(),1),{Server:uF,Namespace:eN,Socket:gN}=YF.default;function L7(n){EF=n}function $m(){return EF}function y(n,i){const o=$m(),c=vm({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Wp?void 0:Wp].filter((p)=>!!p)});n.common.issues.push(c)}function wm(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 QF(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 xn(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 VF(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 g7(n){return new RegExp(`^${VF(n)}\$`)}function bF(n){let i=`${UF}T${VF(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 d7(n,i){if((i==="v4"||!i)&&Z7.test(n))return!0;if((i==="v6"||!i)&&q7.test(n))return!0;return!1}function n3(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 Mp(n){if(n instanceof hn){const i={};for(let o in n.shape){const c=n.shape[o];i[o]=Mo.create(Mp(c))}return new hn({...n._def,shape:()=>i})}else if(n instanceof To)return new To({...n._def,type:Mp(n.element)});else if(n instanceof Mo)return Mo.create(Mp(n.unwrap()));else if(n instanceof ho)return ho.create(Mp(n.unwrap()));else if(n instanceof Eo)return Eo.create(n.items.map((i)=>Mp(i)));else return n}function tf(n,i){const o=mc(n),c=mc(i);if(n===i)return{valid:!0,data:n};else if(o===D.object&&c===D.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=tf(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===D.array&&c===D.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=tf(x,m);if(!l.valid)return{valid:!1};p.push(l.data)}return{valid:!0,data:p}}else if(o===D.date&&c===D.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function _F(n,i){return new vc({values:n,typeName:g.ZodEnum,...xn(i)})}function sF(n,i={},o){if(n)return bc.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 bc.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 hf;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(hf||(hf={}));var D=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),mc=(n)=>{switch(typeof n){case"undefined":return D.undefined;case"string":return D.string;case"number":return isNaN(n)?D.nan:D.number;case"boolean":return D.boolean;case"function":return D.function;case"bigint":return D.bigint;case"symbol":return D.symbol;case"object":if(Array.isArray(n))return D.array;if(n===null)return D.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return D.promise;if(typeof Map!=="undefined"&&n instanceof Map)return D.map;if(typeof Set!=="undefined"&&n instanceof Set)return D.set;if(typeof Date!=="undefined"&&n instanceof Date)return D.date;return D.object;default:return D.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"]),N7=(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 Wp=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===D.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}},EF=Wp,vm=(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}},B7=[];class Mi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){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 Mi.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"}),Rp=(n)=>({status:"dirty",value:n}),Oi=(n)=>({status:"valid",value:n}),Df=(n)=>n.status==="aborted",If=(n)=>n.status==="dirty",Oa=(n)=>n.status==="valid",Ha=(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 Ya,ua;class Ro{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 OF=(n,i)=>{if(Oa(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 mc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Mi,ctx:{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Ha(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:mc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return OF(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:mc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ha(c)?c:Promise.resolve(c));return OF(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 di({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Mo.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return To.create(this,this._def)}promise(){return sc.create(this,this._def)}or(n){return Yp.create([this,n],this._def)}and(n){return up.create(this,n,this._def)}transform(n){return new di({...xn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new Qp({...xn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new Jm({typeName:g.ZodBranded,type:this,...xn(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new Up({...xn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return _a.create(this,n)}readonly(){return Vp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var y7=/^c[^\s-]{8,}$/i,h7=/^[0-9a-z]+$/,D7=/^[0-9A-HJKMNP-TV-Z]{26}$/,I7=/^[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,t7=/^[a-z0-9_-]{21}$/i,C7=/^[-+]?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)?)??$/,k7=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,r7="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",yf,Z7=/^(?:(?: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])$/,q7=/^(([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})))$/,P7=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,UF="((\\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])))",e7=new RegExp(`^${UF}\$`);class Fo extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==D.string){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.string,received:p.parsedType}),nn}const o=new Mi;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),y(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),y(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)y(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)y(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(!k7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!yf)yf=new RegExp(r7,"u");if(!yf.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!I7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!t7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!y7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!h7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!D7.test(n.data))c=this._getOrReturnCtx(n,c),y(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),y(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),y(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),y(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),y(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),y(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!bF(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!e7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!g7(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!C7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!d7(n.data,p.version))c=this._getOrReturnCtx(n,c),y(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!P7.test(n.data))c=this._getOrReturnCtx(n,c),y(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 Fo({...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 Fo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Fo({...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}}Fo.create=(n)=>{var i;return new Fo({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class fc 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)!==D.number){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.number,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),y(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),y(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),y(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(n3(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),y(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),y(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 fc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new fc({...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)}}fc.create=(n)=>{return new fc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class $c 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)!==D.bigint){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.bigint,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),y(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),y(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),y(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 $c({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new $c({...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}}$c.create=(n)=>{var i;return new $c({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class Xp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==D.boolean){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.boolean,received:o.parsedType}),nn}return Oi(n.data)}}Xp.create=(n)=>{return new Xp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class Vc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==D.date){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_date}),nn}const o=new Mi;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),y(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),y(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 Vc({...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}}Vc.create=(n)=>{return new Vc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...xn(n)})};class Ea extends fn{_parse(n){if(this._getType(n)!==D.symbol){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.symbol,received:o.parsedType}),nn}return Oi(n.data)}}Ea.create=(n)=>{return new Ea({typeName:g.ZodSymbol,...xn(n)})};class zp extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.undefined,received:o.parsedType}),nn}return Oi(n.data)}}zp.create=(n)=>{return new zp({typeName:g.ZodUndefined,...xn(n)})};class Gp extends fn{_parse(n){if(this._getType(n)!==D.null){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.null,received:o.parsedType}),nn}return Oi(n.data)}}Gp.create=(n)=>{return new Gp({typeName:g.ZodNull,...xn(n)})};class bc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Oi(n.data)}}bc.create=(n)=>{return new bc({typeName:g.ZodAny,...xn(n)})};class lc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Oi(n.data)}}lc.create=(n)=>{return new lc({typeName:g.ZodUnknown,...xn(n)})};class Ho extends fn{_parse(n){const i=this._getOrReturnCtx(n);return y(i,{code:Q.invalid_type,expected:D.never,received:i.parsedType}),nn}}Ho.create=(n)=>{return new Ho({typeName:g.ZodNever,...xn(n)})};class Qa extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.void,received:o.parsedType}),nn}return Oi(n.data)}}Qa.create=(n)=>{return new Qa({typeName:g.ZodVoid,...xn(n)})};class To extends fn{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==D.array)return y(i,{code:Q.invalid_type,expected:D.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)y(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)y(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)y(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 Ro(i,a,i.path,x))})).then((a)=>{return Mi.mergeArray(o,a)});const p=[...i.data].map((a,x)=>{return c.type._parseSync(new Ro(i,a,i.path,x))});return Mi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new To({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new To({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new To({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}To.create=(n,i)=>{return new To({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...xn(i)})};class hn 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)!==D.object){const l=this._getOrReturnCtx(n);return y(l,{code:Q.invalid_type,expected:D.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 Ho&&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 Ro(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Ho){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)y(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 Ro(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 Mi.mergeObjectSync(o,l)});else return Mi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new hn({...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 hn({...this._def,unknownKeys:"strip"})}passthrough(){return new hn({...this._def,unknownKeys:"passthrough"})}extend(n){return new hn({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new hn({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 hn({...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 hn({...this._def,shape:()=>i})}omit(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new hn({...this._def,shape:()=>i})}deepPartial(){return Mp(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 hn({...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 Mo)p=p._def.innerType;i[o]=p}}),new hn({...this._def,shape:()=>i})}keyof(){return _F(Tn.objectKeys(this.shape))}}hn.create=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.strictCreate=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strict",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.lazycreate=(n,i)=>{return new hn({shape:n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};class Yp 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 y(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 y(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}Yp.create=(n,i)=>{return new Yp({options:n,typeName:g.ZodUnion,...xn(i)})};var yo=(n)=>{if(n instanceof Op)return yo(n.schema);else if(n instanceof di)return yo(n.innerType());else if(n instanceof Hp)return[n.value];else if(n instanceof vc)return n.options;else if(n instanceof Ep)return Tn.objectValues(n.enum);else if(n instanceof Qp)return yo(n._def.innerType);else if(n instanceof zp)return[void 0];else if(n instanceof Gp)return[null];else if(n instanceof Mo)return[void 0,...yo(n.unwrap())];else if(n instanceof ho)return[null,...yo(n.unwrap())];else if(n instanceof Jm)return yo(n.unwrap());else if(n instanceof Vp)return yo(n.unwrap());else if(n instanceof Up)return yo(n._def.innerType);else return[]};class Sm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.object)return y(i,{code:Q.invalid_type,expected:D.object,received:i.parsedType}),nn;const o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return y(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=yo(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 Sm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...xn(o)})}}class up extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(Df(p)||Df(a))return nn;const x=tf(p.value,a.value);if(!x.valid)return y(o,{code:Q.invalid_intersection_types}),nn;if(If(p)||If(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}))}}up.create=(n,i,o)=>{return new up({left:n,right:i,typeName:g.ZodIntersection,...xn(o)})};class Eo extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.array)return y(o,{code:Q.invalid_type,expected:D.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return y(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)y(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 Ro(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Mi.mergeArray(i,a)});else return Mi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Eo({...this._def,rest:n})}}Eo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Eo({items:n,typeName:g.ZodTuple,rest:null,...xn(i)})};class Ua 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!==D.object)return y(o,{code:Q.invalid_type,expected:D.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 Ro(o,x,o.path,x)),value:a._parse(new Ro(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Mi.mergeObjectAsync(i,c);else return Mi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ua({keyType:n,valueType:i,typeName:g.ZodRecord,...xn(o)});return new Ua({keyType:Fo.create(),valueType:n,typeName:g.ZodRecord,...xn(i)})}}class Va 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!==D.map)return y(o,{code:Q.invalid_type,expected:D.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 Ro(o,x,o.path,[l,"key"])),value:p._parse(new Ro(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}}}}Va.create=(n,i,o)=>{return new Va({valueType:i,keyType:n,typeName:g.ZodMap,...xn(o)})};class _c extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.set)return y(o,{code:Q.invalid_type,expected:D.set,received:o.parsedType}),nn;const c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)y(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)y(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 Ro(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 _c({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new _c({...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)}}_c.create=(n,i)=>{return new _c({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...xn(i)})};class Kp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.function)return y(i,{code:Q.invalid_type,expected:D.function,received:i.parsedType}),nn;function o(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].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 sc){const x=this;return Oi(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 Oi(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 Kp({...this._def,args:Eo.create(n).rest(lc.create())})}returns(n){return new Kp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Kp({args:n?n:Eo.create([]).rest(lc.create()),returns:i||lc.create(),typeName:g.ZodFunction,...xn(o)})}}class Op 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})}}Op.create=(n,i)=>{return new Op({getter:n,typeName:g.ZodLazy,...xn(i)})};class Hp extends fn{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return y(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}}Hp.create=(n,i)=>{return new Hp({value:n,typeName:g.ZodLiteral,...xn(i)})};class vc extends fn{constructor(){super(...arguments);Ya.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{expected:Tn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!wm(this,Ya,"f"))QF(this,Ya,new Set(this._def.values),"f");if(!wm(this,Ya,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Oi(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 vc.create(n,{...this._def,...i})}exclude(n,i=this._def){return vc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Ya=new WeakMap;vc.create=_F;class Ep extends fn{constructor(){super(...arguments);ua.set(this,void 0)}_parse(n){const i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==D.string&&o.parsedType!==D.number){const c=Tn.objectValues(i);return y(o,{expected:Tn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!wm(this,ua,"f"))QF(this,ua,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!wm(this,ua,"f").has(n.data)){const c=Tn.objectValues(i);return y(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Oi(n.data)}get enum(){return this._def.values}}ua=new WeakMap;Ep.create=(n,i)=>{return new Ep({values:n,typeName:g.ZodNativeEnum,...xn(i)})};class sc extends fn{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.promise&&i.common.async===!1)return y(i,{code:Q.invalid_type,expected:D.promise,received:i.parsedType}),nn;const o=i.parsedType===D.promise?i.data:Promise.resolve(i.data);return Oi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}sc.create=(n,i)=>{return new sc({type:n,typeName:g.ZodPromise,...xn(i)})};class di 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(y(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 Rp(m.value);if(i.value==="dirty")return Rp(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 Rp(x.value);if(i.value==="dirty")return Rp(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(!Oa(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(!Oa(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Tn.assertNever(c)}}di.create=(n,i,o)=>{return new di({schema:n,typeName:g.ZodEffects,effect:i,...xn(o)})};di.createWithPreprocess=(n,i,o)=>{return new di({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...xn(o)})};class Mo extends fn{_parse(n){if(this._getType(n)===D.undefined)return Oi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Mo.create=(n,i)=>{return new Mo({innerType:n,typeName:g.ZodOptional,...xn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===D.null)return Oi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...xn(i)})};class Qp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===D.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}Qp.create=(n,i)=>{return new Qp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...xn(i)})};class Up 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(Ha(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}}Up.create=(n,i)=>{return new Up({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...xn(i)})};class ba extends fn{_parse(n){if(this._getType(n)!==D.nan){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ba.create=(n)=>{return new ba({typeName:g.ZodNaN,...xn(n)})};var i3=Symbol("zod_brand");class Jm 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 _a 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(),Rp(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 _a({in:n,out:i,typeName:g.ZodPipeline})}}class Vp extends fn{_parse(n){const i=this._def.innerType._parse(n),o=(c)=>{if(Oa(c))c.value=Object.freeze(c.value);return c};return Ha(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}Vp.create=(n,i)=>{return new Vp({innerType:n,typeName:g.ZodReadonly,...xn(i)})};var o3={object:hn.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 c3=(n,i={message:`Input not instance of ${n.name}`})=>sF((o)=>o instanceof n,i),jF=Fo.create,NF=fc.create,p3=ba.create,a3=$c.create,LF=Xp.create,x3=Vc.create,m3=Ea.create,l3=zp.create,f3=Gp.create,$3=bc.create,v3=lc.create,w3=Ho.create,S3=Qa.create,J3=To.create,sa=hn.create,A3=hn.strictCreate,F3=Yp.create,T3=Sm.create,M3=up.create,R3=Eo.create,K3=Ua.create,W3=Va.create,X3=_c.create,z3=Kp.create,G3=Op.create,Y3=Hp.create,u3=vc.create,O3=Ep.create,H3=sc.create,HF=di.create,E3=Mo.create,Q3=ho.create,U3=di.createWithPreprocess,V3=_a.create,b3=()=>jF().optional(),_3=()=>NF().optional(),s3=()=>LF().optional(),j3={string:(n)=>Fo.create({...n,coerce:!0}),number:(n)=>fc.create({...n,coerce:!0}),boolean:(n)=>Xp.create({...n,coerce:!0}),bigint:(n)=>$c.create({...n,coerce:!0}),date:(n)=>Vc.create({...n,coerce:!0})},N3=nn,_n=Object.freeze({__proto__:null,defaultErrorMap:Wp,setErrorMap:L7,getErrorMap:$m,makeIssue:vm,EMPTY_PATH:B7,addIssueToContext:y,ParseStatus:Mi,INVALID:nn,DIRTY:Rp,OK:Oi,isAborted:Df,isDirty:If,isValid:Oa,isAsync:Ha,get util(){return Tn},get objectUtil(){return hf},ZodParsedType:D,getParsedType:mc,ZodType:fn,datetimeRegex:bF,ZodString:Fo,ZodNumber:fc,ZodBigInt:$c,ZodBoolean:Xp,ZodDate:Vc,ZodSymbol:Ea,ZodUndefined:zp,ZodNull:Gp,ZodAny:bc,ZodUnknown:lc,ZodNever:Ho,ZodVoid:Qa,ZodArray:To,ZodObject:hn,ZodUnion:Yp,ZodDiscriminatedUnion:Sm,ZodIntersection:up,ZodTuple:Eo,ZodRecord:Ua,ZodMap:Va,ZodSet:_c,ZodFunction:Kp,ZodLazy:Op,ZodLiteral:Hp,ZodEnum:vc,ZodNativeEnum:Ep,ZodPromise:sc,ZodEffects:di,ZodTransformer:di,ZodOptional:Mo,ZodNullable:ho,ZodDefault:Qp,ZodCatch:Up,ZodNaN:ba,BRAND:i3,ZodBranded:Jm,ZodPipeline:_a,ZodReadonly:Vp,custom:sF,Schema:fn,ZodSchema:fn,late:o3,get ZodFirstPartyTypeKind(){return g},coerce:j3,any:$3,array:J3,bigint:a3,boolean:LF,date:x3,discriminatedUnion:T3,effect:HF,enum:u3,function:z3,instanceof:c3,intersection:M3,lazy:G3,literal:Y3,map:W3,nan:p3,nativeEnum:O3,never:w3,null:f3,nullable:Q3,number:NF,object:sa,oboolean:s3,onumber:_3,optional:E3,ostring:b3,pipeline:V3,preprocess:U3,promise:H3,record:K3,set:X3,strictObject:A3,string:jF,symbol:m3,transformer:HF,tuple:R3,undefined:l3,union:F3,unknown:v3,void:S3,NEVER:N3,ZodIssueCode:Q,quotelessJson:N7,ZodError:Ii});function BF(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[M,O]of Object.entries(i))if(O==="")delete i[M]}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=sa(p),l=sa(a),f=sa(x),$=n.isServer??(typeof window==="undefined"||("Deno"in window)),v=m.merge(f),S=l.merge(f).merge(m),T=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((M)=>{throw console.error("\u274C Invalid environment variables:",M.flatten().fieldErrors),new Error("Invalid environment variables")}),F=n.onInvalidAccess??((M)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(T.success===!1)return R(T.error);const X=(M)=>{if(!n.clientPrefix)return!0;return!M.startsWith(n.clientPrefix)&&!(M in f.shape)},z=(M)=>{return $||!X(M)},Y=(M)=>{return M==="__esModule"||M==="$$typeof"},E=(n.extends??[]).reduce((M,O)=>{return Object.assign(M,O)},{}),s=Object.assign(T.data,E);return new Proxy(s,{get(M,O){if(typeof O!=="string")return;if(Y(O))return;if(!z(O))return F(O);return Reflect.get(M,O)}})}var pi=BF({isServer:typeof window==="undefined",server:{POSTGRES_USER:_n.string(),POSTGRES_PASSWORD:_n.string(),POSTGRES_DATABASE:_n.string(),POSTGRES_HOST:_n.string(),POSTGRES_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:_n.union([_n.literal("true"),_n.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:_n.string().transform((n)=>rn(n)).pipe(_n.array(_n.string()))},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:_n.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var bp=new Rl,un=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:bp.logger;on.STORE.loggers[0]=new oa("warn",void 0,un);import{spawn as L3}from"child_process";import{resolve as B3}from"path";function yF(n,i,o=n.logger){const c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[B3(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=L3(p,x);return new la(m,i,o)}var CM=wv(tM(),1);var pz=604800000,_m=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new CM.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>pz)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),un.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import ez from"path";class sm extends Yi{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[h.Symbol.Columns]){return this.config.returning=Pi(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 jm{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[h.Symbol.Columns];for(let a of Object.keys(o)){const x=o[a];c[a]=u(x,C)?x:new Li(x,p[a])}return c});return new kM(this.table,i,this.session,this.dialect,this.withList)}}class kM extends Yi{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[h.Symbol.Columns]){return this.config.returning=Pi(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=A`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?A` where ${n.where}`:void 0;this.config.onConflict=A`(${A.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?A` where ${n.where}`:void 0,o=n.targetWhere?A` where ${n.targetWhere}`:void 0,c=n.setWhere?A` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,ux(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=A`(${A.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 az(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function xz(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 mz(n){return n}class M${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?az:n==="camelCase"?xz:mz}getColumnCasing(n){if(!n.keyAsName)return n.name;const i=n.table[h.Symbol.Schema]??"public",o=n.table[h.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){const i=n[h.Symbol.Schema]??"public",o=n[h.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[h.Symbol.Columns])){const a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class ka extends Vi{static[J]="PgViewBase"}class Dc{static[J]="PgDialect";casing;constructor(n){this.casing=new M$(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=A`
|
|
38
|
-
CREATE TABLE IF NOT EXISTS ${A.identifier(p)}.${A.identifier(c)} (
|
|
39
|
-
id SERIAL PRIMARY KEY,
|
|
40
|
-
hash text NOT NULL,
|
|
41
|
-
created_at bigint
|
|
42
|
-
)
|
|
43
|
-
`;await i.execute(A`CREATE SCHEMA IF NOT EXISTS ${A.identifier(p)}`),await i.execute(a);const m=(await i.all(A`select id, hash, created_at from ${A.identifier(p)}.${A.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(A.raw($));await l.execute(A`insert into ${A.identifier(p)}.${A.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=[A`with `];for(let[o,c]of n.entries())if(i.push(A`${A.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(A`, `);return i.push(A` `),A.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){const p=this.buildWithCTE(c),a=o?A` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?A` where ${i}`:void 0;return A`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){const o=n[h.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return A.join(c.flatMap((a,x)=>{const m=o[a],l=i[a]??A.param(m.onUpdateFn(),m),f=A`${A.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,A.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?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?A` where ${o}`:void 0;return A`${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,C.Aliased)&&p.isSelectionField)x.push(A.identifier(p.fieldAlias));else if(u(p,C.Aliased)||u(p,C)){const m=u(p,C.Aliased)?p.sql:p;if(i)x.push(new C(m.queryChunks.map((l)=>{if(u(l,j))return A.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,C.Aliased))x.push(A` as ${A.identifier(p.fieldAlias)}`)}else if(u(p,bn))if(i)x.push(A.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(A`, `);return x});return A.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:T}){const R=o??Pi(i);for(let ln of R)if(u(ln.field,bn)&&qi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,ka)?a[yn].name:u(a,C)?void 0:qi(a))&&!(($n)=>x?.some(({alias:Qn})=>Qn===($n[h.Symbol.IsAlias]?qi($n):$n[h.Symbol.BaseName])))(ln.field.table)){const $n=qi(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 F=!x||x.length===0,X=this.buildWithCTE(n);let z;if(S)z=S===!0?A` distinct`:A` distinct on (${A.join(S.on,A`, `)})`;const Y=this.buildSelection(R,{isSingleTable:F}),E=(()=>{if(u(a,h)&&a[h.Symbol.OriginalName]!==a[h.Symbol.Name]){let ln=A`${A.identifier(a[h.Symbol.OriginalName])}`;if(a[h.Symbol.Schema])ln=A`${A.identifier(a[h.Symbol.Schema])}.${ln}`;return A`${ln} ${A.identifier(a[h.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(A` `);const Qn=$n.table,ji=$n.lateral?A` lateral`:void 0;if(u(Qn,vo)){const H=Qn[vo.Symbol.Name],k=Qn[vo.Symbol.Schema],Sn=Qn[vo.Symbol.OriginalName],Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else if(u(Qn,Vi)){const H=Qn[yn].name,k=Qn[yn].schema,Sn=Qn[yn].originalName,Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else s.push(A`${A.raw($n.joinType)} join${ji} ${Qn} on ${$n.on}`);if(ln<x.length-1)s.push(A` `)}const G=A.join(s),M=c?A` where ${c}`:void 0,O=p?A` having ${p}`:void 0;let U;if(m&&m.length>0)U=A` order by ${A.join(m,A`, `)}`;let V;if(l&&l.length>0)V=A` group by ${A.join(l,A`, `)}`;const K=typeof f==="object"||typeof f==="number"&&f>=0?A` limit ${f}`:void 0,B=$?A` offset ${$}`:void 0,_=A.empty();if(v){const ln=A` for ${A.raw(v.strength)}`;if(v.config.of)ln.append(A` of ${A.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],A`, `)}`);if(v.config.noWait)ln.append(A` no wait`);else if(v.config.skipLocked)ln.append(A` skip locked`);_.append(ln)}const P=A`${X}select${z} ${Y} from ${E}${G}${M}${V}${O}${U}${K}${B}${_}`;if(T.length>0)return this.buildSetOperations(P,T);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=A`(${n.getSQL()}) `,l=A`(${c.getSQL()})`;let f;if(a&&a.length>0){const T=[];for(let R of a)if(u(R,j))T.push(A.identifier(R.name));else if(u(R,C)){for(let F=0;F<R.queryChunks.length;F++){const X=R.queryChunks[F];if(u(X,j))R.queryChunks[F]=A.identifier(X.name)}T.push(A`${R}`)}else T.push(A`${R}`);f=A` order by ${A.join(T,A`, `)} `}const $=typeof p==="object"||typeof p==="number"&&p>=0?A` limit ${p}`:void 0,v=A.raw(`${i} ${o?"all ":""}`),S=x?A` offset ${x}`:void 0;return A`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){const a=[],x=n[h.Symbol.Columns],m=Object.entries(x).filter(([T,R])=>!R.shouldDisableInsert()),l=m.map(([,T])=>A.identifier(this.casing.getColumnCasing(T)));for(let[T,R]of i.entries()){const F=[];for(let[X,z]of m){const Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(z.defaultFn!==void 0){const E=z.defaultFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else if(!z.default&&z.onUpdateFn!==void 0){const E=z.onUpdateFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else F.push(A`default`);else F.push(Y)}if(a.push(F),T<i.length-1)a.push(A`, `)}const f=this.buildWithCTE(p),$=A.join(a),v=c?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?A` on conflict ${o}`:void 0;return A`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){const c=i?A` concurrently`:void 0,p=o?A` with no data`:void 0;return A`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,Ux)||u(n,Qx))return"json";else if(u(n,Vx))return"decimal";else if(u(n,bx))return"time";else if(u(n,_x)||u(n,sx))return"timestamp";else if(u(n,Ox)||u(n,Hx))return"date";else if(u(n,jx))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=[],T;const R=[];if(a===!0)f=Object.entries(p.columns).map(([z,Y])=>({dbKey:Y.name,tsKey:z,field:Yo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const X=Object.fromEntries(Object.entries(p.columns).map(([M,O])=>[M,Yo(O,x)]));if(a.where){const M=typeof a.where==="function"?a.where(X,jS()):a.where;T=M&&Ja(M,x)}const z=[];let Y=[];if(a.columns){let M=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!M&&U===!0)M=!0;Y.push(O)}}if(Y.length>0)Y=M?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let M of Y){const O=p.columns[M];z.push({tsKey:M,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((M)=>!!M[1]).map(([M,O])=>({tsKey:M,queryConfig:O,relation:p.relations[M]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:A}):a.extras;for(let[M,O]of Object.entries(s))z.push({tsKey:M,value:jl(O,x)})}for(let{tsKey:M,value:O}of z)f.push({dbKey:u(O,C.Aliased)?O.fieldAlias:p.columns[M].name,tsKey:M,field:u(O,bn)?Yo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let G=typeof a.orderBy==="function"?a.orderBy(X,NS()):a.orderBy??[];if(!Array.isArray(G))G=[G];S=G.map((M)=>{if(u(M,bn))return Yo(M,x);return Ja(M,x)}),$=a.limit,v=a.offset;for(let{tsKey:M,queryConfig:O,relation:U}of E){const V=BS(i,o,U),K=Xc(U.referencedTable),B=o[K],_=`${x}_${M}`,P=zc(...V.fields.map((Qn,ji)=>uo(Yo(V.references[ji],_),Yo(Qn,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[B],tableConfig:i[B],queryConfig:u(U,oc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=A`${A.identifier(_)}.${A.identifier("data")}`.as(M);R.push({on:A`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:M,tsKey:M,field:$n,relationTableTsKey:B,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Gx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let F;if(T=zc(l,T),m){let X=A`json_build_array(${A.join(f.map(({field:E,tsKey:s,isJson:G})=>G?A`${A.identifier(`${x}_${s}`)}.${A.identifier("data")}`:u(E,C.Aliased)?E.sql:E),A`, `)})`;if(u(m,Ta))X=A`coalesce(json_agg(${X}${S.length>0?A` order by ${A.join(S,A`, `)}`:void 0}), '[]'::json)`;const z=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:[{path:[],field:A.raw("*")}],where:T,limit:$,offset:v,orderBy:S,setOperators:[]}),T=void 0,$=void 0,v=void 0,S=[];else F=zx(c,x);F=this.buildSelectQuery({table:u(F,vo)?F:new fi(F,{},x),fields:{},fieldsFlat:z.map(({field:E})=>({path:[],field:u(E,bn)?Yo(E,x):E})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]})}else F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,bn)?Yo(X,x):X})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:F,selection:f}}}class si{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===yn)return{...n[yn],selectedFields:new Proxy(n[yn].selectedFields,this)};if(typeof i==="symbol")return n[i];const c=(u(n,fi)?n._.selectedFields:u(n,Vi)?n[yn].selectedFields:n)[i];if(u(c,C.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;const p=c.clone();return p.isSelectionField=!0,p}if(u(c,C)){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,bn)){if(this.config.alias)return new Proxy(c,new op(new Proxy(c.table,new Sa(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new si(this.config))}}class R${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}function tp(n,i){return(o,c,...p)=>{const a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!yl(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,ka))o=n[yn].selectedFields;else if(u(n,C))o={};else o=D0(n);return new K$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class rM extends R${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=hl(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{const c=this.tableName,p=hl(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,C)){const a=u(i,fi)?i._.selectedFields:u(i,Vi)?i[yn].selectedFields:i[h.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new si({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(lz()):o;if(!yl(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 si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new si({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 si({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 si({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 si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new si({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class K$ extends rM{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=Pi(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)})}}h0(K$,[Yi]);var lz=()=>({union:fz,unionAll:$z,intersect:vz,intersectAll:wz,except:Sz,exceptAll:Jz}),fz=tp("union",!1),$z=tp("union",!0),vz=tp("intersect",!1),wz=tp("intersect",!0),Sz=tp("except",!1),Jz=tp("except",!0);class W${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,Dc)?n:void 0,this.dialectConfig=u(n,Dc)?void 0:n}$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({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 Dc(this.dialectConfig);return this.dialect}}class X$ extends Yi{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 Nm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new ZM(this.table,ux(this.table,n),this.session,this.dialect,this.withList)}}class ZM extends Yi{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[h.Symbol.Columns]){return this.config.returning=Pi(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 ra extends C{constructor(n){super(ra.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=ra.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return A`(select count(*) from ${n}${A.raw(" where ").if(i)}${i})`}static buildCount(n,i){return A`select count(*) as count from ${n}${A.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 G${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 z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class z$ extends Yi{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)=>Nx(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 Y$ extends Yi{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 Za{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 G$(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 W$(i.dialect));return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new ra({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 Nm(l,i.session,i.dialect,n)}function x(l){return new jm(l,i.session,i.dialect,n)}function m(l){return new sm(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 Nm(n,this.session,this.dialect)}insert(n){return new jm(n,this.session,this.dialect)}delete(n){return new sm(n,this.session,this.dialect)}refreshMaterializedView(n){return new X$(n,this.session,this.dialect)}execute(n){const i=typeof n==="string"?A.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new Y$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}function u$(n){return new qM(!0,n)}class qM{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(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 Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Lm(i.map((o)=>{if(u(o,C))return o;o=o;const c=new va(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 Lm{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 PM(this.config,n)}}class PM{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}class O${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class H${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 E$ extends Za{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Nl}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 A.raw(i.join(" "))}setTransaction(n){return this.session.execute(A`set transaction ${this.getTransactionConfigSQL(n)}`)}}class eM extends O${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=sl(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)=>y0(c,f,x))})})}all(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=sl(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 qa extends H${constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Bl}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new eM(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 qa(o,this.dialect,this.schema,this.options),p=new Q$(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class Q$ extends E${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 qa(i,this.dialect,this.schema,this.session.options),c=new Q$(this.dialect,o,this.schema);return n(c)})}}function dM(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 Dc({casing:i.casing});let p;if(i.logger===!0)p=new Ll;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){const l=LS(i.schema,yS);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}const x=new qa(n,c,a,{logger:p}),m=new gM(c,x,a);return m.$client=n,m}class gM extends Za{static[J]="PostgresJsDatabase"}import Lz from"os";import Bz from"fs";function Az(n){if(Bm.has(n))return Bm.get(n);const i=Error.stackTraceLimit;return Error.stackTraceLimit=4,Bm.set(n,new Error),Error.stackTraceLimit=i,Bm.get(n)}var Bm=new Map,U$=new Map,V$=Symbol("OriginError"),Cp={};class po 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[V$]=this.handler.debug?new Error:this.tagged&&Az(this.strings)}get origin(){return(this.handler.debug?this[V$].stack:this.tagged&&U$.has(this.strings)?U$.get(this.strings):U$.set(this.strings,this[V$].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(Cp),{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 nR(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,nR),a}function iR(n){const i=new kp(n);return Error.captureStackTrace(i,iR),i}function oR(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,oR),o}function cR(n){const i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,cR),i}class kp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var dn={connection:nR,postgres:iR,generic:oR,notSupported:cR};function tm(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 dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Vo?(i.push(n.value),n.array?n.array[n.type||hm(n.value)]||n.type||mR(n.value):n.type):(i.push(n),hm(n)))}function j$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=N$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function N$(n,i,o,c,p){return i instanceof Im?i.build(n,o,c,p):i instanceof po?s$(i,o,c,p):i instanceof da?i.value:i&&i[0]instanceof po?i.reduce((a,x)=>a+" "+s$(x,o,c,p),""):tm(i,o,c,p)}function s$(n,i,o,c){return n.fragment=!0,j$(n,n.strings[0],n.args[0],i,o,c)}function xR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>N$("values",a[x],i,o,p)).join(",")+")").join(",")}function pR(n,i,o,c,p){const a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return xR(a?n:[n],o,c,x,p)}function ym(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return L$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof po?s$(a,o,c,p):a instanceof da?a.value:tm(a,o,c,p))+" as "+Cm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}function b$(){throw dn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}function mR(n){if(Array.isArray(n))return mR(n[0]);return typeof n==="string"?1009:0}function fR(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 L$(n,{transform:{column:i}}){return n.map((o)=>Cm(i.to?i.to(o):o)).join(",")}function Xz(n){return n.replace(Kz,"\\\\").replace(Wz,'\\"')}function wR(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(wR(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 B$(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 Fz={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 Dm{then(){b$()}catch(){b$()}finally(){b$()}}class da extends Dm{constructor(n){super();this.value=Cm(n)}}class Vo extends Dm{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Im extends Dm{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){const p=Tz.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?L$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}var aR=fR(Fz),Tz=Object.entries({values:pR,in:(...n)=>{const i=pR(...n);return i==="()"?"(null)":i},select:ym,as:ym,returning:ym,"\\(":ym,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>Cm(p.transform.column.to?p.transform.column.to(a):a)+"="+N$("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"("+L$(a,p)+")values"+xR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]),Mz=aR.serializers,Rz=aR.parsers;var lR=function(n){const i=fR(n||{});return{serializers:Object.assign({},Mz,i.serializers),parsers:Object.assign({},Rz,i.parsers)}},Cm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},hm=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},Kz=/\\/g,Wz=/"/g,$R=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 dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+Xz(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},_$={i:0,char:null,str:"",quoted:!1,last:0},vR=function n(i,o,c){return _$.i=_$.last=0,wR(_$,i,o,c)},Ic=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},tc=(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,"-"),Pa=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),ea=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),ga=(n)=>n.replace(/-/g,"_");Ic.column={from:Ic};Ic.value={from:B$(Ic)};Pa.column={to:Pa};var y$={...Ic};y$.column.to=Pa;tc.column={from:tc};tc.value={from:B$(tc)};ea.column={to:ea};var h$={...tc};h$.column.to=ea;Cc.column={from:Cc};Cc.value={from:B$(Cc)};ga.column={to:ga};var D$={...Cc};D$.column.to=ga;import SR from"net";import uz from"tls";import nx from"crypto";import I$ from"stream";import{performance as JR}from"perf_hooks";class kc 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 zz(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=zz;function km(n){if(Xi.length-Hn.i<n){const i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function Yz(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),Gz="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(Yz,Gz,{N:String.fromCharCode(0),i:0,inc(n){return Hn.i+=n,Hn},str(n){const i=Buffer.byteLength(n);return km(i),Hn.i+=Xi.write(n,Hn.i,i,"utf8"),Hn},i16(n){return km(2),Xi.writeUInt16BE(n,Hn.i),Hn.i+=2,Hn},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),Hn;return km(4),Xi.writeUInt32BE(n,Hn.i),Hn.i+=4,Hn},z(n){return km(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 TR(n,i={},{onopen:o=rp,onend:c=rp,onclose:p=rp}={}){const{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:T,onnotify:R,onparameter:F,max_pipeline:X,keep_alive:z,backoff:Y,target_session_attrs:E}=n,s=Ci(),G=Oz++,M={pid:null,secret:null},O=C$(gm,n.idle_timeout),U=C$(gm,n.max_lifetime),V=C$(hR,n.connect_timeout);let K=null,B,_=new kc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Qn={},ji=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Xn=0,ni=0,wn=0,Un=0,Pn=0,Bn=null,sn=null,vi=!1,Vn=null,ao=null,wi=null,Io=null,ii=null,jn=null,xo=null,zo=null,N=null,Zp=null;const Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,xv()},terminate:Pp,execute:qp,cancel:NR,end:gm,count:0,id:G};return i.closed&&i.closed.push(Si),Si;async function jR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new SR.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",mv),w.on("drain",pv),w}async function NR({pid:w,secret:W},q,Rn){try{B=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await av(),K.once("error",Rn),K.once("close",q)}catch(tn){Rn(tn)}}function qp(w){if(vi)return cx(w,dn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=M,N?s.push(w):(N=w,N.active=!0),yR(w),mi(LR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Fc),Go(W),!0}}function LR(w){if(w.parameters.length>=65534)throw dn.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([iv(w),AR]):w.prepare?w.prepared?ox(w):Buffer.concat([iv(w),ox(w)]):BR(w)}function iv(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types,w.statement.name),Y4("S",w.statement.name)])}function ox(w){return Buffer.concat([G4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?$v("",w.cursorRows):Ez])}function BR(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types),Qz,ox(w)])}function yR(w){const W=[],q=[],Rn=j$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((tn)=>tm(tn,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 Qn[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Qn,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Qn[w.signature]:{string:Rn,types:q,name:w.prepare?ji+H++:""},typeof n.debug==="function"&&n.debug(G,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return ov(W);return sn===null&&(sn=setImmediate(ov)),!0}function ov(w){const W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function hR(){Go(dn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function cv(){if(mi(Hz),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=uz.connect({socket:K,servername:SR.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",mv),K.on("drain",pv)}function pv(){!N&&o(Si)}function em(w){if(Vn){if(Vn.push(w),Sn-=w.length,Sn>=0)return}P=Vn?Buffer.concat(Vn,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,Vn=[P];break}try{DR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Fc),Go(W)}P=P.subarray(wn+1),Sn=0,Vn=null}}async function av(){if(vi=!1,$n={},K||(K=await jR()),!K)return;if(V.start(),n.socket)return a?cv():Zc();if(K.on("connect",a?cv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Xn],l[Xn]),K.host=l[Xn],K.port=f[Xn],Xn=(Xn+1)%f.length}function xv(){setTimeout(av,k?k+Un-JR.now():0)}function Zc(){try{Qn={},ln=n.fetch_types,ji=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",em),z&&K.setKeepAlive&&K.setKeepAlive(!0,1000*z);const w=O4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[ni+1])return;Go(w);while(s.length)cx(s.shift(),w)}function Go(w){ii&&(ii.destroy(w),ii=null),N&&cx(N,w),wi&&(cx(wi,w),wi=null)}function cx(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 gm(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(Pp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>xo=w))}function Pp(){if(vi=!0,ii||N||wi||s.length)qc(dn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",em),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());xo&&(xo(),Io=xo=null)}async function mv(w){if(P=Buffer.alloc(0),Sn=0,Vn=null,clearImmediate(sn),K.removeListener("data",em),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return xv();!w&&(N||s.length)&&qc(dn.connection("CONNECTION_CLOSED",n,K)),k=JR.now(),w&&n.shared.retries++,Un=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,dn.connection("CONNECTION_CLOSED",n,K))}function DR(w,W=w[0]){(W===68?IR:W===100?F4:W===65?$4:W===83?tR:W===90?CR:W===67?kR:W===50?lv:W===49?rR:W===116?ZR:W===84?qR:W===82?PR:W===110?o4:W===75?c4:W===69?l4:W===115?v4:W===51?w4:W===71?S4:W===78?M4:W===72?J4:W===99?T4:W===73?R4:W===86?K4:W===118?W4:W===87?A4:X4)(w)}function IR(w){let W=7,q,Rn,tn;const Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let zi=0;zi<N.statement.columns.length;zi++)Rn=N.statement.columns[zi],q=w.readInt32BE(W),W+=4,tn=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[zi]=N.isRaw===!0?tn:S.value.from?S.value.from(tn,Rn):tn:Ji[Rn.name]=S.value.from?S.value.from(tn,Rn):tn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[Pn++]=S.row.from?S.row.from(Ji):Ji}function tR(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,F&&F(W,q)}function CR(w){if(N&&N.options.simple&&N.resolve(ao||_),N=ao=null,_=new kc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return m4();else if(x4(E,$n))return Pp()}if(ln)return wi===!0&&(wi=null),p4();wi!==!0&&qp(wi),n.shared.retries=ni=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))TR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?Pp():(Si.reserved=null,o(Si)):Si.reserved():Io?Pp():o(Si)}function kR(w){Pn=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=M;break}}if(Zp&&(Zp(),Zp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return Go(dn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return lv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Fc);N.resolve(_)}function rR(){N.parsing=!1}function lv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function ZR(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&&(Qn[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(ox(N)),N.describeFirst=!1)}function qR(w){if(_.command)ao=ao||[_],ao.push(_=new kc),_.count=null,N.statement.columns=null;const W=w.readUInt16BE(5);let q=7,Rn;N.statement.columns=Array(W);for(let tn=0;tn<W;++tn){Rn=q;while(w[q++]!==0);const Ji=w.readUInt32BE(q),zi=w.readUInt16BE(q+4),to=w.readUInt32BE(q+6);N.statement.columns[tn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[to],table:Ji,number:zi,type:to},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}async function PR(w,W=w.readUInt32BE(5)){(W===3?eR:W===5?gR:W===10?dR:W===11?n4:W===12?i4:W!==0?z4:rp)(w,W)}async function eR(){const w=await dm();mi(Z().p().str(w).z(1).end())}async function gR(w){const W="md5"+await FR(Buffer.concat([Buffer.from(await FR(await dm()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function dR(){zo=(await nx.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);const w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+zo).i32(Z.i-w-4,w).end())}async function n4(w){const W=w.toString("utf8",9).split(",").reduce((zi,to)=>(zi[to[0]]=to.slice(2),zi),{}),q=await nx.pbkdf2Sync(await dm(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await rm(q,"Client Key"),tn="n=*,r="+zo+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;Bn=(await rm(await rm(q,"Server Key"),tn)).toString("base64");const Ji="c=biws,r="+W.r+",p="+_z(Rn,Buffer.from(await rm(await bz(Rn),tn))).toString("base64");mi(Z().p().str(Ji).end())}function i4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===Bn)return;Go(dn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function dm(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function o4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}function c4(w){M.pid=w.readUInt32BE(5),M.secret=w.readUInt32BE(9)}async function p4(){ln=!1,(await new po([`
|
|
37
|
+
*/ef.exports=F3;ef.exports.append=CA;var J3=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var gf=I((sN,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 T(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 M=n({},o,z),O=null;if(M.origin&&typeof M.origin==="function")O=M.origin;else if(M.origin)O=function(U,V){V(null,M.origin)};if(O)O(G.headers.origin,function(U,V){if(U||!V)E(U);else M.origin=V,S(M,G,Y,E)});else E()}})}}kA.exports=T})()});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"),T3=import.meta.require("url"),rA=_f(),Rm=qf(),M3=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 M3.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 T=new ZA.Socket(S,this,v,null,4);this.clients[S]=T,this.clientsCount++,T.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",T);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(T3.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 aT=I((cT)=>{Object.defineProperty(cT,"__esModule",{value:!0});cT.Polling=void 0;var u3=Uc(),iT=import.meta.require("zlib"),O3=am(),H3=xi(),no=H3.default("engine:polling"),E3={gzip:iT.createGzip,deflate:iT.createDeflate};class oT 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}}cT.Polling=oT});var $T=I((lT)=>{Object.defineProperty(lT,"__esModule",{value:!0});lT.WebSocket=void 0;var Q3=Uc(),U3=xi(),xT=U3.default("engine:ws");class mT 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(xT('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){xT("closing"),n&&n(),this.socket.end()}}lT.WebSocket=mT});var wT=I((vT)=>{Object.defineProperty(vT,"__esModule",{value:!0});var V3=aT(),b3=$T();vT.default={polling:V3.Polling,websocket:b3.WebSocket}});var TT=I((FT)=>{Object.defineProperty(FT,"__esModule",{value:!0});FT.uServer=void 0;var s3=xi(),Vc=df(),j3=wT(),fc=s3.default("engine:uws");class ST 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 JT(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}))}}FT.uServer=ST;class JT{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 XT=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=KT(c,i);return p.httpServer=c,c.listen(n,o),p}function KT(n,i){const o=new MT.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=KT;var N3=import.meta.require("http"),MT=df();Object.defineProperty(Xp,"Server",{enumerable:!0,get:function(){return MT.Server}});var L3=qf();Xp.transports=L3.default;var RT=Ua();Xp.parser=RT;var y3=TT();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=RT.protocol});var GT=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((uT)=>{function YT(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(YT(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(uT,"__esModule",{value:!0});uT.hasBinary=uT.isBinary=void 0;var P3=typeof ArrayBuffer==="function",e3=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},zT=Object.prototype.toString,g3=typeof Blob==="function"||typeof Blob!=="undefined"&&zT.call(Blob)==="[object BlobConstructor]",d3=typeof File==="function"||typeof File!=="undefined"&&zT.call(File)==="[object FileConstructor]";uT.isBinary=YT;uT.hasBinary=Km});var QT=I((HT)=>{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(HT,"__esModule",{value:!0});HT.reconstructPacket=HT.deconstructPacket=void 0;var iX=n$();HT.deconstructPacket=oX;HT.reconstructPacket=cX});var _a=I((NT)=>{function UT(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(NT,"__esModule",{value:!0});NT.Decoder=NT.Encoder=NT.PacketType=NT.protocol=void 0;var aX=GT(),bT=QT(),_T=n$(),xX=xi(),c$=xX.default("socket.io-parser"),mX=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];NT.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=NT.PacketType||(NT.PacketType={}));class sT{constructor(n){this.replacer=n}encode(n){if(c$("encoding packet %j",n),n.type===tn.EVENT||n.type===tn.ACK){if(_T.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=bT.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}NT.Encoder=sT;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 jT(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(_T.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 UT(i);case tn.DISCONNECT:return i===void 0;case tn.CONNECT_ERROR:return typeof i==="string"||UT(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}}NT.Decoder=p$;class jT{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=bT.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var hT=I((BT)=>{Object.defineProperty(BT,"__esModule",{value:!0});BT.Client=void 0;var Wm=_a(),$X=xi(),vX=import.meta.require("url"),Ao=$X("socket.io:client");class yT{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}}BT.Client=yT});var Xm=I((CT)=>{Object.defineProperty(CT,"__esModule",{value:!0});CT.StrictEventEmitter=void 0;var wX=import.meta.require("events");class IT 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)}}CT.StrictEventEmitter=IT});var a$=I((kT)=>{Object.defineProperty(kT,"__esModule",{value:!0});kT.RESERVED_EVENTS=void 0;kT.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var m$=I((ZT)=>{Object.defineProperty(ZT,"__esModule",{value:!0});ZT.RemoteSocket=ZT.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},(T)=>{v+=T,$++,S()},(T)=>{m.push(T),S()}),this.adapter.serverCount().then((T)=>{f=T,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)}}ZT.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}}ZT.RemoteSocket=x$});var l$=I((Gp)=>{function eT(){}var gT=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=gT(xi()),TX=Xm(),PT=gT(_f()),MX=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 dT extends TX.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=PT.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=PT.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",eT)}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=eT}_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 MX.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Gp.Socket=dT});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 nM=l$(),XX=Xm(),GX=WX(xi()),hi=m$(),sa=GX.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class iM 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 nM.Socket(this,n,i,p)}return new nM.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=iM});var lM=I((xM)=>{function $$(n){let i="";do i=pM[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+aM[n.charAt($c)];return i}function YX(){const n=$$(+new Date);if(n!==cM)return oM=0,cM=n;return n+"."+$$(oM++)}Object.defineProperty(xM,"__esModule",{value:!0});xM.yeast=xM.decode=xM.encode=void 0;var pM="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gm=64,aM={},oM=0,$c=0,cM;xM.encode=$$;xM.decode=zX;xM.yeast=YX;for(;$c<Gm;$c++)aM[pM[$c]]=$c});var S$=I(($M)=>{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($M,"__esModule",{value:!0});$M.SessionAwareAdapter=$M.Adapter=void 0;var HX=import.meta.require("events"),EX=lM(),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}}$M.Adapter=w$;class fM 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)}}$M.SessionAwareAdapter=fM});var SM=I((To)=>{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=To&&To.__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(To,"__esModule",{value:!0});To.ClusterAdapterWithHeartbeat=To.ClusterAdapter=To.MessageType=void 0;var _X=S$(),sX=xi(),jX=import.meta.require("crypto"),qn=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=To.MessageType||(To.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 qn("[%s] ignore message from self",this.uid);switch(qn("[%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)=>{qn("[%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)=>{qn("[%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:{qn("[%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,qn("[%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:qn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const c=n.data.requestId;switch(qn("[%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:qn("[%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 qn("[%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){qn("[%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){qn("[%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){qn("[%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(qn('[%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)=>{qn("[%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)=>{qn("[%s] error while publishing response: %s",this.uid,o)})}}To.ClusterAdapter=J$;class wM 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)qn("[%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 qn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==NX)this.nodesMap.set(n.uid,Date.now());switch(qn("[%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(qn('[%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(qn("[%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)}}To.ClusterAdapterWithHeartbeat=wM});var um=I((_c)=>{Object.defineProperty(_c,"__esModule",{value:!0});_c.MessageType=_c.ClusterAdapterWithHeartbeat=_c.ClusterAdapter=_c.SessionAwareAdapter=_c.Adapter=void 0;var JM=S$();Object.defineProperty(_c,"Adapter",{enumerable:!0,get:function(){return JM.Adapter}});Object.defineProperty(_c,"SessionAwareAdapter",{enumerable:!0,get:function(){return JM.SessionAwareAdapter}});var F$=SM();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 MM=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 FM=f$(),BX=um(),DX=yX(xi()),AM=DX.default("socket.io:parent-namespace");class Om extends FM.Namespace{constructor(n){super(n,"/_"+Om.count++);this.children=new Set}_initAdapter(){this.adapter=new TM(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){AM("creating child namespace %s",n);const i=new FM.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)AM("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 TM extends BX.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var zM=I((jc)=>{function CX(n){sc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);WM.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"){KM(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)KM(this.nsp.name,p,c,a)})},sc.Adapter.prototype.del=function(i,o){XM.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)){GM.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 KM(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=WM,sc.Adapter.prototype.del=XM,sc.Adapter.prototype.broadcast=GM}function rX(n,i){const{size:o}=RM.statSync(i),c=RM.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[T,R]=n.tryEnd(l.slice(S-f),o);if(!R&&T)c.resume();return T})})};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(),RM=import.meta.require("fs"),IX=hX(xi()),Hm=IX.default("socket.io:adapter-uws"),A$="\x1F",{addAll:WM,del:XM,broadcast:GM}=sc.Adapter.prototype,kX=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var YM=I((wL,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 _M=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},VM=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"),T$=import.meta.require("zlib"),n5=am(),Em=import.meta.require("stream"),uM=import.meta.require("path"),OM=XT(),i5=hT(),HM=import.meta.require("events"),R$=f$();Object.defineProperty(Ki,"Namespace",{enumerable:!0,get:function(){return R$.Namespace}});var o5=MM(),EM=um(),c5=eX(_a()),p5=VM(xi()),bM=l$();Object.defineProperty(Ki,"Socket",{enumerable:!0,get:function(){return bM.Socket}});var a5=Xm(),M$=zM(),x5=VM(gf()),bi=p5.default("socket.io:server"),QM=YM().version,UM=/\.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||EM.SessionAwareAdapter);else this.adapter(i.adapter||EM.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 OM.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=UM.test(a),m=x?"map":"source",l='"'+QM+'"',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=uM.join(__dirname,"../client-dist/",a);M$.serveFile(c,v)});M$.patchAdapter(n)}initEngine(n,i){if(bi("creating engine.io instance with opts %j",i),this.eio=OM.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=UM.test(o),p=c?"map":"source",a='"'+QM+'"',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(uM.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,T$.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Em.pipeline(c,T$.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Em.pipeline(c,T$.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(),M$.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(HM.EventEmitter.prototype).filter(function(n){return typeof HM.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=bM.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),T=i.default,R={key:v,default:T instanceof Function?T(l):T};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),T=oa(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:T}),T},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:($)=>en(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 Tc(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 Mc(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?rn(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),T=n.molecules.get(S);if(!T)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(T)}}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 iY=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?rn(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)=>en(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,M=Bv(X,c),O=M[`${z}KeysOf${yv(Y)}`],U=M[`${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),T=S.new;$.instance=new T(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,rn(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)=>en(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=en(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 Tl=(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:Tl(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=Tl(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)=>en(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 T={key:i.key,type:"readonly_selector"};if(o)T.family=o;return T};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),T=la(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:T}),T},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:($)=>en(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,rn(a.token.family.subKey))}),c}var rn=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),kO=[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 Ml=(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=Ml({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),Tx(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:(T)=>{zn(n,l,T)},onSet:(T)=>zi(l,T,`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=rn(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=rn(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),T={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)T.effects=i.effects(l);const R=fa(S,T,$);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 en=(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)},Tx=(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),Tx(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:(T)=>{zn(n,l,T)},onSet:(T)=>zi(l,T,`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 Mx(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,M)=>{const O=this.toolkit.seek(z,M);if(O)return O;const U=this.molecules.get(e(M));if(U){const V=d(z,o);return mo(U,V,o)}if(o.config.lifespan==="immortal")throw new Qi(z,M,o);return bo(o,z,M)},this.toolkit={get:(...z)=>Kn(o,...z),set:(...z)=>{zn(o,...z)},find:this.retrieve,seek:(...z)=>Nn(o,...z),json:(z)=>en(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},M)=>z(this.retrieve(a,M)),m=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M),K=this.retrieve(a,O);U(V,(y)=>y.add(O)),U(K,(y)=>y.add(M))},l=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M),K=this.retrieve(a,O);let y,_;U(V,(P)=>{if(P.delete(O),P.size===0)y=`"${M}"`;return P}),U(K,(P)=>{if(P.delete(M),P.size===0)_=`"${O}"`;return P})},f=(z,M,O)=>{const{get:U,set:V}=z,K=this.retrieve(a,M),y=U(K);for(let _ of y){if(O.includes(_))continue;const ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(M),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){const $n=x(z,ln),Un=$n.has(M);if(this.relations.cardinality==="1:n"){const si=[];for(let H of $n){if(H===M)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(M);P.add(ln)}return!0}),_})},$=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M);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(M),_})}return!0},v=(z,M,O)=>{const U=x(z,M);return O?U.has(O):U.size>0},S={getRelatedKeys:(z)=>x(this.toolkit,z),addRelation:(z,M)=>{m(this.toolkit,z,M)},deleteRelation:(z,M)=>{l(this.toolkit,z,M)},replaceRelationsSafely:(z,M)=>{f(this.toolkit,z,M)},replaceRelationsUnsafely:(z,M)=>{$(this.toolkit,z,M)},has:(z,M)=>v(this.toolkit,z,M)};let T,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 M=({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}"`)};T=Object.assign(S,{getContent:(K)=>{return M(this.toolkit,K)},setContent:(K,y)=>{O(this.toolkit,K,y)},deleteContent:(K)=>{U(this.toolkit,K)}})}else T=S;const X=new ji(n,{externalStore:T,makeContentKey:(...z)=>{const M=z.sort(),O=`${M[0]}:${M[1]}`,[U,V]=M.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:M})=>{const O=this.retrieve(a,z),U=M(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(z)=>({get:M})=>{const O=Xl(a,o),U=this.retrieve(O,z);return M(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(z)=>({get:M})=>{const O=this.retrieve(a,z),U=M(O);for(let V of U){const K=X.makeContentKey(z,V),y=this.retrieve(R,K),_=M(y);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(z)=>({get:M})=>{const O=Xl(a,o),U=this.retrieve(O,z);return M(U).members.map((K)=>{const y=X.makeContentKey(z,K),_=this.retrieve(R,y),P=M(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const z=G(),M=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[M]: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(),M=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:z,[U]:M};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(),M=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[M]: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=rn(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=rn(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=rn(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=rn(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=rn(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=rn(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 $U=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=Mx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},r4),vU=ax({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=i0(va);return[i(o,n)]}});import{spawn as Z4}from"child_process";var Ol=Tc({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 YU=Mc({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)}}),uU=Mc({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}}),OU=Mc({key:"leaveRoom",do:(n,i,o)=>{Rc(va,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),HU=Mc({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 UU=Tc({key:"transactionRedactor",default:{occlude:(n)=>n}}),x0=Tc({key:"unacknowledgedUpdates",default:()=>[]});var wa=Tc({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=Mx({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=[],T=(()=>{const G=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=An(i,E,m),z=zi(s,({oldValue:M,newValue:O})=>{const U=M.map((_)=>_.key),V=O.map((_)=>_.key),K=M.filter((_)=>!V.includes(_.key)),y=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{const P=_.type==="mutable_atom"?en(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"?en(i,E):E,z=Kn(i,s);G.push(s,z)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:z}=E,M=An(i,s,m),O=Kn(i,M);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"?en(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 M=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(M,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(M){if(M instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,M.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`,M=`${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(M);const O=performance.measure(s,z,M);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),T(),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"),zV=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 TS(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 TS 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 MS(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(MS(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},wb={...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 Tf(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 Tf(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 Mf 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 T=i[l],R=$[S]=T===null?null:f.mapFromDriverValue(T);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 T1(c,p,n)}}class T1 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 M1(n,this.config)}}class M1 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 TJ(n??"")}class TJ extends C{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new MJ(n,this.config)}}class MJ 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 T6(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 T=S.build(a);return a[zf].push(...S.buildForeignKeys(T,a)),[$,T]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.buildExtraConfigColumn(a);return[$,T]})),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 T6(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 T=p[l];if(T.relations[v]=S,$)T.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function M6(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:M6(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 sM=al(_M(),1),{Server:jM,Namespace:SL,Socket:JL}=sM.default;function $5(n){yM=n}function Qm(){return yM}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 BM(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 hM(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(`^${hM(n)}\$`)}function IM(n){let i=`${DM}T${hM(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=Mn.objectKeys(i),a=Mn.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 CM(n,i){return new Fc({values:n,typeName:g.ZodEnum,...mn(i)})}function tM(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 Mn;(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}})(Mn||(Mn={}));var W$;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(W$||(W$={}));var h=Mn.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=Mn.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,Mn.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,Mn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Mn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Mn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Mn.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 Mn.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,Mn.assertNever(n)}return{message:o}},yM=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 NM=(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 NM(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 NM(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,T5=/^[-+]?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)?)??$/,M5=/^(?!\.)(?!.*\.\.)([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}=))?$/,DM="((\\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(`^${DM}\$`);class Mo 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(!M5.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(!IM(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(!T5.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 Mn.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 Mo({...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 Mo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Mo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Mo({...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}}Mo.create=(n)=>{var i;return new Mo({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(!Mn.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 Mn.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"&&Mn.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 Mn.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 Mn.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=Mn.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 Mn.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 Mn.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 Mn.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 Mn.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 CM(Mn.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 Mn.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:Mo.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:Mn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,Na,"f"))BM(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=CM;class yp extends fn{constructor(){super(...arguments);La.set(this,void 0)}_parse(n){const i=Mn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==h.string&&o.parsedType!==h.number){const c=Mn.objectValues(i);return B(o,{expected:Mn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,La,"f"))BM(this,La,new Set(Mn.getValidEnumValues(this._def.values)),"f");if(!Vm(this,La,"f").has(n.data)){const c=Mn.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}))});Mn.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}`})=>tM((o)=>o instanceof n,i),kM=Mo.create,rM=Sc.create,Q5=ta.create,U5=Jc.create,ZM=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,LM=oo.create,iG=Ko.create,oG=ho.create,cG=oo.createWithPreprocess,pG=ka.create,aG=()=>kM().optional(),xG=()=>rM().optional(),mG=()=>ZM().optional(),lG={string:(n)=>Mo.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 Mn},get objectUtil(){return W$},ZodParsedType:h,getParsedType:vc,ZodType:fn,datetimeRegex:IM,ZodString:Mo,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:tM,Schema:fn,ZodSchema:fn,late:H5,get ZodFirstPartyTypeKind(){return g},coerce:lG,any:j5,array:B5,bigint:U5,boolean:ZM,date:V5,discriminatedUnion:I5,effect:LM,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:rM,object:ra,oboolean:mG,onumber:xG,optional:iG,ostring:aG,pipeline:pG,preprocess:cG,promise:nG,record:k5,set:Z5,strictObject:D5,string:kM,symbol:b5,transformer:LM,tuple:t5,undefined:_5,union:h5,unknown:N5,void:y5,NEVER:fG,ZodIssueCode:Q,quotelessJson:f5,ZodError:Ii});function qM(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[M,O]of Object.entries(i))if(O==="")delete i[M]}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),T=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((M)=>{throw console.error("\u274C Invalid environment variables:",M.flatten().fieldErrors),new Error("Invalid environment variables")}),A=n.onInvalidAccess??((M)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(T.success===!1)return R(T.error);const X=(M)=>{if(!n.clientPrefix)return!0;return!M.startsWith(n.clientPrefix)&&!(M in f.shape)},G=(M)=>{return $||!X(M)},Y=(M)=>{return M==="__esModule"||M==="$$typeof"},E=(n.extends??[]).reduce((M,O)=>{return Object.assign(M,O)},{}),s=Object.assign(T.data,E);return new Proxy(s,{get(M,O){if(typeof O!=="string")return;if(Y(O))return;if(!G(O))return A(O);return Reflect.get(M,O)}})}var pi=qM({isServer:typeof window==="undefined",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)=>rn(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 $G}from"child_process";import{resolve as vG}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=[vG(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=$G(p,x);return new $a(m,i,o)}var PM=al(af(),1);var wG=604800000,sm=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new PM.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>wG)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 pz from"path";import jG from"os";import NG from"fs";function SG(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&&SG(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 eM(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,eM),a}function gM(n){const i=new Cp(n);return Error.captureStackTrace(i,gM),i}function dM(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,dM),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 dn={connection:eM,postgres:gM,generic:dM,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 dn.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 dn.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 KG(n){return n.replace(MG,"\\\\").replace(RG,'\\"')}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 JG={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=FG.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(JG),FG=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]),AG=oR.serializers,TG=oR.parsers;var aR=function(n){const i=xR(n||{});return{serializers:Object.assign({},AG,i.serializers),parsers:Object.assign({},TG,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},MG=/\\/g,RG=/"/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 dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+KG(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 zG 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 WG(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=WG;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 GG(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),XG="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(GG,XG,{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:T,onnotify:R,onparameter:A,max_pipeline:X,keep_alive:G,backoff:Y,target_session_attrs:E}=n,s=Ci(),z=YG++,M={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,ni=0,wn=0,Vn=0,Pn=0,yn=null,sn=null,vi=!1,bn=null,po=null,wi=null,Io=null,ii=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,dn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=M,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 dn.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([Mv(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):OG])}function kR(w){return Buffer.concat([Mv(w.statement.string,w.parameters,w.statement.types),HG,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(dn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function wv(){if(mi(uG),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=zG.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[ni+1])return;zo(w);while(s.length)px(s.shift(),w)}function zo(w){ii&&(ii.destroy(w),ii=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,ii||N||wi||s.length)qc(dn.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(dn.connection("CONNECTION_CLOSED",n,K)),k=vR.now(),w&&n.shared.retries++,Vn=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,dn.connection("CONNECTION_CLOSED",n,K))}function qR(w,W=w[0]){(W===68?PR:W===100?G4:W===65?T4:W===83?eR:W===90?gR:W===67?dR:W===50?Tv:W===49?n4:W===116?i4:W===84?o4:W===82?c4:W===110?f4:W===75?$4:W===69?F4:W===115?M4: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,_):_[Pn++]=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=ni=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){Pn=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=M;break}}if(Pp&&(Pp(),Pp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return zo(dn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return Tv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Ac);N.resolve(_)}function n4(){N.parsing=!1}function Tv(){!_.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="+VG(Rn,Buffer.from(await Cm(await UG(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(dn.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){M.pid=w.readUInt32BE(5),M.secret=w.readUInt32BE(9)}async function v4(){ln=!1,(await new co([`
|
|
44
38
|
select b.oid, b.typarray
|
|
45
39
|
from pg_catalog.pg_type a
|
|
46
40
|
left join pg_catalog.pg_type b on b.oid = a.typelem
|
|
47
41
|
where a.typcategory = 'A'
|
|
48
42
|
group by b.oid, b.typarray
|
|
49
43
|
order by b.oid
|
|
50
|
-
`],[],
|
|
44
|
+
`],[],ep)).forEach(({oid:W,typarray:q})=>w4(W,q))}function w4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;const 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[ni]}function J4(){const w=new co([`
|
|
51
45
|
show transaction_read_only;
|
|
52
46
|
select pg_catalog.pg_is_in_recovery()
|
|
53
|
-
`],[],
|
|
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);const W=dn.postgres(y$(w));N&&N.retried?zo(N.retried):N&&N.prepared&&EG.has(W.routine)?A4(N,W):zo(W)}function A4(w,W){delete Un[w.signature],w.retried=W,ep(w)}function T4(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 M4(){try{const w=await Promise.resolve(N.cursorFn(_));Pn=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(){ii=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()),ii=null},final(w){K.write(Z().c().end()),Pp=w}}),N.resolve(ii)}function W4(){ii=new L$.Readable({read(){K.resume()}}),N.resolve(ii)}function X4(){ii=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()),ii=null},final(w){K.write(Z().c().end()),Pp=w}}),N.resolve(ii)}function G4(w){ii&&(ii.push(w.subarray(5))||K.pause())}function z4(){ii&&ii.push(null),ii=null}function Y4(w){T?T(y$(w)):console.log(y$(w))}function u4(){}function O4(){zo(dn.notSupported("FunctionCallResponse"))}function H4(){zo(dn.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 Mv(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){const i={};let o=5;for(let c=5;c<n.length-1;c++)if(n[c]===0)i[QG[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 UG(n){return ga.createHash("sha256").update(n).digest()}function VG(n,i){const 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 D$=JR,YG=1,Ac=Z().S().end(),wR=Z().H().end(),uG=Z().i32(8).i32(80877103).end(8),OG=Buffer.concat([Z().E().str(Z.N).i32(0).end(),Ac]),HG=Z().D().str("S").str(Z.N).end(),tp=()=>{},EG=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),QG={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 bG(n){return new Date(Date.UTC(2000,0,1)+Number(n/BigInt(1000)))}function _G(n,i,o,c,p){const a=(x,[m,l])=>(x[m.charCodeAt(0)]=l,x);Object.entries({R:(x)=>{let m=1;const 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=bG(x.readBigInt64BE(9)),i.lsn=x.subarray(1,9)},I:(x)=>{let m=1;const 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;const l=i[x.readUInt32BE(m)];m+=4;const 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;const l=i[x.readUInt32BE(m)];m+=4;const f=x[m]===75,$=f||x[m]===79?tm(x,l.columns,m+=3,p):null;$&&(m=$.i);const{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;const 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 sG(n){const i=n.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!i)throw new Error("Malformed subscribe pattern: "+n);const[,o,c,p]=i;return(o||"*")+(c?":"+(c.indexOf(".")===-1?"public."+c:c):"")+(p?"="+p:"")}var FR=()=>{};function h$(n,i){const o=new Map,c="postgresjs_"+Math.random().toString(36).slice(2),p={};let a,x,m=!1;const 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 T(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=sG(A),!a)a=T(l,c,i.publications);const 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((M)=>{return S(M),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 T(A,X,G){if(!G)throw new Error("Missing publication names");const 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",M),s.on("close",A.close),{stream:s,state:Y.state};function M(K){console.error("Unexpected error during logical streaming - reconnecting",K)}function O(K){if(K[0]===119)_G(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){const _=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(){const 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))}}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`);const[{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`
|
|
54
48
|
select
|
|
55
49
|
lo_lseek64(${m}, location, 0) as position,
|
|
56
50
|
seek.size
|
|
@@ -60,4 +54,10 @@ var H4=Object.create;var{getPrototypeOf:E4,defineProperty:vv,getOwnPropertyNames
|
|
|
60
54
|
tell.location
|
|
61
55
|
from (select lo_tell64($1) as location) tell
|
|
62
56
|
) seek
|
|
63
|
-
`};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:T=1/0}={}){let R=T-S;return S&&await l.seek(S),new RR.Readable({highWaterMark:v,async read(F){const X=F>R?F-R:F;R-=F;const[{data:z}]=await l.read(X);if(this.push(z),z.length<F)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new RR.Writable({highWaterMark:v,write(T,R,F){l.write(T).then(()=>F(),F)}})}}).catch(p)})}function qm(n,i){const o=yz(n,i),c=o.no_subscribe||r$(qm,{...o});let p=!1;const a=Ci(),x=Ci(),m=Ci(),l=Ci(),f=Ci(),$=Ci(),v=Ci(),S=Ci(),T={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>k$(o,T,{onopen:Qn,onend:$n,onclose:ji})),F=X(U);return Object.assign(F,{get parameters(){return o.parameters},largeObject:Z$.bind(null,F),subscribe:c,CLOSE:Cp,END:Cp,PostgresError:kp,options:o,reserve:E,listen:z,begin:s,close:_,end:B}),F;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Un,Pn])=>{return wn[Un]=(Bn)=>new Vo(Bn,Pn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Xn,notify:Y,array:O,json:M,file:ni}),Sn;function k(wn,Un){return new Vo(wn,Un)}function Sn(wn,...Un){return wn&&Array.isArray(wn.raw)?new po(wn,Un,H,K):typeof wn==="string"&&!Un.length?new da(o.transform.column.to?o.transform.column.to(wn):wn):new Im(wn,Un)}function Xn(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([wn],Un,H,K,{prepare:!1,...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}function ni(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([],Un,(sn)=>{Bz.readFile(wn,"utf8",(vi,Vn)=>{if(vi)return sn.reject(vi);sn.strings=[Vn],H(sn)})},K,{...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}}async function z(H,k,Sn){const Xn={fn:k,onlisten:Sn},ni=z.sql||(z.sql=qm({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(z.channels).forEach(([sn,{listeners:vi}])=>{delete z.channels[sn],Promise.all(vi.map((Vn)=>z(sn,Vn.fn,Vn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in z.channels&&z.channels[sn].listeners.forEach((Vn)=>Vn.fn(vi))}})),wn=z.channels||(z.channels={});if(H in wn){wn[H].listeners.push(Xn);const sn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:sn.state,unlisten:Bn}}wn[H]={result:ni`listen ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Xn]};const Pn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:Pn.state,unlisten:Bn};async function Bn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Xn),wn[H].listeners.length)return;return delete wn[H],ni`unlisten ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await F`select pg_notify(${H}, ${""+k})`}async function E(){const H=Ci(),k=$.length?$.shift():await new Promise((ni)=>{a.push({reserve:ni}),l.length&&ln(l.shift())});G(k,m),k.reserved=()=>H.length?k.execute(H.shift()):G(k,m),k.reserved.release=!0;const Sn=X(Xn);return Sn.release=()=>{k.reserved=null,Qn(k)},Sn;function Xn(ni){k.queue===S?H.push(ni):k.execute(ni)||G(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Xn=0,ni,wn=null;try{return await F.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:Pn}).execute(),await Promise.race([Un(ni,k),new Promise((Bn,sn)=>ni.onclose=sn)])}catch(Bn){throw Bn}async function Un(Bn,sn,vi){const Vn=X(ii);Vn.savepoint=Io,Vn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let ao,wi;vi&&await Vn`savepoint ${Vn(vi)}`;try{if(wi=await new Promise((jn,xo)=>{const zo=sn(Vn);Promise.resolve(Array.isArray(zo)?Promise.all(zo):zo).then(jn,xo)}),ao)throw ao}catch(jn){throw await(vi?Vn`rollback to ${Vn(vi)}`:Vn`rollback`),jn instanceof kp&&jn.code==="25P02"&&ao||jn}if(!vi)wn?await Vn`prepare transaction '${Vn.unsafe(wn)}'`:await Vn`commit`;return wi;function Io(jn,xo){if(jn&&Array.isArray(jn.raw))return Io((zo)=>zo.apply(zo,arguments));return arguments.length===1&&(xo=jn,jn=null),Un(Bn,xo,"s"+Xn+++(jn?"_"+jn:""))}function ii(jn){jn.catch((xo)=>ao||(ao=xo)),Bn.queue===S?Sn.push(jn):Bn.execute(jn)||G(Bn,S)}}function Pn(Bn){ni=Bn,G(Bn,m),Bn.reserved=()=>Sn.length?Bn.execute(Sn.shift()):G(Bn,m)}}function G(H,k){return H.queue.remove(H),k.push(H),H.queue=k,k===$?H.idleTimer.start():H.idleTimer.cancel(),H}function M(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?hm(H)||25:0),o.shared.typeArrayMap)}function U(H){if(p)return H.reject(dn.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)?G(H,v):G(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?k$(o).cancel(H.state,k,Sn):H.cancelled={resolve:k,reject:Sn}:(a.remove(H),H.cancelled=!0,H.reject(dn.generic("57014","canceling statement due to user request")),k())})}async function B({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(z.sql?z.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(dn.connection("CONNECTION_DESTROYED",o));H()}function ln(H,k){return G(H,x),H.connect(k),H}function $n(H){G(H,f)}function Qn(H){if(a.length===0)return G(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){const Xn=a.shift();if(Xn.reserve)return Xn.reserve(H);Sn=H.execute(Xn)}Sn?G(H,v):G(H,S)}function ji(H,k){G(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 yz(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=Cz(n),x=[...p.searchParams].reduce((S,[T,R])=>(S[T]=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||kz();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:Iz,max_pipeline:100,backoff:Dz,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,[T,R])=>{const F=T in c?c[T]:(T in x)?x[T]==="disable"||x[T]==="false"?!1:x[T]:o["PG"+T.toUpperCase()]||R;return S[T]=typeof F==="string"&&$.includes(T)?+F:F,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[T,R])=>((T in v)||(S[T]=R),S),{})},types:c.types||{},target_session_attrs:hz(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:tz(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...lR(c.types)}}function hz(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 Dz(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function Iz(){return 60*(30+Math.random()*30)}function tz(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 Cz(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 kz(){try{return Lz.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}Object.assign(qm,{PostgresError:kp,toPascal:tc,pascal:h$,toCamel:Ic,camel:y$,toKebab:Cc,kebab:D$,fromPascal:ea,fromCamel:Pa,fromKebab:ga,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var KR=qm;var rz=Kx("role",["admin","user"]),Qi=ic("users",{id:Bi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:$o({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Aa().notNull().default(!1),verifiedAt:$o({withTimezone:!0}),userRole:rz().default("user")},(n)=>({usersUsernameUnique:u$().on(n.username),usersEmailUnique:u$().on(n.email)}));var Zz=["username","email","hash","userRole"],qz=Kx("trackedUserColumnName",Zz),Th=ic("userChanges",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),changedAt:$o({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:qz().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),q$=ic("games",{id:Bi("id").primaryKey().defaultRandom()}),WR=ic("players",{userId:Bi().notNull().references(()=>Qi.id),gameId:Bi().notNull().references(()=>q$.id),score:Ex().notNull()},(n)=>({pk:bS({columns:[n.userId,n.gameId]})})),Tc=ic("loginHistory",{id:Bi().primaryKey().defaultRandom(),userId:Bi().references(()=>Qi.id),loginTime:$o({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Aa().notNull().default(!1)}),Pz=Kx("twoFactorMethod",["email","phone"]),Mh=ic("passwordResetAttempts",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),requestedIp:$i({length:45}).notNull(),requestedAt:$o({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:$o({withTimezone:!0}),verificationMethod:Pz().notNull()}),ix=ic("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:$o({withTimezone:!0}).notNull().defaultNow(),banishedUntil:$o({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class P${options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(ez.resolve(__dirname,"notify_update.sql"));const n=[qi(Qi),qi(q$),qi(WR)];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=KR(n),this.drizzle=dM(this.sql)}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as gz}from"crypto";function e$(n){const i=gz("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 XR=["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","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","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 oG(n){let i="";for(let o of n)if(o in GR)i+=GR[o];else i+=o;return i}function cG(n){const i=n.toLocaleLowerCase(),o=oG(i);for(let c of XR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function pG(n){const i=new Set(n).size;return n.length*Math.log2(i)}function aG(n){let i=0;const o=100;if(cG(n))i-=o;return i+=pG(n)*0.5,Math.max(i,0)}var dz=3,nG=15,iG=/^[a-zA-Z0-9_-]+$/,YR=_n.string().min(dz).max(nG).regex(iG),zR=20,GR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},uR=_n.string().refine((n)=>{return aG(n)>=zR},{message:`Password does not meet the minimum complexity of ${zR}.`}).brand("password"),OR=_n.object({username:YR,password:uR}).strict(),xG=_n.string().email().brand("email"),HR=_n.object({username:YR,password:uR,email:xG}).strict();var Pm={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"},g$=Sv(Pm).map(([n])=>_n.literal(Number(n))),mG=_n.union([g$[0],g$[1],...g$]),ER=_n.tuple([mG,_n.string()]);var QR=Zo({key:"count",default:0}),lG=Rc({key:"incrementTX",do:({set:n})=>{n(QR,(i)=>i+1)}}),UR=ev({key:"countContinuity",config:(n)=>n.add(QR).add(lG)});async function nv(){un.info("\uD83E\uDDF9 dispatching SIGINT to workers"),bR.process.kill("SIGINT"),await new Promise((n)=>bR.process.once("exit",n)),un.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var bR=yF(bp,"backend.worker.game.bun",un),rc=new P$,sR=_R.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);un.info(a,p,n.method,x.pathname);const[m]=await rc.drizzle.select({banishedUntil:ix.banishedUntil}).from(ix).where(uo(ix.ip,p)).limit(1),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){un.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-${e$("signup")}`:{const $=Buffer.concat(o).toString(),v=JSON.parse($);un.info("signup json",v);const S=HR.safeParse(v);if(!S.success){un.warn("signup parsed",S.error.issues);return}const{username:T,password:R,email:F}=S.data,[X]=await rc.drizzle.select().from(Qi).where(uo(Qi.email,F)).limit(1);if(X)throw[400,"User already exists"];const z=crypto.randomUUID(),Y=VR("sha256").update(R+z).digest("hex");await rc.drizzle.insert(Qi).values({username:T,email:F,hash:Y,salt:z,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(Pm[201])}break;case`/login-${e$("login")}`:{let $=!1,v=null;try{const S=new Date(+a-600000);un.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});const T=await rc.drizzle.select({userId:Tc.userId,successful:Tc.successful}).from(Tc).where(zc(uo(Tc.ipAddress,p),uo(Tc.successful,!1),Yx(Tc.loginTime,S))).limit(10);un.info(`\uD83D\uDD11 ${T.length}/10 recent failed logins from ${p}`);const R=10-T.length;if(R<1)throw un.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(ix).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];const F=Buffer.concat(o).toString(),X=JSON.parse(F),z=OR.safeParse(X);if(!z.success)throw un.warn("login parsed",z.error.issues),[400,`${R} attempts remaining.`];const{username:Y,password:E}=z.data,[s]=await rc.drizzle.select({id:Qi.id,hash:Qi.hash,salt:Qi.salt}).from(Qi).where(uo(Qi.username,Y)).limit(1);if(un.info("\uD83D\uDD11 login attempt as user",Y),!s)throw un.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];const{hash:G,salt:M}=s;if(v=s.id,VR("sha256").update(E+M).digest("hex")===G){const U=crypto.randomUUID();let V=_m.get(Y);if(!V)V=new Map,_m.set(Y,V);V.set(U,Number(a)),$=!0,un.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(Tc).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),un.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){const a=ER.safeParse(p);if(a.success){const[x,m]=a.data,f=`${Pm[x]}. ${m}`;un.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else un.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),d$=sR.listen(pi.BACKEND_PORT).address(),fG=typeof d$==="string"?null:d$===null?null:d$.port;if(fG===null)throw new Error("Could not determine port for test server");new uF(sR,{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(_m.get(o)?.has(c)){const a=Fn(on.STORE,$a,n.id);zn(on.STORE,a,n),Kc(Wc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Gl,(x)=>x.add(o)),zn(on.STORE,zl,(x)=>x.add(n.id)),un.info(`${o} connected on ${n.id}`),i()}else un.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=n0({socket:n,store:on.STORE})(UR);n.on("disconnect",()=>{const c=np(Wc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Kc(Wc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Gl,(a)=>(a.delete(p),a));zn(on.STORE,zl,(a)=>(a.delete(n.id),a)),li(on.STORE,$a,n.id),un.info(`${n.id} disconnected`),o()})});bp.emit("alive");bp.on("updatesReady",()=>{bp.emit("readyToUpdate")});process.on("SIGINT",async()=>{un.info("\u2757 received SIGINT; exiting gracefully"),await nv()});process.on("SIGTERM",async()=>{un.info("\u2757 received SIGTERM; exiting gracefully"),await nv()});process.on("exit",async()=>{un.info("\u2757 received exit; exiting gracefully"),await nv()});un.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);
|
|
57
|
+
`};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:T=1/0}={}){let R=T-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(T,R,A){l.write(T).then(()=>A(),A)}})}}).catch(p)})}function km(n,i){const o=LG(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(),T={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>D$(o,T,{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,Pn])=>{return wn[Vn]=(yn)=>new Vo(yn,Pn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Gn,notify:Y,array:O,json:M,file:ni}),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=[],Pn={}){return arguments.length===2&&!Array.isArray(Vn)&&(Pn=Vn,Vn=[]),new co([wn],Vn,H,K,{prepare:!1,...Pn,simple:"simple"in Pn?Pn.simple:Vn.length===0})}function ni(wn,Vn=[],Pn={}){return arguments.length===2&&!Array.isArray(Vn)&&(Pn=Vn,Vn=[]),new co([],Vn,(sn)=>{NG.readFile(wn,"utf8",(vi,bn)=>{if(vi)return sn.reject(vi);sn.strings=[bn],H(sn)})},K,{...Pn,simple:"simple"in Pn?Pn.simple:Vn.length===0})}}async function G(H,k,Sn){const Gn={fn:k,onlisten:Sn},ni=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:ni`listen ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Gn]};const Pn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:Pn.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],ni`unlisten ${ni.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((ni)=>{a.push({reserve:ni}),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(ni){k.queue===S?H.push(ni):k.execute(ni)||z(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Gn=0,ni,wn=null;try{return await A.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:Pn}).execute(),await Promise.race([Vn(ni,k),new Promise((yn,sn)=>ni.onclose=sn)])}catch(yn){throw yn}async function Vn(yn,sn,vi){const bn=X(ii);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 ii(jn){jn.catch((ao)=>po||(po=ao)),yn.queue===S?Sn.push(jn):yn.execute(jn)||z(yn,S)}}function Pn(yn){ni=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 M(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(dn.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(dn.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(dn.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 LG(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=IG(n),x=[...p.searchParams].reduce((S,[T,R])=>(S[T]=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||CG();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:DG,max_pipeline:100,backoff:BG,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,[T,R])=>{const A=T in c?c[T]:(T in x)?x[T]==="disable"||x[T]==="false"?!1:x[T]:o["PG"+T.toUpperCase()]||R;return S[T]=typeof A==="string"&&$.includes(T)?+A:A,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[T,R])=>((T in v)||(S[T]=R),S),{})},types:c.types||{},target_session_attrs:yG(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:hG(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...aR(c.types)}}function yG(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 BG(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function DG(){return 60*(30+Math.random()*30)}function hG(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 IG(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 CG(){try{return jG.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 TR(this.table,i,this.session,this.dialect,this.withList)}}class TR 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 tG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function kG(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 rG(n){return n}class C${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?tG:n==="camelCase"?kG:rG}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`
|
|
58
|
+
CREATE TABLE IF NOT EXISTS ${F.identifier(p)}.${F.identifier(c)} (
|
|
59
|
+
id SERIAL PRIMARY KEY,
|
|
60
|
+
hash text NOT NULL,
|
|
61
|
+
created_at bigint
|
|
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:T}){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),M=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}${M}${V}${O}${U}${K}${y}${_}`;if(T.length>0)return this.buildSetOperations(P,T);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 T=[];for(let R of a)if(u(R,j))T.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)}T.push(F`${R}`)}else T.push(F`${R}`);f=F` order by ${F.join(T,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(([T,R])=>!R.shouldDisableInsert()),l=m.map(([,T])=>F.identifier(this.casing.getColumnCasing(T)));for(let[T,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),T<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=[],T;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(([M,O])=>[M,Oo(O,x)]));if(a.where){const M=typeof a.where==="function"?a.where(X,kJ()):a.where;T=M&&ua(M,x)}const G=[];let Y=[];if(a.columns){let M=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!M&&U===!0)M=!0;Y.push(O)}}if(Y.length>0)Y=M?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let M of Y){const O=p.columns[M];G.push({tsKey:M,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((M)=>!!M[1]).map(([M,O])=>({tsKey:M,queryConfig:O,relation:p.relations[M]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:F}):a.extras;for(let[M,O]of Object.entries(s))G.push({tsKey:M,value:Tf(O,x)})}for(let{tsKey:M,value:O}of G)f.push({dbKey:u(O,t.Aliased)?O.fieldAlias:p.columns[M].name,tsKey:M,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((M)=>{if(u(M,_n))return Oo(M,x);return ua(M,x)}),$=a.limit,v=a.offset;for(let{tsKey:M,queryConfig:O,relation:U}of E){const V=qJ(i,o,U),K=Oc(U.referencedTable),y=o[K],_=`${x}_${M}`,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(M);R.push({on:F`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:M,tsKey:M,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(T=Hc(l,T),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:T,limit:$,offset:v,orderBy:S,setOperators:[]}),T=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:T,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:T,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 MR 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(ZG()):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 MR{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 ZG=()=>({union:qG,unionAll:PG,intersect:eG,intersectAll:gG,except:dG,exceptAll:nz}),qG=rp("union",!1),PG=rp("union",!0),eG=rp("intersect",!1),gG=rp("intersect",!0),dG=rp("except",!1),nz=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 Mf}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:()=>oz,untrackedUserColumnNames:()=>iz,twoFactorMethod:()=>OR,trackedUserColumnName:()=>uR,trackableUserColumnNames:()=>YR,role:()=>zR,players:()=>cv,passwordResetAttempts:()=>cz,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)})),iz=["id","createdAt","createdIp","isActive","salt","verifiedAt"],YR=["username","email","hash","userRole"],uR=Bx("trackedUserColumnName",YR),oz=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"]),cz=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(pz.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 az}from"crypto";function xv(n){const i=az("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 fz(n){let i="";for(let o of n)if(o in QR)i+=QR[o];else i+=o;return i}function $z(n){const i=n.toLocaleLowerCase(),o=fz(i);for(let c of HR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function vz(n){const i=new Set(n).size;return n.length*Math.log2(i)}function wz(n){let i=0;const o=100;if($z(n))i-=o;return i+=vz(n)*0.5,Math.max(i,0)}var xz=3,mz=15,lz=/^[a-zA-Z0-9_-]+$/,UR=Qn.string().min(xz).max(mz).regex(lz),ER=20,QR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},VR=Qn.string().refine((n)=>{return wz(n)>=ER},{message:`Password does not meet the minimum complexity of ${ER}.`}).brand("password"),bR=Qn.object({username:UR,password:VR}).strict(),Sz=Qn.string().email().brand("email"),_R=Qn.object({username:UR,password:VR,email:Sz}).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))),Jz=Qn.union([mv[0],mv[1],...mv]),sR=Qn.tuple([Jz,Qn.string()]);var jR=Zo({key:"count",default:0}),Fz=Mc({key:"incrementTX",do:({set:n})=>{n(jR,(i)=>i+1)}}),NR=p0({key:"countContinuity",config:(n)=>n.add(jR).add(Fz)});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,xh=(()=>{let{__tribunalDaily:n}=globalThis;if(!n)n=new DR.CronJob("00 00 03 * * *",()=>{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:T,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:T,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 T=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 ${T.length}/10 recent failed logins from ${p}`);const R=10-T.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:M}=s;if(v=s.id,LR("sha256").update(E+M).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(),Az=typeof lv==="string"?null:lv===null?null:lv.port;if(Az===null)throw new Error("Could not determine port for test server");new jM(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{xh as tribunalDaily};
|