@nhtio/validation 1.20251103.0 → 1.20251103.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.cjs +1 -1
  2. package/index.mjs +1 -1
  3. package/package.json +1 -1
package/index.mjs CHANGED
@@ -157,5 +157,5 @@ ieee754.read=function(t$7,o$2,r$2,u,h$1){var m$3,y$1,S=h$1*8-u-1,_=(1<<S)-1,C=_>
157
157
  international: ${this.international},
158
158
  e164: ${this.e164},
159
159
  timezone: ${this.timezone},
160
- }`}serialize(){let o$2=buffer.Buffer.from(JSON.stringify({phone:this.raw,country:this.country})).toString(`base64`);return buffer.Buffer.from(JSON.stringify({phone:this.raw,country:this.country,hash:o$2})).toString(`base64`)}static deserialize(o$2){let r$2;try{r$2=buffer.Buffer.from(o$2,`base64`).toString(`utf-8`)}catch{throw Error(`Not a valid serialized phone object`)}let u;try{u=JSON.parse(r$2)}catch{throw Error(`Not a valid serialized phone object`)}if(!u.phone||!u.country||!u.hash||buffer.Buffer.from(JSON.stringify({phone:u.phone,country:u.country})).toString(`base64`)!==u.hash)throw Error(`Not a valid serialized phone object`);return new Te$1(u.phone,u.country===`XX`?void 0:u.country)}};z=new WeakMap,H=new WeakMap,Z=new WeakMap,V=new WeakMap,se=new WeakMap,le=new WeakMap,W=new WeakSet,Le=function(o$2){let r$2=country_telephone_data.allCountries.map(u=>({iso:u.iso2.toUpperCase(),prefix:String(u.dialCode).trim().replace(/\D/g,``)})).filter(u=>o$2.substring(0,u.prefix.length)===u.prefix).sort(ne(this,W,be)).filter(u=>{let h$1=this.constructor;return new h$1(o$2,u.iso).valid});return r$2.length>=1?r$2[0].iso:ne(this,W,Fe).call(this,o$2)},Fe=function(o$2){let r$2=country_telephone_data.allCountries.map(u=>({iso:u.iso2.toUpperCase(),prefix:String(u.dialCode).trim().replace(/\D/g,``)})).sort(ne(this,W,be)).filter(u=>{let h$1=this.constructor;return new h$1(o$2,u.iso).valid});return r$2.length>=1?r$2[0].iso:`XX`},be=function(o$2,r$2){if(o$2.prefix.length===r$2.prefix.length){let u=Number.parseInt(o$2.prefix),h$1=Number.parseInt(r$2.prefix);return u===h$1?o$2.iso.localeCompare(r$2.iso):u>h$1?1:-1}return o$2.prefix.length>r$2.prefix.length?1:-1},we=function(o$2){if(!o$2)return`INVALID`;let r$2=M(this,Z).getNumberType(o$2),u=Object.values(libphonenumberExports.PhoneNumberType),h$1=Object.keys(libphonenumberExports.PhoneNumberType),m$3=u.indexOf(r$2);return h$1[m$3]||`INVALID`},ve=function(){let o$2=this.raw.substring(1,4);return areaCodeMap[o$2]&&typeof areaCodeMap[o$2]==`string`?areaCodeMap[o$2]:`XX`};let Phone=Te;const version$1=`1.20250512.0`,messages={"phone.base":`{{#label}} must be a phone number`,"phone.invalid":`{{#label}} must be a valid phone number for {{#country}}`,"phone.fixedLine":`{{#label}} must be a fixed line number for {{#country}}`,"phone.mobile":`{{#label}} must be a mobile number for {{#country}}`,"phone.strictFixedLine":`{{#label}} is not a fixed line number for {{#country}}`,"phone.strictMobile":`{{#label}} is not a mobile number for {{#country}}`,"phone.fixedLineOrMobile":`{{#label}} must be a fixed line or mobile number for {{#country}}`,"phone.tollFree":`{{#label}} must be a toll-free number for {{#country}}`,"phone.premiumRate":`{{#label}} must be a premium rate number for {{#country}}`,"phone.sharedCost":`{{#label}} must be a shared cost number for {{#country}}`,"phone.voip":`{{#label}} must be a VoIP number for {{#country}}`,"phone.personalNumber":`{{#label}} must be a personal number for {{#country}}`,"phone.pager":`{{#label}} must be a pager number for {{#country}}`,"phone.uan":`{{#label}} must be a UAN number for {{#country}}`,"phone.voicemail":`{{#label}} must be a voicemail number for {{#country}}`,"phone.unknown":`{{#label}} must be an unknown type number for {{#country}}`,"phone.types":`{{#label}} must be one of the specified phone types for {{#country}}`},coerceCountry=value=>{if(typeof value!=`string`)return null;if(isos.has(value.toUpperCase()))return value.toUpperCase();let match$2=null;return countries.forEach((name$2,iso)=>{name$2.toLowerCase()===value.toLowerCase()&&(match$2=iso)}),match$2},getPhoneObject=(value,country)=>{let countryCoerced=coerceCountry(country);try{return new Phone(value,countryCoerced||void 0)}catch{return}},evaluate=(value,operator$1,args$1)=>{switch(operator$1){case`fixedLine`:return[`FIXED_LINE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`mobile`:return[`MOBILE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`fixedLineOrMobile`:return[`FIXED_LINE`,`MOBILE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`strictFixedLine`:return value.type===`FIXED_LINE`;case`strictMobile`:return value.type===`MOBILE`;case`tollFree`:return value.type===`TOLL_FREE`;case`premiumRate`:return value.type===`PREMIUM_RATE`;case`sharedCost`:return value.type===`SHARED_COST`;case`voip`:return value.type===`VOIP`;case`personalNumber`:return value.type===`PERSONAL_NUMBER`;case`pager`:return value.type===`PAGER`;case`uan`:return value.type===`UAN`;case`voicemail`:return value.type===`VOICEMAIL`;case`unknown`:return value.type===`UNKNOWN`;case`types`:return args$1[0].includes(value.type);default:return!1}},phone=function(joi){let coerce$3=(value,helpers$8)=>typeof value==`string`||typeof value==`number`?(value=value.toString().trim(),{value}):{value,errors:[helpers$8.error(`phone.base`,{value:String(value)})]},getCountryName=iso=>{if(`$i18n`in joi){let root$11=joi;if(!countries.has(iso))return iso;let returnable=root$11.$i18n(`country.${iso}`);return returnable||countries.get(iso)||iso}return countries.get(iso)||iso};return{type:`phone`,base:joi.any(),validate(value,{error,schema:schema$2,prefs,state}){let isEmpty$13=value==null,isRequired=schema$2._flags.presence===`required`;if(isEmpty$13&&!isRequired)return{value:null};if(isEmpty$13&&isRequired)return{value,errors:[error(`any.required`,{label:schema$2._flags.label})]};let arg=schema$2.$_getFlag(`country`),country=joi.isRef(arg)?arg.resolve(value,state,prefs):arg,pObj=getPhoneObject(value,country);if(pObj){if(!pObj.valid)return country?{value,errors:[error(`phone.invalid`,{value:String(value),country:getCountryName(country)})]}:{value,errors:[error(`phone.base`,{value:String(value)})]}}else return{value,errors:[error(`phone.base`,{value:String(value)})]};let as=schema$2.$_getFlag(`as`)||`e164`,formattedValue;switch(as){case`international`:formattedValue=pObj.international;break;case`national`:formattedValue=pObj.national;break;case`raw`:formattedValue=pObj.raw;break;case`timezone`:formattedValue=pObj.timezone;break;case`type`:formattedValue=pObj.type;break;case`country`:formattedValue=pObj.country;break;default:formattedValue=pObj.e164}return{value:formattedValue}},flags:{country:{default:null,setter:`country`},as:{default:`e164`,setter:`format`}},args(...args$1){let[schema$2,country]=args$1;return schema$2.country(country)},coerce:{from:[`string`,`number`],method:coerce$3},rules:{check:{method:!1,validate(value,helpers$8,args$1,{name:name$2,operator:operator$1}){let{state,prefs}=helpers$8,countryVal=helpers$8.schema.$_getFlag(`country`);joi.isRef(countryVal)&&(countryVal=countryVal.resolve(value,state,prefs));let pObj=getPhoneObject(value,countryVal);if(pObj){if(!pObj.valid)return countryVal?helpers$8.error(`phone.invalid`,{value:String(value),country:getCountryName(countryVal)}):{value,errors:[helpers$8.error(`phone.base`,{value:String(value)})]}}else return helpers$8.error(`phone.base`,{value:String(value)});let valid$2=evaluate(pObj,operator$1,Object.values(args$1||{}));return valid$2?value:helpers$8.error(`phone.`+name$2,{value:value.toString(),country:getCountryName(countryVal),...args$1})}},country:{method(country){return this.$_setFlag(`country`,country)},args:[{name:`country`,ref:!0,assert:value=>typeof value==`string`||joi.isRef(value),message:`must be a string or a reference`}]},format:{method(as){return this.$_setFlag(`as`,as)},args:[{name:`as`,assert:value=>[`e164`,`international`,`national`,`raw`,`timezone`,`type`,`country`].includes(value),message:`must be one of e164, international, national, raw, timezone, type, or country`}]},fixedLine:{method(){return this.$_addRule({name:`fixedLine`,method:`check`,operator:`fixedLine`})}},mobile:{method(){return this.$_addRule({name:`mobile`,method:`check`,operator:`mobile`})}},strictFixedLine:{method(){return this.$_addRule({name:`strictFixedLine`,method:`check`,operator:`strictFixedLine`})}},strictMobile:{method(){return this.$_addRule({name:`strictMobile`,method:`check`,operator:`strictMobile`})}},fixedLineOrMobile:{method(){return this.$_addRule({name:`fixedLineOrMobile`,method:`check`,operator:`fixedLineOrMobile`})}},tollFree:{method(){return this.$_addRule({name:`tollFree`,method:`check`,operator:`tollFree`})}},premiumRate:{method(){return this.$_addRule({name:`premiumRate`,method:`check`,operator:`premiumRate`})}},sharedCost:{method(){return this.$_addRule({name:`sharedCost`,method:`check`,operator:`sharedCost`})}},voip:{method(){return this.$_addRule({name:`voip`,method:`check`,operator:`voip`})}},personalNumber:{method(){return this.$_addRule({name:`personalNumber`,method:`check`,operator:`personalNumber`})}},pager:{method(){return this.$_addRule({name:`pager`,method:`check`,operator:`pager`})}},uan:{method(){return this.$_addRule({name:`uan`,method:`check`,operator:`uan`})}},voicemail:{method(){return this.$_addRule({name:`voicemail`,method:`check`,operator:`voicemail`})}},unknown:{method(){return this.$_addRule({name:`unknown`,method:`check`,operator:`unknown`})}},types:{method(...types$1){return this.$_addRule({name:`types`,method:`check`,operator:`types`,args:{types:types$1}})}}},cast:{string:{from:value=>typeof value==`string`||typeof value==`number`,to:value=>value},number:{from:value=>typeof value==`string`||typeof value==`number`,to(value,helpers$8){let country=helpers$8.schema.$_getFlag(`country`),pObj=getPhoneObject(value,country);return pObj?Number(pObj.raw):-1}},object:{from:value=>typeof value==`string`||typeof value==`number`,to(value,helpers$8){let country=helpers$8.schema.$_getFlag(`country`),pObj=getPhoneObject(value,country);return pObj?pObj.toObject():{}}}},messages}};var DP=20,RM=1,MAX_DP=1e6,MAX_POWER=1e6,NE=-7,PE=21,STRICT=!1,NAME=`[big.js] `,INVALID$3=NAME+`Invalid `,INVALID_DP=INVALID$3+`decimal places`,INVALID_RM=INVALID$3+`rounding mode`,DIV_BY_ZERO=NAME+`Division by zero`,P={},UNDEFINED=void 0,NUMERIC=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big$1(n$4){var x$1=this;if(!(x$1 instanceof Big$1))return n$4===UNDEFINED&&arguments.length===0?_Big_():new Big$1(n$4);if(n$4 instanceof Big$1)x$1.s=n$4.s,x$1.e=n$4.e,x$1.c=n$4.c.slice();else{if(typeof n$4!=`string`){if(Big$1.strict===!0&&typeof n$4!=`bigint`)throw TypeError(INVALID$3+`value`);n$4=n$4===0&&1/n$4<0?`-0`:String(n$4)}parse$8(x$1,n$4)}x$1.constructor=Big$1}return Big$1.prototype=P,Big$1.DP=DP,Big$1.RM=RM,Big$1.NE=NE,Big$1.PE=PE,Big$1.strict=STRICT,Big$1.roundDown=0,Big$1.roundHalfUp=1,Big$1.roundHalfEven=2,Big$1.roundUp=3,Big$1}function parse$8(x$1,n$4){var e$2,i$4,nl;if(!NUMERIC.test(n$4))throw Error(INVALID$3+`number`);for(x$1.s=n$4.charAt(0)==`-`?(n$4=n$4.slice(1),-1):1,(e$2=n$4.indexOf(`.`))>-1&&(n$4=n$4.replace(`.`,``)),(i$4=n$4.search(/e/i))>0?(e$2<0&&(e$2=i$4),e$2+=+n$4.slice(i$4+1),n$4=n$4.substring(0,i$4)):e$2<0&&(e$2=n$4.length),nl=n$4.length,i$4=0;i$4<nl&&n$4.charAt(i$4)==`0`;)++i$4;if(i$4==nl)x$1.c=[x$1.e=0];else{for(;nl>0&&n$4.charAt(--nl)==`0`;);for(x$1.e=e$2-i$4-1,x$1.c=[],e$2=0;i$4<=nl;)x$1.c[e$2++]=+n$4.charAt(i$4++)}return x$1}function round(x$1,sd,rm,more){var xc=x$1.c;if(rm===UNDEFINED&&(rm=x$1.constructor.RM),rm!==0&&rm!==1&&rm!==2&&rm!==3)throw Error(INVALID_RM);if(sd<1)more=rm===3&&(more||!!xc[0])||sd===0&&(rm===1&&xc[0]>=5||rm===2&&(xc[0]>5||xc[0]===5&&(more||xc[1]!==UNDEFINED))),xc.length=1,more?(x$1.e=x$1.e-sd+1,xc[0]=1):xc[0]=x$1.e=0;else if(sd<xc.length){if(more=rm===1&&xc[sd]>=5||rm===2&&(xc[sd]>5||xc[sd]===5&&(more||xc[sd+1]!==UNDEFINED||xc[sd-1]&1))||rm===3&&(more||!!xc[0]),xc.length=sd,more){for(;++xc[--sd]>9;)if(xc[sd]=0,sd===0){++x$1.e,xc.unshift(1);break}}for(sd=xc.length;!xc[--sd];)xc.pop()}return x$1}function stringify(x$1,doExponential,isNonzero){var e$2=x$1.e,s$6=x$1.c.join(``),n$4=s$6.length;if(doExponential)s$6=s$6.charAt(0)+(n$4>1?`.`+s$6.slice(1):``)+(e$2<0?`e`:`e+`)+e$2;else if(e$2<0){for(;++e$2;)s$6=`0`+s$6;s$6=`0.`+s$6}else if(e$2>0)if(++e$2>n$4)for(e$2-=n$4;e$2--;)s$6+=`0`;else e$2<n$4&&(s$6=s$6.slice(0,e$2)+`.`+s$6.slice(e$2));else n$4>1&&(s$6=s$6.charAt(0)+`.`+s$6.slice(1));return x$1.s<0&&isNonzero?`-`+s$6:s$6}P.abs=function(){var x$1=new this.constructor(this);return x$1.s=1,x$1},P.cmp=function(y$1){var isneg,x$1=this,xc=x$1.c,yc=(y$1=new x$1.constructor(y$1)).c,i$4=x$1.s,j$1=y$1.s,k=x$1.e,l$4=y$1.e;if(!xc[0]||!yc[0])return xc[0]?i$4:yc[0]?-j$1:0;if(i$4!=j$1)return i$4;if(isneg=i$4<0,k!=l$4)return k>l$4^isneg?1:-1;for(j$1=(k=xc.length)<(l$4=yc.length)?k:l$4,i$4=-1;++i$4<j$1;)if(xc[i$4]!=yc[i$4])return xc[i$4]>yc[i$4]^isneg?1:-1;return k==l$4?0:k>l$4^isneg?1:-1},P.div=function(y$1){var x$1=this,Big$1=x$1.constructor,a$2=x$1.c,b=(y$1=new Big$1(y$1)).c,k=x$1.s==y$1.s?1:-1,dp=Big$1.DP;if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);if(!b[0])throw Error(DIV_BY_ZERO);if(!a$2[0])return y$1.s=k,y$1.c=[y$1.e=0],y$1;var bl,bt,n$4,cmp$3,ri,bz=b.slice(),ai=bl=b.length,al=a$2.length,r$2=a$2.slice(0,bl),rl=r$2.length,q=y$1,qc=q.c=[],qi=0,p$1=dp+(q.e=x$1.e-y$1.e)+1;for(q.s=k,k=p$1<0?0:p$1,bz.unshift(0);rl++<bl;)r$2.push(0);do{for(n$4=0;n$4<10;n$4++){if(bl!=(rl=r$2.length))cmp$3=bl>rl?1:-1;else for(ri=-1,cmp$3=0;++ri<bl;)if(b[ri]!=r$2[ri]){cmp$3=b[ri]>r$2[ri]?1:-1;break}if(cmp$3<0){for(bt=rl==bl?b:bz;rl;){if(r$2[--rl]<bt[rl]){for(ri=rl;ri&&!r$2[--ri];)r$2[ri]=9;--r$2[ri],r$2[rl]+=10}r$2[rl]-=bt[rl]}for(;!r$2[0];)r$2.shift()}else break}qc[qi++]=cmp$3?n$4:++n$4,r$2[0]&&cmp$3?r$2[rl]=a$2[ai]||0:r$2=[a$2[ai]]}while((ai++<al||r$2[0]!==UNDEFINED)&&k--);return!qc[0]&&qi!=1&&(qc.shift(),q.e--,p$1--),qi>p$1&&round(q,p$1,Big$1.RM,r$2[0]!==UNDEFINED),q},P.eq=function(y$1){return this.cmp(y$1)===0},P.gt=function(y$1){return this.cmp(y$1)>0},P.gte=function(y$1){return this.cmp(y$1)>-1},P.lt=function(y$1){return this.cmp(y$1)<0},P.lte=function(y$1){return this.cmp(y$1)<1},P.minus=P.sub=function(y$1){var i$4,j$1,t$7,xlty,x$1=this,Big$1=x$1.constructor,a$2=x$1.s,b=(y$1=new Big$1(y$1)).s;if(a$2!=b)return y$1.s=-b,x$1.plus(y$1);var xc=x$1.c.slice(),xe=x$1.e,yc=y$1.c,ye=y$1.e;if(!xc[0]||!yc[0])return yc[0]?y$1.s=-b:xc[0]?y$1=new Big$1(x$1):y$1.s=1,y$1;if(a$2=xe-ye){for((xlty=a$2<0)?(a$2=-a$2,t$7=xc):(ye=xe,t$7=yc),t$7.reverse(),b=a$2;b--;)t$7.push(0);t$7.reverse()}else for(j$1=((xlty=xc.length<yc.length)?xc:yc).length,a$2=b=0;b<j$1;b++)if(xc[b]!=yc[b]){xlty=xc[b]<yc[b];break}if(xlty&&(t$7=xc,xc=yc,yc=t$7,y$1.s=-y$1.s),(b=(j$1=yc.length)-(i$4=xc.length))>0)for(;b--;)xc[i$4++]=0;for(b=i$4;j$1>a$2;){if(xc[--j$1]<yc[j$1]){for(i$4=j$1;i$4&&!xc[--i$4];)xc[i$4]=9;--xc[i$4],xc[j$1]+=10}xc[j$1]-=yc[j$1]}for(;xc[--b]===0;)xc.pop();for(;xc[0]===0;)xc.shift(),--ye;return xc[0]||(y$1.s=1,xc=[ye=0]),y$1.c=xc,y$1.e=ye,y$1},P.mod=function(y$1){var ygtx,x$1=this,Big$1=x$1.constructor,a$2=x$1.s,b=(y$1=new Big$1(y$1)).s;if(!y$1.c[0])throw Error(DIV_BY_ZERO);return x$1.s=y$1.s=1,ygtx=y$1.cmp(x$1)==1,x$1.s=a$2,y$1.s=b,ygtx?new Big$1(x$1):(a$2=Big$1.DP,b=Big$1.RM,Big$1.DP=Big$1.RM=0,x$1=x$1.div(y$1),Big$1.DP=a$2,Big$1.RM=b,this.minus(x$1.times(y$1)))},P.neg=function(){var x$1=new this.constructor(this);return x$1.s=-x$1.s,x$1},P.plus=P.add=function(y$1){var e$2,k,t$7,x$1=this,Big$1=x$1.constructor;if(y$1=new Big$1(y$1),x$1.s!=y$1.s)return y$1.s=-y$1.s,x$1.minus(y$1);var xe=x$1.e,xc=x$1.c,ye=y$1.e,yc=y$1.c;if(!xc[0]||!yc[0])return yc[0]||(xc[0]?y$1=new Big$1(x$1):y$1.s=x$1.s),y$1;if(xc=xc.slice(),e$2=xe-ye){for(e$2>0?(ye=xe,t$7=yc):(e$2=-e$2,t$7=xc),t$7.reverse();e$2--;)t$7.push(0);t$7.reverse()}for(xc.length-yc.length<0&&(t$7=yc,yc=xc,xc=t$7),e$2=yc.length,k=0;e$2;xc[e$2]%=10)k=(xc[--e$2]=xc[e$2]+yc[e$2]+k)/10|0;for(k&&(xc.unshift(k),++ye),e$2=xc.length;xc[--e$2]===0;)xc.pop();return y$1.c=xc,y$1.e=ye,y$1},P.pow=function(n$4){var x$1=this,one=new x$1.constructor(`1`),y$1=one,isneg=n$4<0;if(n$4!==~~n$4||n$4<-MAX_POWER||n$4>MAX_POWER)throw Error(INVALID$3+`exponent`);for(isneg&&(n$4=-n$4);n$4&1&&(y$1=y$1.times(x$1)),n$4>>=1,n$4;)x$1=x$1.times(x$1);return isneg?one.div(y$1):y$1},P.prec=function(sd,rm){if(sd!==~~sd||sd<1||sd>MAX_DP)throw Error(INVALID$3+`precision`);return round(new this.constructor(this),sd,rm)},P.round=function(dp,rm){if(dp===UNDEFINED)dp=0;else if(dp!==~~dp||dp<-MAX_DP||dp>MAX_DP)throw Error(INVALID_DP);return round(new this.constructor(this),dp+this.e+1,rm)},P.sqrt=function(){var r$2,c$1,t$7,x$1=this,Big$1=x$1.constructor,s$6=x$1.s,e$2=x$1.e,half=new Big$1(`0.5`);if(!x$1.c[0])return new Big$1(x$1);if(s$6<0)throw Error(NAME+`No square root`);s$6=Math.sqrt(+stringify(x$1,!0,!0)),s$6===0||s$6===1/0?(c$1=x$1.c.join(``),c$1.length+e$2&1||(c$1+=`0`),s$6=Math.sqrt(c$1),e$2=((e$2+1)/2|0)-(e$2<0||e$2&1),r$2=new Big$1((s$6==1/0?`5e`:(s$6=s$6.toExponential()).slice(0,s$6.indexOf(`e`)+1))+e$2)):r$2=new Big$1(s$6+``),e$2=r$2.e+(Big$1.DP+=4);do t$7=r$2,r$2=half.times(t$7.plus(x$1.div(t$7)));while(t$7.c.slice(0,e$2).join(``)!==r$2.c.slice(0,e$2).join(``));return round(r$2,(Big$1.DP-=4)+r$2.e+1,Big$1.RM)},P.times=P.mul=function(y$1){var c$1,x$1=this,Big$1=x$1.constructor,xc=x$1.c,yc=(y$1=new Big$1(y$1)).c,a$2=xc.length,b=yc.length,i$4=x$1.e,j$1=y$1.e;if(y$1.s=x$1.s==y$1.s?1:-1,!xc[0]||!yc[0])return y$1.c=[y$1.e=0],y$1;for(y$1.e=i$4+j$1,a$2<b&&(c$1=xc,xc=yc,yc=c$1,j$1=a$2,a$2=b,b=j$1),c$1=Array(j$1=a$2+b);j$1--;)c$1[j$1]=0;for(i$4=b;i$4--;){for(b=0,j$1=a$2+i$4;j$1>i$4;)b=c$1[j$1]+yc[i$4]*xc[j$1-i$4-1]+b,c$1[j$1--]=b%10,b=b/10|0;c$1[j$1]=b}for(b?++y$1.e:c$1.shift(),i$4=c$1.length;!c$1[--i$4];)c$1.pop();return y$1.c=c$1,y$1},P.toExponential=function(dp,rm){var x$1=this,n$4=x$1.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);for(x$1=round(new x$1.constructor(x$1),++dp,rm);x$1.c.length<dp;)x$1.c.push(0)}return stringify(x$1,!0,!!n$4)},P.toFixed=function(dp,rm){var x$1=this,n$4=x$1.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);for(x$1=round(new x$1.constructor(x$1),dp+x$1.e+1,rm),dp=dp+x$1.e+1;x$1.c.length<dp;)x$1.c.push(0)}return stringify(x$1,!1,!!n$4)},P.toJSON=P.toString=function(){var x$1=this,Big$1=x$1.constructor;return stringify(x$1,x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!!x$1.c[0])},typeof Symbol<`u`&&(P[Symbol.for(`nodejs.util.inspect.custom`)]=P.toJSON),P.toNumber=function(){var n$4=+stringify(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(n$4.toString()))throw Error(NAME+`Imprecise conversion`);return n$4},P.toPrecision=function(sd,rm){var x$1=this,Big$1=x$1.constructor,n$4=x$1.c[0];if(sd!==UNDEFINED){if(sd!==~~sd||sd<1||sd>MAX_DP)throw Error(INVALID$3+`precision`);for(x$1=round(new Big$1(x$1),sd,rm);x$1.c.length<sd;)x$1.c.push(0)}return stringify(x$1,sd<=x$1.e||x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!!n$4)},P.valueOf=function(){var x$1=this,Big$1=x$1.constructor;if(Big$1.strict===!0)throw Error(NAME+`valueOf disallowed`);return stringify(x$1,x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!0)};var Big=_Big_(),big_default=Big;const messages$1={"bigint.base":`"{{#label}}" must be a valid bigint`,"bigint.greater":`"{{#label}}" must be greater than {{#limit}}`,"bigint.less":`"{{#label}}" must be less than {{#limit}}`,"bigint.max":`"{{#label}}" must be less than or equal to {{#limit}}`,"bigint.min":`"{{#label}}" must be greater than or equal to {{#limit}}`,"bigint.multiple":`"{{#label}}" must be a multiple of {{#limit}}`,"bigint.negative":`"{{#label}}" must be a negative bigint`,"bigint.positive":`"{{#label}}" must be a positive bigint`},compare$13=(value,limit,operator$1)=>{switch(operator$1){case`>`:return value.gt(limit);case`<`:return value.lt(limit);case`>=`:return value.gte(limit);case`<=`:return value.lte(limit);case`multiple`:return value.mod(limit).eq(0);default:return!1}},bigint=function(joi){return{type:`bigint`,base:joi.any(),coerce:{from:[`string`,`number`],method(value,helpers$8){if(typeof value==`bigint`)return{value};try{let asBig=big_default(value.toString());return asBig.eq(asBig.round(0))?{value:BigInt(asBig.toString())}:{value,errors:[helpers$8.error(`bigint.base`,{value:String(value)})]}}catch{return{value,errors:[helpers$8.error(`bigint.base`,{value:String(value)})]}}}},messages:messages$1,validate(value,{error}){return typeof value==`bigint`?{value}:{value,errors:error(`bigint.base`,{value:String(value)})}},rules:{compare:{method:!1,validate(value,helpers$8,{limit},{name:name$2,operator:operator$1}){let isEmpty$13=value==null,isRequired=helpers$8.schema._flags.presence===`required`;if(isEmpty$13&&!isRequired)return null;if(isEmpty$13&&isRequired)return{value,errors:[helpers$8.error(`any.required`,{label:helpers$8.schema._flags.label})]};let big=big_default(value.toString()),threshold=big_default(limit.toString()),valid$2=compare$13(big,threshold,operator$1);return valid$2?value:helpers$8.error(`bigint.`+name$2,{limit:limit.toString(),value:value.toString()})},args:[{name:`limit`,ref:!0,assert:value=>[`bigint`,`number`,`string`].includes(typeof value),message:`must be a bigint`}]},greater:{method(limit){return this.$_addRule({name:`greater`,method:`compare`,args:{limit},operator:`>`})}},less:{method(limit){return this.$_addRule({name:`less`,method:`compare`,args:{limit},operator:`<`})}},max:{method(limit){return this.$_addRule({name:`max`,method:`compare`,args:{limit},operator:`<=`})}},min:{method(limit){return this.$_addRule({name:`min`,method:`compare`,args:{limit},operator:`>=`})}},multiple:{method(limit){return this.$_addRule({name:`multiple`,method:`compare`,args:{limit},operator:`multiple`})}},negative:{method(){return this.$_addRule(`negative`)},validate(value,helpers$8){return value>=0n?helpers$8.error(`bigint.negative`,{value:value.toString()}):value}},positive:{method(){return this.$_addRule(`positive`)},validate(value,helpers$8){return value<=0n?helpers$8.error(`bigint.positive`,{value:value.toString()}):value}}},cast:{string:{from:value=>typeof value==`bigint`,to(value){return value.toString()}}}}};var LuxonError=class extends Error{},InvalidDateTimeError=class extends LuxonError{constructor(reason){super(`Invalid DateTime: ${reason.toMessage()}`)}},InvalidIntervalError=class extends LuxonError{constructor(reason){super(`Invalid Interval: ${reason.toMessage()}`)}},InvalidDurationError=class extends LuxonError{constructor(reason){super(`Invalid Duration: ${reason.toMessage()}`)}},ConflictingSpecificationError=class extends LuxonError{},InvalidUnitError=class extends LuxonError{constructor(unit){super(`Invalid unit ${unit}`)}},InvalidArgumentError=class extends LuxonError{},ZoneIsAbstractError=class extends LuxonError{constructor(){super(`Zone is an abstract class`)}};const n=`numeric`,s=`short`,l=`long`,DATE_SHORT={year:n,month:n,day:n},DATE_MED={year:n,month:s,day:n},DATE_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s},DATE_FULL={year:n,month:l,day:n},DATE_HUGE={year:n,month:l,day:n,weekday:l},TIME_SIMPLE={hour:n,minute:n},TIME_WITH_SECONDS={hour:n,minute:n,second:n},TIME_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,timeZoneName:s},TIME_WITH_LONG_OFFSET={hour:n,minute:n,second:n,timeZoneName:l},TIME_24_SIMPLE={hour:n,minute:n,hourCycle:`h23`},TIME_24_WITH_SECONDS={hour:n,minute:n,second:n,hourCycle:`h23`},TIME_24_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,hourCycle:`h23`,timeZoneName:s},TIME_24_WITH_LONG_OFFSET={hour:n,minute:n,second:n,hourCycle:`h23`,timeZoneName:l},DATETIME_SHORT={year:n,month:n,day:n,hour:n,minute:n},DATETIME_SHORT_WITH_SECONDS={year:n,month:n,day:n,hour:n,minute:n,second:n},DATETIME_MED={year:n,month:s,day:n,hour:n,minute:n},DATETIME_MED_WITH_SECONDS={year:n,month:s,day:n,hour:n,minute:n,second:n},DATETIME_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s,hour:n,minute:n},DATETIME_FULL={year:n,month:l,day:n,hour:n,minute:n,timeZoneName:s},DATETIME_FULL_WITH_SECONDS={year:n,month:l,day:n,hour:n,minute:n,second:n,timeZoneName:s},DATETIME_HUGE={year:n,month:l,day:n,weekday:l,hour:n,minute:n,timeZoneName:l},DATETIME_HUGE_WITH_SECONDS={year:n,month:l,day:n,weekday:l,hour:n,minute:n,second:n,timeZoneName:l};var Zone=class{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(ts,opts){throw new ZoneIsAbstractError}formatOffset(ts,format){throw new ZoneIsAbstractError}offset(ts){throw new ZoneIsAbstractError}equals(otherZone){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}};let singleton$1=null;var SystemZone=class SystemZone extends Zone{static get instance(){return singleton$1===null&&(singleton$1=new SystemZone),singleton$1}get type(){return`system`}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){return-new Date(ts).getTimezoneOffset()}equals(otherZone){return otherZone.type===`system`}get isValid(){return!0}};const dtfCache=new Map;function makeDTF(zoneName){let dtf=dtfCache.get(zoneName);return dtf===void 0&&(dtf=new Intl.DateTimeFormat(`en-US`,{hour12:!1,timeZone:zoneName,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,era:`short`}),dtfCache.set(zoneName,dtf)),dtf}const typeToPos={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function hackyOffset(dtf,date){let formatted=dtf.format(date).replace(/\u200E/g,``),parsed=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),[,fMonth,fDay,fYear,fadOrBc,fHour,fMinute,fSecond]=parsed;return[fYear,fMonth,fDay,fadOrBc,fHour,fMinute,fSecond]}function partsOffset(dtf,date){let formatted=dtf.formatToParts(date),filled=[];for(let i$4=0;i$4<formatted.length;i$4++){let{type,value}=formatted[i$4],pos=typeToPos[type];type===`era`?filled[pos]=value:isUndefined(pos)||(filled[pos]=parseInt(value,10))}return filled}const ianaZoneCache=new Map;var IANAZone=class IANAZone extends Zone{static create(name$2){let zone=ianaZoneCache.get(name$2);return zone===void 0&&ianaZoneCache.set(name$2,zone=new IANAZone(name$2)),zone}static resetCache(){ianaZoneCache.clear(),dtfCache.clear()}static isValidSpecifier(s$6){return this.isValidZone(s$6)}static isValidZone(zone){if(!zone)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:zone}).format(),!0}catch{return!1}}constructor(name$2){super(),this.zoneName=name$2,this.valid=IANAZone.isValidZone(name$2)}get type(){return`iana`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale,this.name)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){if(!this.valid)return NaN;let date=new Date(ts);if(isNaN(date))return NaN;let dtf=makeDTF(this.name),[year,month,day,adOrBc,hour,minute,second]=dtf.formatToParts?partsOffset(dtf,date):hackyOffset(dtf,date);adOrBc===`BC`&&(year=-Math.abs(year)+1);let adjustedHour=hour===24?0:hour,asUTC=objToLocalTS({year,month,day,hour:adjustedHour,minute,second,millisecond:0}),asTS=+date,over=asTS%1e3;return asTS-=over>=0?over:1e3+over,(asUTC-asTS)/(60*1e3)}equals(otherZone){return otherZone.type===`iana`&&otherZone.name===this.name}get isValid(){return this.valid}};let intlLFCache={};function getCachedLF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlLFCache[key];return dtf||(dtf=new Intl.ListFormat(locString,opts),intlLFCache[key]=dtf),dtf}const intlDTCache=new Map;function getCachedDTF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlDTCache.get(key);return dtf===void 0&&(dtf=new Intl.DateTimeFormat(locString,opts),intlDTCache.set(key,dtf)),dtf}const intlNumCache=new Map;function getCachedINF(locString,opts={}){let key=JSON.stringify([locString,opts]),inf=intlNumCache.get(key);return inf===void 0&&(inf=new Intl.NumberFormat(locString,opts),intlNumCache.set(key,inf)),inf}const intlRelCache=new Map;function getCachedRTF(locString,opts={}){let{base:base$3,...cacheKeyOpts}=opts,key=JSON.stringify([locString,cacheKeyOpts]),inf=intlRelCache.get(key);return inf===void 0&&(inf=new Intl.RelativeTimeFormat(locString,opts),intlRelCache.set(key,inf)),inf}let sysLocaleCache=null;function systemLocale(){return sysLocaleCache||(sysLocaleCache=new Intl.DateTimeFormat().resolvedOptions().locale,sysLocaleCache)}const intlResolvedOptionsCache=new Map;function getCachedIntResolvedOptions(locString){let opts=intlResolvedOptionsCache.get(locString);return opts===void 0&&(opts=new Intl.DateTimeFormat(locString).resolvedOptions(),intlResolvedOptionsCache.set(locString,opts)),opts}const weekInfoCache=new Map;function getCachedWeekInfo(locString){let data=weekInfoCache.get(locString);if(!data){let locale=new Intl.Locale(locString);data=`getWeekInfo`in locale?locale.getWeekInfo():locale.weekInfo,`minimalDays`in data||(data={...fallbackWeekSettings,...data}),weekInfoCache.set(locString,data)}return data}function parseLocaleString(localeStr){let xIndex=localeStr.indexOf(`-x-`);xIndex!==-1&&(localeStr=localeStr.substring(0,xIndex));let uIndex=localeStr.indexOf(`-u-`);if(uIndex===-1)return[localeStr];{let options,selectedStr;try{options=getCachedDTF(localeStr).resolvedOptions(),selectedStr=localeStr}catch{let smaller=localeStr.substring(0,uIndex);options=getCachedDTF(smaller).resolvedOptions(),selectedStr=smaller}let{numberingSystem,calendar}=options;return[selectedStr,numberingSystem,calendar]}}function intlConfigString(localeStr,numberingSystem,outputCalendar){return outputCalendar||numberingSystem?(localeStr.includes(`-u-`)||(localeStr+=`-u`),outputCalendar&&(localeStr+=`-ca-${outputCalendar}`),numberingSystem&&(localeStr+=`-nu-${numberingSystem}`),localeStr):localeStr}function mapMonths(f$3){let ms=[];for(let i$4=1;i$4<=12;i$4++){let dt=DateTime.utc(2009,i$4,1);ms.push(f$3(dt))}return ms}function mapWeekdays(f$3){let ms=[];for(let i$4=1;i$4<=7;i$4++){let dt=DateTime.utc(2016,11,13+i$4);ms.push(f$3(dt))}return ms}function listStuff(loc,length,englishFn,intlFn){let mode=loc.listingMode();return mode===`error`?null:mode===`en`?englishFn(length):intlFn(length)}function supportsFastNumbers(loc){return loc.numberingSystem&&loc.numberingSystem!==`latn`?!1:loc.numberingSystem===`latn`||!loc.locale||loc.locale.startsWith(`en`)||getCachedIntResolvedOptions(loc.locale).numberingSystem===`latn`}var PolyNumberFormatter=class{constructor(intl,forceSimple,opts){this.padTo=opts.padTo||0,this.floor=opts.floor||!1;let{padTo,floor:floor$1,...otherOpts}=opts;if(!forceSimple||Object.keys(otherOpts).length>0){let intlOpts={useGrouping:!1,...opts};opts.padTo>0&&(intlOpts.minimumIntegerDigits=opts.padTo),this.inf=getCachedINF(intl,intlOpts)}}format(i$4){if(this.inf){let fixed=this.floor?Math.floor(i$4):i$4;return this.inf.format(fixed)}else{let fixed=this.floor?Math.floor(i$4):roundTo(i$4,3);return padStart(fixed,this.padTo)}}},PolyDateFormatter=class{constructor(dt,intl,opts){this.opts=opts,this.originalZone=void 0;let z$1;if(this.opts.timeZone)this.dt=dt;else if(dt.zone.type===`fixed`){let gmtOffset=-1*(dt.offset/60),offsetZ=gmtOffset>=0?`Etc/GMT+${gmtOffset}`:`Etc/GMT${gmtOffset}`;dt.offset!==0&&IANAZone.create(offsetZ).valid?(z$1=offsetZ,this.dt=dt):(z$1=`UTC`,this.dt=dt.offset===0?dt:dt.setZone(`UTC`).plus({minutes:dt.offset}),this.originalZone=dt.zone)}else dt.zone.type===`system`?this.dt=dt:dt.zone.type===`iana`?(this.dt=dt,z$1=dt.zone.name):(z$1=`UTC`,this.dt=dt.setZone(`UTC`).plus({minutes:dt.offset}),this.originalZone=dt.zone);let intlOpts={...this.opts};intlOpts.timeZone=intlOpts.timeZone||z$1,this.dtf=getCachedDTF(intl,intlOpts)}format(){return this.originalZone?this.formatToParts().map(({value})=>value).join(``):this.dtf.format(this.dt.toJSDate())}formatToParts(){let parts=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?parts.map(part=>{if(part.type===`timeZoneName`){let offsetName=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...part,value:offsetName}}else return part}):parts}resolvedOptions(){return this.dtf.resolvedOptions()}},PolyRelFormatter=class{constructor(intl,isEnglish,opts){this.opts={style:`long`,...opts},!isEnglish&&hasRelative()&&(this.rtf=getCachedRTF(intl,opts))}format(count,unit){return this.rtf?this.rtf.format(count,unit):formatRelativeTime(unit,count,this.opts.numeric,this.opts.style!==`long`)}formatToParts(count,unit){return this.rtf?this.rtf.formatToParts(count,unit):[]}};const fallbackWeekSettings={firstDay:1,minimalDays:4,weekend:[6,7]};var Locale=class Locale{static fromOpts(opts){return Locale.create(opts.locale,opts.numberingSystem,opts.outputCalendar,opts.weekSettings,opts.defaultToEN)}static create(locale,numberingSystem,outputCalendar,weekSettings,defaultToEN=!1){let specifiedLocale=locale||Settings.defaultLocale,localeR=specifiedLocale||(defaultToEN?`en-US`:systemLocale()),numberingSystemR=numberingSystem||Settings.defaultNumberingSystem,outputCalendarR=outputCalendar||Settings.defaultOutputCalendar,weekSettingsR=validateWeekSettings(weekSettings)||Settings.defaultWeekSettings;return new Locale(localeR,numberingSystemR,outputCalendarR,weekSettingsR,specifiedLocale)}static resetCache(){sysLocaleCache=null,intlDTCache.clear(),intlNumCache.clear(),intlRelCache.clear(),intlResolvedOptionsCache.clear(),weekInfoCache.clear()}static fromObject({locale,numberingSystem,outputCalendar,weekSettings}={}){return Locale.create(locale,numberingSystem,outputCalendar,weekSettings)}constructor(locale,numbering,outputCalendar,weekSettings,specifiedLocale){let[parsedLocale,parsedNumberingSystem,parsedOutputCalendar]=parseLocaleString(locale);this.locale=parsedLocale,this.numberingSystem=numbering||parsedNumberingSystem||null,this.outputCalendar=outputCalendar||parsedOutputCalendar||null,this.weekSettings=weekSettings,this.intl=intlConfigString(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=specifiedLocale,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached??=supportsFastNumbers(this),this.fastNumbersCached}listingMode(){let isActuallyEn=this.isEnglish(),hasNoWeirdness=(this.numberingSystem===null||this.numberingSystem===`latn`)&&(this.outputCalendar===null||this.outputCalendar===`gregory`);return isActuallyEn&&hasNoWeirdness?`en`:`intl`}clone(alts){return!alts||Object.getOwnPropertyNames(alts).length===0?this:Locale.create(alts.locale||this.specifiedLocale,alts.numberingSystem||this.numberingSystem,alts.outputCalendar||this.outputCalendar,validateWeekSettings(alts.weekSettings)||this.weekSettings,alts.defaultToEN||!1)}redefaultToEN(alts={}){return this.clone({...alts,defaultToEN:!0})}redefaultToSystem(alts={}){return this.clone({...alts,defaultToEN:!1})}months(length,format=!1){return listStuff(this,length,months,()=>{let monthSpecialCase=this.intl===`ja`||this.intl.startsWith(`ja-`);format&=!monthSpecialCase;let intl=format?{month:length,day:`numeric`}:{month:length},formatStr=format?`format`:`standalone`;if(!this.monthsCache[formatStr][length]){let mapper=monthSpecialCase?dt=>this.dtFormatter(dt,intl).format():dt=>this.extract(dt,intl,`month`);this.monthsCache[formatStr][length]=mapMonths(mapper)}return this.monthsCache[formatStr][length]})}weekdays(length,format=!1){return listStuff(this,length,weekdays,()=>{let intl=format?{weekday:length,year:`numeric`,month:`long`,day:`numeric`}:{weekday:length},formatStr=format?`format`:`standalone`;return this.weekdaysCache[formatStr][length]||(this.weekdaysCache[formatStr][length]=mapWeekdays(dt=>this.extract(dt,intl,`weekday`))),this.weekdaysCache[formatStr][length]})}meridiems(){return listStuff(this,void 0,()=>meridiems,()=>{if(!this.meridiemCache){let intl={hour:`numeric`,hourCycle:`h12`};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map(dt=>this.extract(dt,intl,`dayperiod`))}return this.meridiemCache})}eras(length){return listStuff(this,length,eras,()=>{let intl={era:length};return this.eraCache[length]||(this.eraCache[length]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map(dt=>this.extract(dt,intl,`era`))),this.eraCache[length]})}extract(dt,intlOpts,field){let df=this.dtFormatter(dt,intlOpts),results=df.formatToParts(),matching=results.find(m$3=>m$3.type.toLowerCase()===field);return matching?matching.value:null}numberFormatter(opts={}){return new PolyNumberFormatter(this.intl,opts.forceSimple||this.fastNumbers,opts)}dtFormatter(dt,intlOpts={}){return new PolyDateFormatter(dt,this.intl,intlOpts)}relFormatter(opts={}){return new PolyRelFormatter(this.intl,this.isEnglish(),opts)}listFormatter(opts={}){return getCachedLF(this.intl,opts)}isEnglish(){return this.locale===`en`||this.locale.toLowerCase()===`en-us`||getCachedIntResolvedOptions(this.intl).locale.startsWith(`en-us`)}getWeekSettings(){return this.weekSettings?this.weekSettings:hasLocaleWeekInfo()?getCachedWeekInfo(this.locale):fallbackWeekSettings}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(other){return this.locale===other.locale&&this.numberingSystem===other.numberingSystem&&this.outputCalendar===other.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}};let singleton=null;var FixedOffsetZone=class FixedOffsetZone extends Zone{static get utcInstance(){return singleton===null&&(singleton=new FixedOffsetZone(0)),singleton}static instance(offset$2){return offset$2===0?FixedOffsetZone.utcInstance:new FixedOffsetZone(offset$2)}static parseSpecifier(s$6){if(s$6){let r$2=s$6.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r$2)return new FixedOffsetZone(signedOffset(r$2[1],r$2[2]))}return null}constructor(offset$2){super(),this.fixed=offset$2}get type(){return`fixed`}get name(){return this.fixed===0?`UTC`:`UTC${formatOffset(this.fixed,`narrow`)}`}get ianaName(){return this.fixed===0?`Etc/UTC`:`Etc/GMT${formatOffset(-this.fixed,`narrow`)}`}offsetName(){return this.name}formatOffset(ts,format){return formatOffset(this.fixed,format)}get isUniversal(){return!0}offset(){return this.fixed}equals(otherZone){return otherZone.type===`fixed`&&otherZone.fixed===this.fixed}get isValid(){return!0}},InvalidZone=class extends Zone{constructor(zoneName){super(),this.zoneName=zoneName}get type(){return`invalid`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return``}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function normalizeZone(input,defaultZone$2){if(isUndefined(input)||input===null)return defaultZone$2;if(input instanceof Zone)return input;if(isString(input)){let lowered=input.toLowerCase();return lowered===`default`?defaultZone$2:lowered===`local`||lowered===`system`?SystemZone.instance:lowered===`utc`||lowered===`gmt`?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(lowered)||IANAZone.create(input)}else if(isNumber(input))return FixedOffsetZone.instance(input);else if(typeof input==`object`&&`offset`in input&&typeof input.offset==`function`)return input;else return new InvalidZone(input)}const numberingSystems={arab:`[٠-٩]`,arabext:`[۰-۹]`,bali:`[᭐-᭙]`,beng:`[০-৯]`,deva:`[०-९]`,fullwide:`[0-9]`,gujr:`[૦-૯]`,hanidec:`[〇|一|二|三|四|五|六|七|八|九]`,khmr:`[០-៩]`,knda:`[೦-೯]`,laoo:`[໐-໙]`,limb:`[᥆-᥏]`,mlym:`[൦-൯]`,mong:`[᠐-᠙]`,mymr:`[၀-၉]`,orya:`[୦-୯]`,tamldec:`[௦-௯]`,telu:`[౦-౯]`,thai:`[๐-๙]`,tibt:`[༠-༩]`,latn:`\\d`},numberingSystemsUTF16={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]},hanidecChars=numberingSystems.hanidec.replace(/[\[|\]]/g,``).split(``);function parseDigits(str){let value=parseInt(str,10);if(isNaN(value)){value=``;for(let i$4=0;i$4<str.length;i$4++){let code$2=str.charCodeAt(i$4);if(str[i$4].search(numberingSystems.hanidec)!==-1)value+=hanidecChars.indexOf(str[i$4]);else for(let key in numberingSystemsUTF16){let[min$1,max$3]=numberingSystemsUTF16[key];code$2>=min$1&&code$2<=max$3&&(value+=code$2-min$1)}}return parseInt(value,10)}else return value}const digitRegexCache=new Map;function resetDigitRegexCache(){digitRegexCache.clear()}function digitRegex({numberingSystem},append=``){let ns=numberingSystem||`latn`,appendCache=digitRegexCache.get(ns);appendCache===void 0&&(appendCache=new Map,digitRegexCache.set(ns,appendCache));let regex=appendCache.get(append);return regex===void 0&&(regex=RegExp(`${numberingSystems[ns]}${append}`),appendCache.set(append,regex)),regex}let now=()=>Date.now(),defaultZone=`system`,defaultLocale=null,defaultNumberingSystem=null,defaultOutputCalendar=null,twoDigitCutoffYear=60,throwOnInvalid,defaultWeekSettings=null;var Settings=class{static get now(){return now}static set now(n$4){now=n$4}static set defaultZone(zone){defaultZone=zone}static get defaultZone(){return normalizeZone(defaultZone,SystemZone.instance)}static get defaultLocale(){return defaultLocale}static set defaultLocale(locale){defaultLocale=locale}static get defaultNumberingSystem(){return defaultNumberingSystem}static set defaultNumberingSystem(numberingSystem){defaultNumberingSystem=numberingSystem}static get defaultOutputCalendar(){return defaultOutputCalendar}static set defaultOutputCalendar(outputCalendar){defaultOutputCalendar=outputCalendar}static get defaultWeekSettings(){return defaultWeekSettings}static set defaultWeekSettings(weekSettings){defaultWeekSettings=validateWeekSettings(weekSettings)}static get twoDigitCutoffYear(){return twoDigitCutoffYear}static set twoDigitCutoffYear(cutoffYear){twoDigitCutoffYear=cutoffYear%100}static get throwOnInvalid(){return throwOnInvalid}static set throwOnInvalid(t$7){throwOnInvalid=t$7}static resetCaches(){Locale.resetCache(),IANAZone.resetCache(),DateTime.resetCache(),resetDigitRegexCache()}},Invalid=class{constructor(reason,explanation){this.reason=reason,this.explanation=explanation}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};const nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(unit,value){return new Invalid(`unit out of range`,`you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`)}function dayOfWeek(year,month,day){let d$1=new Date(Date.UTC(year,month-1,day));year<100&&year>=0&&d$1.setUTCFullYear(d$1.getUTCFullYear()-1900);let js=d$1.getUTCDay();return js===0?7:js}function computeOrdinal(year,month,day){return day+(isLeapYear(year)?leapLadder:nonLeapLadder)[month-1]}function uncomputeOrdinal(year,ordinal){let table$2=isLeapYear(year)?leapLadder:nonLeapLadder,month0=table$2.findIndex(i$4=>i$4<ordinal),day=ordinal-table$2[month0];return{month:month0+1,day}}function isoWeekdayToLocal(isoWeekday,startOfWeek){return(isoWeekday-startOfWeek+7)%7+1}function gregorianToWeek(gregObj,minDaysInFirstWeek=4,startOfWeek=1){let{year,month,day}=gregObj,ordinal=computeOrdinal(year,month,day),weekday=isoWeekdayToLocal(dayOfWeek(year,month,day),startOfWeek),weekNumber=Math.floor((ordinal-weekday+14-minDaysInFirstWeek)/7),weekYear;return weekNumber<1?(weekYear=year-1,weekNumber=weeksInWeekYear(weekYear,minDaysInFirstWeek,startOfWeek)):weekNumber>weeksInWeekYear(year,minDaysInFirstWeek,startOfWeek)?(weekYear=year+1,weekNumber=1):weekYear=year,{weekYear,weekNumber,weekday,...timeObject(gregObj)}}function weekToGregorian(weekData,minDaysInFirstWeek=4,startOfWeek=1){let{weekYear,weekNumber,weekday}=weekData,weekdayOfJan4=isoWeekdayToLocal(dayOfWeek(weekYear,1,minDaysInFirstWeek),startOfWeek),yearInDays=daysInYear(weekYear),ordinal=weekNumber*7+weekday-weekdayOfJan4-7+minDaysInFirstWeek,year;ordinal<1?(year=weekYear-1,ordinal+=daysInYear(year)):ordinal>yearInDays?(year=weekYear+1,ordinal-=daysInYear(weekYear)):year=weekYear;let{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(weekData)}}function gregorianToOrdinal(gregData){let{year,month,day}=gregData,ordinal=computeOrdinal(year,month,day);return{year,ordinal,...timeObject(gregData)}}function ordinalToGregorian(ordinalData){let{year,ordinal}=ordinalData,{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(ordinalData)}}function usesLocalWeekValues(obj,loc){let hasLocaleWeekData=!isUndefined(obj.localWeekday)||!isUndefined(obj.localWeekNumber)||!isUndefined(obj.localWeekYear);if(hasLocaleWeekData){let hasIsoWeekData=!isUndefined(obj.weekday)||!isUndefined(obj.weekNumber)||!isUndefined(obj.weekYear);if(hasIsoWeekData)throw new ConflictingSpecificationError(`Cannot mix locale-based week fields with ISO-based week fields`);return isUndefined(obj.localWeekday)||(obj.weekday=obj.localWeekday),isUndefined(obj.localWeekNumber)||(obj.weekNumber=obj.localWeekNumber),isUndefined(obj.localWeekYear)||(obj.weekYear=obj.localWeekYear),delete obj.localWeekday,delete obj.localWeekNumber,delete obj.localWeekYear,{minDaysInFirstWeek:loc.getMinDaysInFirstWeek(),startOfWeek:loc.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function hasInvalidWeekData(obj,minDaysInFirstWeek=4,startOfWeek=1){let validYear=isInteger(obj.weekYear),validWeek=integerBetween(obj.weekNumber,1,weeksInWeekYear(obj.weekYear,minDaysInFirstWeek,startOfWeek)),validWeekday=integerBetween(obj.weekday,1,7);return validYear?validWeek?validWeekday?!1:unitOutOfRange(`weekday`,obj.weekday):unitOutOfRange(`week`,obj.weekNumber):unitOutOfRange(`weekYear`,obj.weekYear)}function hasInvalidOrdinalData(obj){let validYear=isInteger(obj.year),validOrdinal=integerBetween(obj.ordinal,1,daysInYear(obj.year));return validYear?validOrdinal?!1:unitOutOfRange(`ordinal`,obj.ordinal):unitOutOfRange(`year`,obj.year)}function hasInvalidGregorianData(obj){let validYear=isInteger(obj.year),validMonth=integerBetween(obj.month,1,12),validDay=integerBetween(obj.day,1,daysInMonth(obj.year,obj.month));return validYear?validMonth?validDay?!1:unitOutOfRange(`day`,obj.day):unitOutOfRange(`month`,obj.month):unitOutOfRange(`year`,obj.year)}function hasInvalidTimeData(obj){let{hour,minute,second,millisecond}=obj,validHour=integerBetween(hour,0,23)||hour===24&&minute===0&&second===0&&millisecond===0,validMinute=integerBetween(minute,0,59),validSecond=integerBetween(second,0,59),validMillisecond=integerBetween(millisecond,0,999);return validHour?validMinute?validSecond?validMillisecond?!1:unitOutOfRange(`millisecond`,millisecond):unitOutOfRange(`second`,second):unitOutOfRange(`minute`,minute):unitOutOfRange(`hour`,hour)}function isUndefined(o$2){return o$2===void 0}function isNumber(o$2){return typeof o$2==`number`}function isInteger(o$2){return typeof o$2==`number`&&o$2%1==0}function isString(o$2){return typeof o$2==`string`}function isDate(o$2){return Object.prototype.toString.call(o$2)===`[object Date]`}function hasRelative(){try{return typeof Intl<`u`&&!!Intl.RelativeTimeFormat}catch{return!1}}function hasLocaleWeekInfo(){try{return typeof Intl<`u`&&!!Intl.Locale&&(`weekInfo`in Intl.Locale.prototype||`getWeekInfo`in Intl.Locale.prototype)}catch{return!1}}function maybeArray(thing){return Array.isArray(thing)?thing:[thing]}function bestBy(arr,by,compare$16){if(arr.length!==0)return arr.reduce((best,next)=>{let pair=[by(next),next];return best&&compare$16(best[0],pair[0])===best[0]?best:pair},null)[1]}function pick(obj,keys$10){return keys$10.reduce((a$2,k)=>(a$2[k]=obj[k],a$2),{})}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}function validateWeekSettings(settings){if(settings==null)return null;if(typeof settings!=`object`)throw new InvalidArgumentError(`Week settings must be an object`);if(!integerBetween(settings.firstDay,1,7)||!integerBetween(settings.minimalDays,1,7)||!Array.isArray(settings.weekend)||settings.weekend.some(v$1=>!integerBetween(v$1,1,7)))throw new InvalidArgumentError(`Invalid week settings`);return{firstDay:settings.firstDay,minimalDays:settings.minimalDays,weekend:Array.from(settings.weekend)}}function integerBetween(thing,bottom,top){return isInteger(thing)&&thing>=bottom&&thing<=top}function floorMod(x$1,n$4){return x$1-n$4*Math.floor(x$1/n$4)}function padStart(input,n$4=2){let isNeg=input<0,padded;return padded=isNeg?`-`+(``+-input).padStart(n$4,`0`):(``+input).padStart(n$4,`0`),padded}function parseInteger(string){if(!(isUndefined(string)||string===null||string===``))return parseInt(string,10)}function parseFloating(string){if(!(isUndefined(string)||string===null||string===``))return parseFloat(string)}function parseMillis(fraction){if(!(isUndefined(fraction)||fraction===null||fraction===``)){let f$3=parseFloat(`0.`+fraction)*1e3;return Math.floor(f$3)}}function roundTo(number,digits,rounding=`round`){let factor=10**digits;switch(rounding){case`expand`:return number>0?Math.ceil(number*factor)/factor:Math.floor(number*factor)/factor;case`trunc`:return Math.trunc(number*factor)/factor;case`round`:return Math.round(number*factor)/factor;case`floor`:return Math.floor(number*factor)/factor;case`ceil`:return Math.ceil(number*factor)/factor;default:throw RangeError(`Value rounding ${rounding} is out of range`)}}function isLeapYear(year){return year%4==0&&(year%100!=0||year%400==0)}function daysInYear(year){return isLeapYear(year)?366:365}function daysInMonth(year,month){let modMonth=floorMod(month-1,12)+1,modYear=year+(month-modMonth)/12;return modMonth===2?isLeapYear(modYear)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][modMonth-1]}function objToLocalTS(obj){let d$1=Date.UTC(obj.year,obj.month-1,obj.day,obj.hour,obj.minute,obj.second,obj.millisecond);return obj.year<100&&obj.year>=0&&(d$1=new Date(d$1),d$1.setUTCFullYear(obj.year,obj.month-1,obj.day)),+d$1}function firstWeekOffset(year,minDaysInFirstWeek,startOfWeek){let fwdlw=isoWeekdayToLocal(dayOfWeek(year,1,minDaysInFirstWeek),startOfWeek);return-fwdlw+minDaysInFirstWeek-1}function weeksInWeekYear(weekYear,minDaysInFirstWeek=4,startOfWeek=1){let weekOffset=firstWeekOffset(weekYear,minDaysInFirstWeek,startOfWeek),weekOffsetNext=firstWeekOffset(weekYear+1,minDaysInFirstWeek,startOfWeek);return(daysInYear(weekYear)-weekOffset+weekOffsetNext)/7}function untruncateYear(year){return year>99?year:year>Settings.twoDigitCutoffYear?1900+year:2e3+year}function parseZoneInfo(ts,offsetFormat,locale,timeZone=null){let date=new Date(ts),intlOpts={hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};timeZone&&(intlOpts.timeZone=timeZone);let modified={timeZoneName:offsetFormat,...intlOpts},parsed=new Intl.DateTimeFormat(locale,modified).formatToParts(date).find(m$3=>m$3.type.toLowerCase()===`timezonename`);return parsed?parsed.value:null}function signedOffset(offHourStr,offMinuteStr){let offHour=parseInt(offHourStr,10);Number.isNaN(offHour)&&(offHour=0);let offMin=parseInt(offMinuteStr,10)||0,offMinSigned=offHour<0||Object.is(offHour,-0)?-offMin:offMin;return offHour*60+offMinSigned}function asNumber(value){let numericValue=Number(value);if(typeof value==`boolean`||value===``||!Number.isFinite(numericValue))throw new InvalidArgumentError(`Invalid unit value ${value}`);return numericValue}function normalizeObject(obj,normalizer){let normalized={};for(let u in obj)if(hasOwnProperty(obj,u)){let v$1=obj[u];if(v$1==null)continue;normalized[normalizer(u)]=asNumber(v$1)}return normalized}function formatOffset(offset$2,format){let hours=Math.trunc(Math.abs(offset$2/60)),minutes=Math.trunc(Math.abs(offset$2%60)),sign$2=offset$2>=0?`+`:`-`;switch(format){case`short`:return`${sign$2}${padStart(hours,2)}:${padStart(minutes,2)}`;case`narrow`:return`${sign$2}${hours}${minutes>0?`:${minutes}`:``}`;case`techie`:return`${sign$2}${padStart(hours,2)}${padStart(minutes,2)}`;default:throw RangeError(`Value format ${format} is out of range for property format`)}}function timeObject(obj){return pick(obj,[`hour`,`minute`,`second`,`millisecond`])}const monthsLong=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],monthsShort=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],monthsNarrow=[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`];function months(length){switch(length){case`narrow`:return[...monthsNarrow];case`short`:return[...monthsShort];case`long`:return[...monthsLong];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}}const weekdaysLong=[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`,`Sunday`],weekdaysShort=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],weekdaysNarrow=[`M`,`T`,`W`,`T`,`F`,`S`,`S`];function weekdays(length){switch(length){case`narrow`:return[...weekdaysNarrow];case`short`:return[...weekdaysShort];case`long`:return[...weekdaysLong];case`numeric`:return[`1`,`2`,`3`,`4`,`5`,`6`,`7`];default:return null}}const meridiems=[`AM`,`PM`],erasLong=[`Before Christ`,`Anno Domini`],erasShort=[`BC`,`AD`],erasNarrow=[`B`,`A`];function eras(length){switch(length){case`narrow`:return[...erasNarrow];case`short`:return[...erasShort];case`long`:return[...erasLong];default:return null}}function meridiemForDateTime(dt){return meridiems[dt.hour<12?0:1]}function weekdayForDateTime(dt,length){return weekdays(length)[dt.weekday-1]}function monthForDateTime(dt,length){return months(length)[dt.month-1]}function eraForDateTime(dt,length){return eras(length)[dt.year<0?0:1]}function formatRelativeTime(unit,count,numeric$1=`always`,narrow=!1){let units={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.`]},lastable=[`hours`,`minutes`,`seconds`].indexOf(unit)===-1;if(numeric$1===`auto`&&lastable){let isDay=unit===`days`;switch(count){case 1:return isDay?`tomorrow`:`next ${units[unit][0]}`;case-1:return isDay?`yesterday`:`last ${units[unit][0]}`;case 0:return isDay?`today`:`this ${units[unit][0]}`}}let isInPast=Object.is(count,-0)||count<0,fmtValue=Math.abs(count),singular=fmtValue===1,lilUnits=units[unit],fmtUnit=narrow?singular?lilUnits[1]:lilUnits[2]||lilUnits[1]:singular?units[unit][0]:unit;return isInPast?`${fmtValue} ${fmtUnit} ago`:`in ${fmtValue} ${fmtUnit}`}function stringifyTokens(splits,tokenToString){let s$6=``;for(let token of splits)token.literal?s$6+=token.val:s$6+=tokenToString(token.val);return s$6}const macroTokenToFormatOpts={D:DATE_SHORT,DD:DATE_MED,DDD:DATE_FULL,DDDD:DATE_HUGE,t:TIME_SIMPLE,tt:TIME_WITH_SECONDS,ttt:TIME_WITH_SHORT_OFFSET,tttt:TIME_WITH_LONG_OFFSET,T:TIME_24_SIMPLE,TT:TIME_24_WITH_SECONDS,TTT:TIME_24_WITH_SHORT_OFFSET,TTTT:TIME_24_WITH_LONG_OFFSET,f:DATETIME_SHORT,ff:DATETIME_MED,fff:DATETIME_FULL,ffff:DATETIME_HUGE,F:DATETIME_SHORT_WITH_SECONDS,FF:DATETIME_MED_WITH_SECONDS,FFF:DATETIME_FULL_WITH_SECONDS,FFFF:DATETIME_HUGE_WITH_SECONDS};var Formatter=class Formatter{static create(locale,opts={}){return new Formatter(locale,opts)}static parseFormat(fmt){let current=null,currentFull=``,bracketed=!1,splits=[];for(let i$4=0;i$4<fmt.length;i$4++){let c$1=fmt.charAt(i$4);c$1===`'`?((currentFull.length>0||bracketed)&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull===``?`'`:currentFull}),current=null,currentFull=``,bracketed=!bracketed):bracketed||c$1===current?currentFull+=c$1:(currentFull.length>0&&splits.push({literal:/^\s+$/.test(currentFull),val:currentFull}),currentFull=c$1,current=c$1)}return currentFull.length>0&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull}),splits}static macroTokenToFormatOpts(token){return macroTokenToFormatOpts[token]}constructor(locale,formatOpts){this.opts=formatOpts,this.loc=locale,this.systemLoc=null}formatWithSystemDefault(dt,opts){this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem());let df=this.systemLoc.dtFormatter(dt,{...this.opts,...opts});return df.format()}dtFormatter(dt,opts={}){return this.loc.dtFormatter(dt,{...this.opts,...opts})}formatDateTime(dt,opts){return this.dtFormatter(dt,opts).format()}formatDateTimeParts(dt,opts){return this.dtFormatter(dt,opts).formatToParts()}formatInterval(interval,opts){let df=this.dtFormatter(interval.start,opts);return df.dtf.formatRange(interval.start.toJSDate(),interval.end.toJSDate())}resolvedOptions(dt,opts){return this.dtFormatter(dt,opts).resolvedOptions()}num(n$4,p$1=0,signDisplay=void 0){if(this.opts.forceSimple)return padStart(n$4,p$1);let opts={...this.opts};return p$1>0&&(opts.padTo=p$1),signDisplay&&(opts.signDisplay=signDisplay),this.loc.numberFormatter(opts).format(n$4)}formatDateTimeFromString(dt,fmt){let knownEnglish=this.loc.listingMode()===`en`,useDateTimeFormatter=this.loc.outputCalendar&&this.loc.outputCalendar!==`gregory`,string=(opts,extract)=>this.loc.extract(dt,opts,extract),formatOffset$2=opts=>dt.isOffsetFixed&&dt.offset===0&&opts.allowZ?`Z`:dt.isValid?dt.zone.formatOffset(dt.ts,opts.format):``,meridiem=()=>knownEnglish?meridiemForDateTime(dt):string({hour:`numeric`,hourCycle:`h12`},`dayperiod`),month=(length,standalone)=>knownEnglish?monthForDateTime(dt,length):string(standalone?{month:length}:{month:length,day:`numeric`},`month`),weekday=(length,standalone)=>knownEnglish?weekdayForDateTime(dt,length):string(standalone?{weekday:length}:{weekday:length,month:`long`,day:`numeric`},`weekday`),maybeMacro=token=>{let formatOpts=Formatter.macroTokenToFormatOpts(token);return formatOpts?this.formatWithSystemDefault(dt,formatOpts):token},era=length=>knownEnglish?eraForDateTime(dt,length):string({era:length},`era`),tokenToString=token=>{switch(token){case`S`:return this.num(dt.millisecond);case`u`:case`SSS`:return this.num(dt.millisecond,3);case`s`:return this.num(dt.second);case`ss`:return this.num(dt.second,2);case`uu`:return this.num(Math.floor(dt.millisecond/10),2);case`uuu`:return this.num(Math.floor(dt.millisecond/100));case`m`:return this.num(dt.minute);case`mm`:return this.num(dt.minute,2);case`h`:return this.num(dt.hour%12==0?12:dt.hour%12);case`hh`:return this.num(dt.hour%12==0?12:dt.hour%12,2);case`H`:return this.num(dt.hour);case`HH`:return this.num(dt.hour,2);case`Z`:return formatOffset$2({format:`narrow`,allowZ:this.opts.allowZ});case`ZZ`:return formatOffset$2({format:`short`,allowZ:this.opts.allowZ});case`ZZZ`:return formatOffset$2({format:`techie`,allowZ:this.opts.allowZ});case`ZZZZ`:return dt.zone.offsetName(dt.ts,{format:`short`,locale:this.loc.locale});case`ZZZZZ`:return dt.zone.offsetName(dt.ts,{format:`long`,locale:this.loc.locale});case`z`:return dt.zoneName;case`a`:return meridiem();case`d`:return useDateTimeFormatter?string({day:`numeric`},`day`):this.num(dt.day);case`dd`:return useDateTimeFormatter?string({day:`2-digit`},`day`):this.num(dt.day,2);case`c`:return this.num(dt.weekday);case`ccc`:return weekday(`short`,!0);case`cccc`:return weekday(`long`,!0);case`ccccc`:return weekday(`narrow`,!0);case`E`:return this.num(dt.weekday);case`EEE`:return weekday(`short`,!1);case`EEEE`:return weekday(`long`,!1);case`EEEEE`:return weekday(`narrow`,!1);case`L`:return useDateTimeFormatter?string({month:`numeric`,day:`numeric`},`month`):this.num(dt.month);case`LL`:return useDateTimeFormatter?string({month:`2-digit`,day:`numeric`},`month`):this.num(dt.month,2);case`LLL`:return month(`short`,!0);case`LLLL`:return month(`long`,!0);case`LLLLL`:return month(`narrow`,!0);case`M`:return useDateTimeFormatter?string({month:`numeric`},`month`):this.num(dt.month);case`MM`:return useDateTimeFormatter?string({month:`2-digit`},`month`):this.num(dt.month,2);case`MMM`:return month(`short`,!1);case`MMMM`:return month(`long`,!1);case`MMMMM`:return month(`narrow`,!1);case`y`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year);case`yy`:return useDateTimeFormatter?string({year:`2-digit`},`year`):this.num(dt.year.toString().slice(-2),2);case`yyyy`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year,4);case`yyyyyy`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year,6);case`G`:return era(`short`);case`GG`:return era(`long`);case`GGGGG`:return era(`narrow`);case`kk`:return this.num(dt.weekYear.toString().slice(-2),2);case`kkkk`:return this.num(dt.weekYear,4);case`W`:return this.num(dt.weekNumber);case`WW`:return this.num(dt.weekNumber,2);case`n`:return this.num(dt.localWeekNumber);case`nn`:return this.num(dt.localWeekNumber,2);case`ii`:return this.num(dt.localWeekYear.toString().slice(-2),2);case`iiii`:return this.num(dt.localWeekYear,4);case`o`:return this.num(dt.ordinal);case`ooo`:return this.num(dt.ordinal,3);case`q`:return this.num(dt.quarter);case`qq`:return this.num(dt.quarter,2);case`X`:return this.num(Math.floor(dt.ts/1e3));case`x`:return this.num(dt.ts);default:return maybeMacro(token)}};return stringifyTokens(Formatter.parseFormat(fmt),tokenToString)}formatDurationFromString(dur,fmt){let invertLargest=this.opts.signMode===`negativeLargestOnly`?-1:1,tokenToField=token=>{switch(token[0]){case`S`:return`milliseconds`;case`s`:return`seconds`;case`m`:return`minutes`;case`h`:return`hours`;case`d`:return`days`;case`w`:return`weeks`;case`M`:return`months`;case`y`:return`years`;default:return null}},tokenToString=(lildur,info)=>token=>{let mapped=tokenToField(token);if(mapped){let inversionFactor=info.isNegativeDuration&&mapped!==info.largestUnit?invertLargest:1,signDisplay;return signDisplay=this.opts.signMode===`negativeLargestOnly`&&mapped!==info.largestUnit?`never`:this.opts.signMode===`all`?`always`:`auto`,this.num(lildur.get(mapped)*inversionFactor,token.length,signDisplay)}else return token},tokens=Formatter.parseFormat(fmt),realTokens=tokens.reduce((found,{literal,val})=>literal?found:found.concat(val),[]),collapsed=dur.shiftTo(...realTokens.map(tokenToField).filter(t$7=>t$7)),durationInfo={isNegativeDuration:collapsed<0,largestUnit:Object.keys(collapsed.values)[0]};return stringifyTokens(tokens,tokenToString(collapsed,durationInfo))}};const ianaRegex=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function combineRegexes(...regexes){let full=regexes.reduce((f$3,r$2)=>f$3+r$2.source,``);return RegExp(`^${full}$`)}function combineExtractors(...extractors){return m$3=>extractors.reduce(([mergedVals,mergedZone,cursor],ex)=>{let[val,zone,next]=ex(m$3,cursor);return[{...mergedVals,...val},zone||mergedZone,next]},[{},null,1]).slice(0,2)}function parse$7(s$6,...patterns){if(s$6==null)return[null,null];for(let[regex,extractor]of patterns){let m$3=regex.exec(s$6);if(m$3)return extractor(m$3)}return[null,null]}function simpleParse(...keys$10){return(match$2,cursor)=>{let ret={},i$4;for(i$4=0;i$4<keys$10.length;i$4++)ret[keys$10[i$4]]=parseInteger(match$2[cursor+i$4]);return[ret,null,cursor+i$4]}}const offsetRegex=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,isoExtendedZone=`(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`,isoTimeBaseRegex=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,isoTimeRegex=RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`),isoTimeExtensionRegex=RegExp(`(?:[Tt]${isoTimeRegex.source})?`),isoYmdRegex=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,isoWeekRegex=/(\d{4})-?W(\d\d)(?:-?(\d))?/,isoOrdinalRegex=/(\d{4})-?(\d{3})/,extractISOWeekData=simpleParse(`weekYear`,`weekNumber`,`weekDay`),extractISOOrdinalData=simpleParse(`year`,`ordinal`),sqlYmdRegex=/(\d{4})-(\d\d)-(\d\d)/,sqlTimeRegex=RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`),sqlTimeExtensionRegex=RegExp(`(?: ${sqlTimeRegex.source})?`);function int(match$2,pos,fallback){let m$3=match$2[pos];return isUndefined(m$3)?fallback:parseInteger(m$3)}function extractISOYmd(match$2,cursor){let item={year:int(match$2,cursor),month:int(match$2,cursor+1,1),day:int(match$2,cursor+2,1)};return[item,null,cursor+3]}function extractISOTime(match$2,cursor){let item={hours:int(match$2,cursor,0),minutes:int(match$2,cursor+1,0),seconds:int(match$2,cursor+2,0),milliseconds:parseMillis(match$2[cursor+3])};return[item,null,cursor+4]}function extractISOOffset(match$2,cursor){let local=!match$2[cursor]&&!match$2[cursor+1],fullOffset=signedOffset(match$2[cursor+1],match$2[cursor+2]),zone=local?null:FixedOffsetZone.instance(fullOffset);return[{},zone,cursor+3]}function extractIANAZone(match$2,cursor){let zone=match$2[cursor]?IANAZone.create(match$2[cursor]):null;return[{},zone,cursor+1]}const isoTimeOnly=RegExp(`^T?${isoTimeBaseRegex.source}$`),isoDuration=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(match$2){let[s$6,yearStr,monthStr,weekStr,dayStr,hourStr,minuteStr,secondStr,millisecondsStr]=match$2,hasNegativePrefix=s$6[0]===`-`,negativeSeconds=secondStr&&secondStr[0]===`-`,maybeNegate=(num,force=!1)=>num!==void 0&&(force||num&&hasNegativePrefix)?-num:num;return[{years:maybeNegate(parseFloating(yearStr)),months:maybeNegate(parseFloating(monthStr)),weeks:maybeNegate(parseFloating(weekStr)),days:maybeNegate(parseFloating(dayStr)),hours:maybeNegate(parseFloating(hourStr)),minutes:maybeNegate(parseFloating(minuteStr)),seconds:maybeNegate(parseFloating(secondStr),secondStr===`-0`),milliseconds:maybeNegate(parseMillis(millisecondsStr),negativeSeconds)}]}const obsOffsets={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){let result={year:yearStr.length===2?untruncateYear(parseInteger(yearStr)):parseInteger(yearStr),month:monthsShort.indexOf(monthStr)+1,day:parseInteger(dayStr),hour:parseInteger(hourStr),minute:parseInteger(minuteStr)};return secondStr&&(result.second=parseInteger(secondStr)),weekdayStr&&(result.weekday=weekdayStr.length>3?weekdaysLong.indexOf(weekdayStr)+1:weekdaysShort.indexOf(weekdayStr)+1),result}const rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(match$2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr,obsOffset,milOffset,offHourStr,offMinuteStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),offset$2;return offset$2=obsOffset?obsOffsets[obsOffset]:milOffset?0:signedOffset(offHourStr,offMinuteStr),[result,new FixedOffsetZone(offset$2)]}function preprocessRFC2822(s$6){return s$6.replace(/\([^()]*\)|[\n\t]/g,` `).replace(/(\s\s+)/g,` `).trim()}const rfc1123=/^(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$/,rfc850=/^(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$/,ascii=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(match$2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr);return[result,FixedOffsetZone.utcInstance]}function extractASCII(match$2){let[,weekdayStr,monthStr,dayStr,hourStr,minuteStr,secondStr,yearStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr);return[result,FixedOffsetZone.utcInstance]}const isoYmdWithTimeExtensionRegex=combineRegexes(isoYmdRegex,isoTimeExtensionRegex),isoWeekWithTimeExtensionRegex=combineRegexes(isoWeekRegex,isoTimeExtensionRegex),isoOrdinalWithTimeExtensionRegex=combineRegexes(isoOrdinalRegex,isoTimeExtensionRegex),isoTimeCombinedRegex=combineRegexes(isoTimeRegex),extractISOYmdTimeAndOffset=combineExtractors(extractISOYmd,extractISOTime,extractISOOffset,extractIANAZone),extractISOWeekTimeAndOffset=combineExtractors(extractISOWeekData,extractISOTime,extractISOOffset,extractIANAZone),extractISOOrdinalDateAndTime=combineExtractors(extractISOOrdinalData,extractISOTime,extractISOOffset,extractIANAZone),extractISOTimeAndOffset=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseISODate(s$6){return parse$7(s$6,[isoYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[isoWeekWithTimeExtensionRegex,extractISOWeekTimeAndOffset],[isoOrdinalWithTimeExtensionRegex,extractISOOrdinalDateAndTime],[isoTimeCombinedRegex,extractISOTimeAndOffset])}function parseRFC2822Date(s$6){return parse$7(preprocessRFC2822(s$6),[rfc2822,extractRFC2822])}function parseHTTPDate(s$6){return parse$7(s$6,[rfc1123,extractRFC1123Or850],[rfc850,extractRFC1123Or850],[ascii,extractASCII])}function parseISODuration(s$6){return parse$7(s$6,[isoDuration,extractISODuration])}const extractISOTimeOnly=combineExtractors(extractISOTime);function parseISOTimeOnly(s$6){return parse$7(s$6,[isoTimeOnly,extractISOTimeOnly])}const sqlYmdWithTimeExtensionRegex=combineRegexes(sqlYmdRegex,sqlTimeExtensionRegex),sqlTimeCombinedRegex=combineRegexes(sqlTimeRegex),extractISOTimeOffsetAndIANAZone=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseSQL(s$6){return parse$7(s$6,[sqlYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[sqlTimeCombinedRegex,extractISOTimeOffsetAndIANAZone])}const INVALID$2=`Invalid Duration`,lowOrderMatrix={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},casualMatrix={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...lowOrderMatrix},daysInYearAccurate=146097/400,daysInMonthAccurate=146097/4800,accurateMatrix={years:{quarters:4,months:12,weeks:daysInYearAccurate/7,days:daysInYearAccurate,hours:daysInYearAccurate*24,minutes:daysInYearAccurate*24*60,seconds:daysInYearAccurate*24*60*60,milliseconds:daysInYearAccurate*24*60*60*1e3},quarters:{months:3,weeks:daysInYearAccurate/28,days:daysInYearAccurate/4,hours:daysInYearAccurate*24/4,minutes:daysInYearAccurate*24*60/4,seconds:daysInYearAccurate*24*60*60/4,milliseconds:daysInYearAccurate*24*60*60*1e3/4},months:{weeks:daysInMonthAccurate/7,days:daysInMonthAccurate,hours:daysInMonthAccurate*24,minutes:daysInMonthAccurate*24*60,seconds:daysInMonthAccurate*24*60*60,milliseconds:daysInMonthAccurate*24*60*60*1e3},...lowOrderMatrix},orderedUnits$1=[`years`,`quarters`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`],reverseUnits=orderedUnits$1.slice(0).reverse();function clone$1(dur,alts,clear=!1){let conf={values:clear?alts.values:{...dur.values,...alts.values||{}},loc:dur.loc.clone(alts.loc),conversionAccuracy:alts.conversionAccuracy||dur.conversionAccuracy,matrix:alts.matrix||dur.matrix};return new Duration(conf)}function durationToMillis(matrix,vals){let sum=vals.milliseconds??0;for(let unit of reverseUnits.slice(1))vals[unit]&&(sum+=vals[unit]*matrix[unit].milliseconds);return sum}function normalizeValues(matrix,vals){let factor=durationToMillis(matrix,vals)<0?-1:1;orderedUnits$1.reduceRight((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let previousVal=vals[previous]*factor,conv=matrix[current][previous],rollUp=Math.floor(previousVal/conv);vals[current]+=rollUp*factor,vals[previous]-=rollUp*conv*factor}return current},null),orderedUnits$1.reduce((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let fraction=vals[previous]%1;vals[previous]-=fraction,vals[current]+=fraction*matrix[previous][current]}return current},null)}function removeZeroes(vals){let newVals={};for(let[key,value]of Object.entries(vals))value!==0&&(newVals[key]=value);return newVals}var Duration=class Duration{constructor(config){let accurate=config.conversionAccuracy===`longterm`||!1,matrix=accurate?accurateMatrix:casualMatrix;config.matrix&&(matrix=config.matrix),this.values=config.values,this.loc=config.loc||Locale.create(),this.conversionAccuracy=accurate?`longterm`:`casual`,this.invalid=config.invalid||null,this.matrix=matrix,this.isLuxonDuration=!0}static fromMillis(count,opts){return Duration.fromObject({milliseconds:count},opts)}static fromObject(obj,opts={}){if(typeof obj!=`object`||!obj)throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj===null?`null`:typeof obj}`);return new Duration({values:normalizeObject(obj,Duration.normalizeUnit),loc:Locale.fromObject(opts),conversionAccuracy:opts.conversionAccuracy,matrix:opts.matrix})}static fromDurationLike(durationLike){if(isNumber(durationLike))return Duration.fromMillis(durationLike);if(Duration.isDuration(durationLike))return durationLike;if(typeof durationLike==`object`)return Duration.fromObject(durationLike);throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`)}static fromISO(text,opts){let[parsed]=parseISODuration(text);return parsed?Duration.fromObject(parsed,opts):Duration.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static fromISOTime(text,opts){let[parsed]=parseISOTimeOnly(text);return parsed?Duration.fromObject(parsed,opts):Duration.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the Duration is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDurationError(invalid$1);return new Duration({invalid:invalid$1})}static normalizeUnit(unit){let normalized={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`}[unit&&unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}static isDuration(o$2){return o$2&&o$2.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(fmt,opts={}){let fmtOpts={...opts,floor:opts.round!==!1&&opts.floor!==!1};return this.isValid?Formatter.create(this.loc,fmtOpts).formatDurationFromString(this,fmt):INVALID$2}toHuman(opts={}){if(!this.isValid)return INVALID$2;let showZeros=opts.showZeros!==!1,l$4=orderedUnits$1.map(unit=>{let val=this.values[unit];return isUndefined(val)||val===0&&!showZeros?null:this.loc.numberFormatter({style:`unit`,unitDisplay:`long`,...opts,unit:unit.slice(0,-1)}).format(val)}).filter(n$4=>n$4);return this.loc.listFormatter({type:`conjunction`,style:opts.listStyle||`narrow`,...opts}).format(l$4)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let s$6=`P`;return this.years!==0&&(s$6+=this.years+`Y`),(this.months!==0||this.quarters!==0)&&(s$6+=this.months+this.quarters*3+`M`),this.weeks!==0&&(s$6+=this.weeks+`W`),this.days!==0&&(s$6+=this.days+`D`),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(s$6+=`T`),this.hours!==0&&(s$6+=this.hours+`H`),this.minutes!==0&&(s$6+=this.minutes+`M`),(this.seconds!==0||this.milliseconds!==0)&&(s$6+=roundTo(this.seconds+this.milliseconds/1e3,3)+`S`),s$6===`P`&&(s$6+=`T0S`),s$6}toISOTime(opts={}){if(!this.isValid)return null;let millis=this.toMillis();if(millis<0||millis>=864e5)return null;opts={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:`extended`,...opts,includeOffset:!1};let dateTime=DateTime.fromMillis(millis,{zone:`UTC`});return dateTime.toISOTime(opts)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?durationToMillis(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1),result={};for(let k of orderedUnits$1)(hasOwnProperty(dur.values,k)||hasOwnProperty(this.values,k))&&(result[k]=dur.get(k)+this.get(k));return clone$1(this,{values:result},!0)}minus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1);return this.plus(dur.negate())}mapUnits(fn$1){if(!this.isValid)return this;let result={};for(let k of Object.keys(this.values))result[k]=asNumber(fn$1(this.values[k],k));return clone$1(this,{values:result},!0)}get(unit){return this[Duration.normalizeUnit(unit)]}set(values$3){if(!this.isValid)return this;let mixed={...this.values,...normalizeObject(values$3,Duration.normalizeUnit)};return clone$1(this,{values:mixed})}reconfigure({locale,numberingSystem,conversionAccuracy,matrix}={}){let loc=this.loc.clone({locale,numberingSystem}),opts={loc,matrix,conversionAccuracy};return clone$1(this,opts)}as(unit){return this.isValid?this.shiftTo(unit).get(unit):NaN}normalize(){if(!this.isValid)return this;let vals=this.toObject();return normalizeValues(this.matrix,vals),clone$1(this,{values:vals},!0)}rescale(){if(!this.isValid)return this;let vals=removeZeroes(this.normalize().shiftToAll().toObject());return clone$1(this,{values:vals},!0)}shiftTo(...units){if(!this.isValid||units.length===0)return this;units=units.map(u=>Duration.normalizeUnit(u));let built={},accumulated={},vals=this.toObject(),lastUnit;for(let k of orderedUnits$1)if(units.indexOf(k)>=0){lastUnit=k;let own=0;for(let ak in accumulated)own+=this.matrix[ak][k]*accumulated[ak],accumulated[ak]=0;isNumber(vals[k])&&(own+=vals[k]);let i$4=Math.trunc(own);built[k]=i$4,accumulated[k]=(own*1e3-i$4*1e3)/1e3}else isNumber(vals[k])&&(accumulated[k]=vals[k]);for(let key in accumulated)accumulated[key]!==0&&(built[lastUnit]+=key===lastUnit?accumulated[key]:accumulated[key]/this.matrix[lastUnit][key]);return normalizeValues(this.matrix,built),clone$1(this,{values:built},!0)}shiftToAll(){return this.isValid?this.shiftTo(`years`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`):this}negate(){if(!this.isValid)return this;let negated={};for(let k of Object.keys(this.values))negated[k]=this.values[k]===0?0:-this.values[k];return clone$1(this,{values:negated},!0)}removeZeros(){if(!this.isValid)return this;let vals=removeZeroes(this.values);return clone$1(this,{values:vals},!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(other){if(!this.isValid||!other.isValid||!this.loc.equals(other.loc))return!1;function eq$9(v1,v2){return v1===void 0||v1===0?v2===void 0||v2===0:v1===v2}for(let u of orderedUnits$1)if(!eq$9(this.values[u],other.values[u]))return!1;return!0}};const INVALID$1=`Invalid Interval`;function validateStartEnd(start,end){return!start||!start.isValid?Interval.invalid(`missing or invalid start`):!end||!end.isValid?Interval.invalid(`missing or invalid end`):end<start?Interval.invalid(`end before start`,`The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`):null}var Interval=class Interval{constructor(config){this.s=config.start,this.e=config.end,this.invalid=config.invalid||null,this.isLuxonInterval=!0}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the Interval is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidIntervalError(invalid$1);return new Interval({invalid:invalid$1})}static fromDateTimes(start,end){let builtStart=friendlyDateTime(start),builtEnd=friendlyDateTime(end),validateError=validateStartEnd(builtStart,builtEnd);return validateError??new Interval({start:builtStart,end:builtEnd})}static after(start,duration$1){let dur=Duration.fromDurationLike(duration$1),dt=friendlyDateTime(start);return Interval.fromDateTimes(dt,dt.plus(dur))}static before(end,duration$1){let dur=Duration.fromDurationLike(duration$1),dt=friendlyDateTime(end);return Interval.fromDateTimes(dt.minus(dur),dt)}static fromISO(text,opts){let[s$6,e$2]=(text||``).split(`/`,2);if(s$6&&e$2){let start,startIsValid;try{start=DateTime.fromISO(s$6,opts),startIsValid=start.isValid}catch{startIsValid=!1}let end,endIsValid;try{end=DateTime.fromISO(e$2,opts),endIsValid=end.isValid}catch{endIsValid=!1}if(startIsValid&&endIsValid)return Interval.fromDateTimes(start,end);if(startIsValid){let dur=Duration.fromISO(e$2,opts);if(dur.isValid)return Interval.after(start,dur)}else if(endIsValid){let dur=Duration.fromISO(s$6,opts);if(dur.isValid)return Interval.before(end,dur)}}return Interval.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static isInterval(o$2){return o$2&&o$2.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):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(unit=`milliseconds`){return this.isValid?this.toDuration(unit).get(unit):NaN}count(unit=`milliseconds`,opts){if(!this.isValid)return NaN;let start=this.start.startOf(unit,opts),end;return end=opts?.useLocaleWeeks?this.end.reconfigure({locale:start.locale}):this.end,end=end.startOf(unit,opts),Math.floor(end.diff(start,unit).get(unit))+(end.valueOf()!==this.end.valueOf())}hasSame(unit){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,unit):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(dateTime){return this.isValid?this.s>dateTime:!1}isBefore(dateTime){return this.isValid?this.e<=dateTime:!1}contains(dateTime){return this.isValid?this.s<=dateTime&&this.e>dateTime:!1}set({start,end}={}){return this.isValid?Interval.fromDateTimes(start||this.s,end||this.e):this}splitAt(...dateTimes){if(!this.isValid)return[];let sorted=dateTimes.map(friendlyDateTime).filter(d$1=>this.contains(d$1)).sort((a$2,b)=>a$2.toMillis()-b.toMillis()),results=[],{s:s$6}=this,i$4=0;for(;s$6<this.e;){let added=sorted[i$4]||this.e,next=+added>+this.e?this.e:added;results.push(Interval.fromDateTimes(s$6,next)),s$6=next,i$4+=1}return results}splitBy(duration$1){let dur=Duration.fromDurationLike(duration$1);if(!this.isValid||!dur.isValid||dur.as(`milliseconds`)===0)return[];let{s:s$6}=this,idx=1,next,results=[];for(;s$6<this.e;){let added=this.start.plus(dur.mapUnits(x$1=>x$1*idx));next=+added>+this.e?this.e:added,results.push(Interval.fromDateTimes(s$6,next)),s$6=next,idx+=1}return results}divideEqually(numberOfParts){return this.isValid?this.splitBy(this.length()/numberOfParts).slice(0,numberOfParts):[]}overlaps(other){return this.e>other.s&&this.s<other.e}abutsStart(other){return this.isValid?+this.e==+other.s:!1}abutsEnd(other){return this.isValid?+other.e==+this.s:!1}engulfs(other){return this.isValid?this.s<=other.s&&this.e>=other.e:!1}equals(other){return!this.isValid||!other.isValid?!1:this.s.equals(other.s)&&this.e.equals(other.e)}intersection(other){if(!this.isValid)return this;let s$6=this.s>other.s?this.s:other.s,e$2=this.e<other.e?this.e:other.e;return s$6>=e$2?null:Interval.fromDateTimes(s$6,e$2)}union(other){if(!this.isValid)return this;let s$6=this.s<other.s?this.s:other.s,e$2=this.e>other.e?this.e:other.e;return Interval.fromDateTimes(s$6,e$2)}static merge(intervals){let[found,final]=intervals.sort((a$2,b)=>a$2.s-b.s).reduce(([sofar,current],item)=>current?current.overlaps(item)||current.abutsStart(item)?[sofar,current.union(item)]:[sofar.concat([current]),item]:[sofar,item],[[],null]);return final&&found.push(final),found}static xor(intervals){let start=null,currentCount=0,results=[],ends=intervals.map(i$4=>[{time:i$4.s,type:`s`},{time:i$4.e,type:`e`}]),flattened=Array.prototype.concat(...ends),arr=flattened.sort((a$2,b)=>a$2.time-b.time);for(let i$4 of arr)currentCount+=i$4.type===`s`?1:-1,currentCount===1?start=i$4.time:(start&&+start!=+i$4.time&&results.push(Interval.fromDateTimes(start,i$4.time)),start=null);return Interval.merge(results)}difference(...intervals){return Interval.xor([this].concat(intervals)).map(i$4=>this.intersection(i$4)).filter(i$4=>i$4&&!i$4.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:INVALID$1}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.s.loc.clone(opts),formatOpts).formatInterval(this):INVALID$1}toISO(opts){return this.isValid?`${this.s.toISO(opts)}/${this.e.toISO(opts)}`:INVALID$1}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:INVALID$1}toISOTime(opts){return this.isValid?`${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`:INVALID$1}toFormat(dateFormat,{separator=` – `}={}){return this.isValid?`${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`:INVALID$1}toDuration(unit,opts){return this.isValid?this.e.diff(this.s,unit,opts):Duration.invalid(this.invalidReason)}mapEndpoints(mapFn){return Interval.fromDateTimes(mapFn(this.s),mapFn(this.e))}},Info=class{static hasDST(zone=Settings.defaultZone){let proto=DateTime.now().setZone(zone).set({month:12});return!zone.isUniversal&&proto.offset!==proto.set({month:6}).offset}static isValidIANAZone(zone){return IANAZone.isValidZone(zone)}static normalizeZone(input){return normalizeZone(input,Settings.defaultZone)}static getStartOfWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getWeekendDays().slice()}static months(length=`long`,{locale=null,numberingSystem=null,locObj=null,outputCalendar=`gregory`}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length)}static monthsFormat(length=`long`,{locale=null,numberingSystem=null,locObj=null,outputCalendar=`gregory`}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length,!0)}static weekdays(length=`long`,{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length)}static weekdaysFormat(length=`long`,{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length,!0)}static meridiems({locale=null}={}){return Locale.create(locale).meridiems()}static eras(length=`short`,{locale=null}={}){return Locale.create(locale,null,`gregory`).eras(length)}static features(){return{relative:hasRelative(),localeWeek:hasLocaleWeekInfo()}}};function dayDiff(earlier,later){let utcDayStart=dt=>dt.toUTC(0,{keepLocalTime:!0}).startOf(`day`).valueOf(),ms=utcDayStart(later)-utcDayStart(earlier);return Math.floor(Duration.fromMillis(ms).as(`days`))}function highOrderDiffs(cursor,later,units){let differs=[[`years`,(a$2,b)=>b.year-a$2.year],[`quarters`,(a$2,b)=>b.quarter-a$2.quarter+(b.year-a$2.year)*4],[`months`,(a$2,b)=>b.month-a$2.month+(b.year-a$2.year)*12],[`weeks`,(a$2,b)=>{let days=dayDiff(a$2,b);return(days-days%7)/7}],[`days`,dayDiff]],results={},earlier=cursor,lowestOrder,highWater;for(let[unit,differ]of differs)units.indexOf(unit)>=0&&(lowestOrder=unit,results[unit]=differ(cursor,later),highWater=earlier.plus(results),highWater>later?(results[unit]--,cursor=earlier.plus(results),cursor>later&&(highWater=cursor,results[unit]--,cursor=earlier.plus(results))):cursor=highWater);return[cursor,results,highWater,lowestOrder]}function diff$2(earlier,later,units,opts){let[cursor,results,highWater,lowestOrder]=highOrderDiffs(earlier,later,units),remainingMillis=later-cursor,lowerOrderUnits=units.filter(u=>[`hours`,`minutes`,`seconds`,`milliseconds`].indexOf(u)>=0);lowerOrderUnits.length===0&&(highWater<later&&(highWater=cursor.plus({[lowestOrder]:1})),highWater!==cursor&&(results[lowestOrder]=(results[lowestOrder]||0)+remainingMillis/(highWater-cursor)));let duration$1=Duration.fromObject(results,opts);return lowerOrderUnits.length>0?Duration.fromMillis(remainingMillis,opts).shiftTo(...lowerOrderUnits).plus(duration$1):duration$1}const MISSING_FTP=`missing Intl.DateTimeFormat.formatToParts support`;function intUnit(regex,post=i$4=>i$4){return{regex,deser:([s$6])=>post(parseDigits(s$6))}}const NBSP=`\xA0`,spaceOrNBSP=`[ ${NBSP}]`,spaceOrNBSPRegExp=new RegExp(spaceOrNBSP,`g`);function fixListRegex(s$6){return s$6.replace(/\./g,`\\.?`).replace(spaceOrNBSPRegExp,spaceOrNBSP)}function stripInsensitivities(s$6){return s$6.replace(/\./g,``).replace(spaceOrNBSPRegExp,` `).toLowerCase()}function oneOf(strings,startIndex){return strings===null?null:{regex:RegExp(strings.map(fixListRegex).join(`|`)),deser:([s$6])=>strings.findIndex(i$4=>stripInsensitivities(s$6)===stripInsensitivities(i$4))+startIndex}}function offset(regex,groups){return{regex,deser:([,h$1,m$3])=>signedOffset(h$1,m$3),groups}}function simple(regex){return{regex,deser:([s$6])=>s$6}}function escapeToken(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,`\\$&`)}function unitForToken(token,loc){let one=digitRegex(loc),two$1=digitRegex(loc,`{2}`),three=digitRegex(loc,`{3}`),four=digitRegex(loc,`{4}`),six=digitRegex(loc,`{6}`),oneOrTwo=digitRegex(loc,`{1,2}`),oneToThree=digitRegex(loc,`{1,3}`),oneToSix=digitRegex(loc,`{1,6}`),oneToNine=digitRegex(loc,`{1,9}`),twoToFour=digitRegex(loc,`{2,4}`),fourToSix=digitRegex(loc,`{4,6}`),literal=t$7=>({regex:RegExp(escapeToken(t$7.val)),deser:([s$6])=>s$6,literal:!0}),unitate=t$7=>{if(token.literal)return literal(t$7);switch(t$7.val){case`G`:return oneOf(loc.eras(`short`),0);case`GG`:return oneOf(loc.eras(`long`),0);case`y`:return intUnit(oneToSix);case`yy`:return intUnit(twoToFour,untruncateYear);case`yyyy`:return intUnit(four);case`yyyyy`:return intUnit(fourToSix);case`yyyyyy`:return intUnit(six);case`M`:return intUnit(oneOrTwo);case`MM`:return intUnit(two$1);case`MMM`:return oneOf(loc.months(`short`,!0),1);case`MMMM`:return oneOf(loc.months(`long`,!0),1);case`L`:return intUnit(oneOrTwo);case`LL`:return intUnit(two$1);case`LLL`:return oneOf(loc.months(`short`,!1),1);case`LLLL`:return oneOf(loc.months(`long`,!1),1);case`d`:return intUnit(oneOrTwo);case`dd`:return intUnit(two$1);case`o`:return intUnit(oneToThree);case`ooo`:return intUnit(three);case`HH`:return intUnit(two$1);case`H`:return intUnit(oneOrTwo);case`hh`:return intUnit(two$1);case`h`:return intUnit(oneOrTwo);case`mm`:return intUnit(two$1);case`m`:return intUnit(oneOrTwo);case`q`:return intUnit(oneOrTwo);case`qq`:return intUnit(two$1);case`s`:return intUnit(oneOrTwo);case`ss`:return intUnit(two$1);case`S`:return intUnit(oneToThree);case`SSS`:return intUnit(three);case`u`:return simple(oneToNine);case`uu`:return simple(oneOrTwo);case`uuu`:return intUnit(one);case`a`:return oneOf(loc.meridiems(),0);case`kkkk`:return intUnit(four);case`kk`:return intUnit(twoToFour,untruncateYear);case`W`:return intUnit(oneOrTwo);case`WW`:return intUnit(two$1);case`E`:case`c`:return intUnit(one);case`EEE`:return oneOf(loc.weekdays(`short`,!1),1);case`EEEE`:return oneOf(loc.weekdays(`long`,!1),1);case`ccc`:return oneOf(loc.weekdays(`short`,!0),1);case`cccc`:return oneOf(loc.weekdays(`long`,!0),1);case`Z`:case`ZZ`:return offset(RegExp(`([+-]${oneOrTwo.source})(?::(${two$1.source}))?`),2);case`ZZZ`:return offset(RegExp(`([+-]${oneOrTwo.source})(${two$1.source})?`),2);case`z`:return simple(/[a-z_+-/]{1,256}?/i);case` `:return simple(/[^\S\n\r]/);default:return literal(t$7)}},unit=unitate(token)||{invalidReason:MISSING_FTP};return unit.token=token,unit}const partTypeStyleToTokenVal={year:{"2-digit":`yy`,numeric:`yyyyy`},month:{numeric:`M`,"2-digit":`MM`,short:`MMM`,long:`MMMM`},day:{numeric:`d`,"2-digit":`dd`},weekday:{short:`EEE`,long:`EEEE`},dayperiod:`a`,dayPeriod:`a`,hour12:{numeric:`h`,"2-digit":`hh`},hour24:{numeric:`H`,"2-digit":`HH`},minute:{numeric:`m`,"2-digit":`mm`},second:{numeric:`s`,"2-digit":`ss`},timeZoneName:{long:`ZZZZZ`,short:`ZZZ`}};function tokenForPart(part,formatOpts,resolvedOpts){let{type,value}=part;if(type===`literal`){let isSpace=/^\s+$/.test(value);return{literal:!isSpace,val:isSpace?` `:value}}let style=formatOpts[type],actualType=type;type===`hour`&&(actualType=formatOpts.hour12==null?formatOpts.hourCycle==null?resolvedOpts.hour12?`hour12`:`hour24`:formatOpts.hourCycle===`h11`||formatOpts.hourCycle===`h12`?`hour12`:`hour24`:formatOpts.hour12?`hour12`:`hour24`);let val=partTypeStyleToTokenVal[actualType];if(typeof val==`object`&&(val=val[style]),val)return{literal:!1,val}}function buildRegex(units){let re$5=units.map(u=>u.regex).reduce((f$3,r$2)=>`${f$3}(${r$2.source})`,``);return[`^${re$5}$`,units]}function match(input,regex,handlers){let matches=input.match(regex);if(matches){let all$1={},matchIndex=1;for(let i$4 in handlers)if(hasOwnProperty(handlers,i$4)){let h$1=handlers[i$4],groups=h$1.groups?h$1.groups+1:1;!h$1.literal&&h$1.token&&(all$1[h$1.token.val[0]]=h$1.deser(matches.slice(matchIndex,matchIndex+groups))),matchIndex+=groups}return[matches,all$1]}else return[matches,{}]}function dateTimeFromMatches(matches){let toField=token=>{switch(token){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}},zone=null,specificOffset;isUndefined(matches.z)||(zone=IANAZone.create(matches.z)),isUndefined(matches.Z)||(zone||=new FixedOffsetZone(matches.Z),specificOffset=matches.Z),isUndefined(matches.q)||(matches.M=(matches.q-1)*3+1),isUndefined(matches.h)||(matches.h<12&&matches.a===1?matches.h+=12:matches.h===12&&matches.a===0&&(matches.h=0)),matches.G===0&&matches.y&&(matches.y=-matches.y),isUndefined(matches.u)||(matches.S=parseMillis(matches.u));let vals=Object.keys(matches).reduce((r$2,k)=>{let f$3=toField(k);return f$3&&(r$2[f$3]=matches[k]),r$2},{});return[vals,zone,specificOffset]}let dummyDateTimeCache=null;function getDummyDateTime(){return dummyDateTimeCache||=DateTime.fromMillis(1555555555555),dummyDateTimeCache}function maybeExpandMacroToken(token,locale){if(token.literal)return token;let formatOpts=Formatter.macroTokenToFormatOpts(token.val),tokens=formatOptsToTokens(formatOpts,locale);return tokens==null||tokens.includes(void 0)?token:tokens}function expandMacroTokens(tokens,locale){return Array.prototype.concat(...tokens.map(t$7=>maybeExpandMacroToken(t$7,locale)))}var TokenParser=class{constructor(locale,format){if(this.locale=locale,this.format=format,this.tokens=expandMacroTokens(Formatter.parseFormat(format),locale),this.units=this.tokens.map(t$7=>unitForToken(t$7,locale)),this.disqualifyingUnit=this.units.find(t$7=>t$7.invalidReason),!this.disqualifyingUnit){let[regexString,handlers]=buildRegex(this.units);this.regex=RegExp(regexString,`i`),this.handlers=handlers}}explainFromTokens(input){if(this.isValid){let[rawMatches,matches]=match(input,this.regex,this.handlers),[result,zone,specificOffset]=matches?dateTimeFromMatches(matches):[null,null,void 0];if(hasOwnProperty(matches,`a`)&&hasOwnProperty(matches,`H`))throw new ConflictingSpecificationError(`Can't include meridiem when specifying 24-hour format`);return{input,tokens:this.tokens,regex:this.regex,rawMatches,matches,result,zone,specificOffset}}else return{input,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function explainFromTokens(locale,input,format){let parser=new TokenParser(locale,format);return parser.explainFromTokens(input)}function parseFromTokens(locale,input,format){let{result,zone,specificOffset,invalidReason}=explainFromTokens(locale,input,format);return[result,zone,specificOffset,invalidReason]}function formatOptsToTokens(formatOpts,locale){if(!formatOpts)return null;let formatter=Formatter.create(locale,formatOpts),df=formatter.dtFormatter(getDummyDateTime()),parts=df.formatToParts(),resolvedOpts=df.resolvedOptions();return parts.map(p$1=>tokenForPart(p$1,formatOpts,resolvedOpts))}const INVALID=`Invalid DateTime`,MAX_DATE=864e13;function unsupportedZone(zone){return new Invalid(`unsupported zone`,`the zone "${zone.name}" is not supported`)}function possiblyCachedWeekData(dt){return dt.weekData===null&&(dt.weekData=gregorianToWeek(dt.c)),dt.weekData}function possiblyCachedLocalWeekData(dt){return dt.localWeekData===null&&(dt.localWeekData=gregorianToWeek(dt.c,dt.loc.getMinDaysInFirstWeek(),dt.loc.getStartOfWeek())),dt.localWeekData}function clone(inst,alts){let current={ts:inst.ts,zone:inst.zone,c:inst.c,o:inst.o,loc:inst.loc,invalid:inst.invalid};return new DateTime({...current,...alts,old:current})}function fixOffset(localTS,o$2,tz){let utcGuess=localTS-o$2*60*1e3,o2=tz.offset(utcGuess);if(o$2===o2)return[utcGuess,o$2];utcGuess-=(o2-o$2)*60*1e3;let o3=tz.offset(utcGuess);return o2===o3?[utcGuess,o2]:[localTS-Math.min(o2,o3)*60*1e3,Math.max(o2,o3)]}function tsToObj(ts,offset$2){ts+=offset$2*60*1e3;let d$1=new Date(ts);return{year:d$1.getUTCFullYear(),month:d$1.getUTCMonth()+1,day:d$1.getUTCDate(),hour:d$1.getUTCHours(),minute:d$1.getUTCMinutes(),second:d$1.getUTCSeconds(),millisecond:d$1.getUTCMilliseconds()}}function objToTS(obj,offset$2,zone){return fixOffset(objToLocalTS(obj),offset$2,zone)}function adjustTime(inst,dur){let oPre=inst.o,year=inst.c.year+Math.trunc(dur.years),month=inst.c.month+Math.trunc(dur.months)+Math.trunc(dur.quarters)*3,c$1={...inst.c,year,month,day:Math.min(inst.c.day,daysInMonth(year,month))+Math.trunc(dur.days)+Math.trunc(dur.weeks)*7},millisToAdd=Duration.fromObject({years:dur.years-Math.trunc(dur.years),quarters:dur.quarters-Math.trunc(dur.quarters),months:dur.months-Math.trunc(dur.months),weeks:dur.weeks-Math.trunc(dur.weeks),days:dur.days-Math.trunc(dur.days),hours:dur.hours,minutes:dur.minutes,seconds:dur.seconds,milliseconds:dur.milliseconds}).as(`milliseconds`),localTS=objToLocalTS(c$1),[ts,o$2]=fixOffset(localTS,oPre,inst.zone);return millisToAdd!==0&&(ts+=millisToAdd,o$2=inst.zone.offset(ts)),{ts,o:o$2}}function parseDataToDateTime(parsed,parsedZone,opts,format,text,specificOffset){let{setZone,zone}=opts;if(parsed&&Object.keys(parsed).length!==0||parsedZone){let interpretationZone=parsedZone||zone,inst=DateTime.fromObject(parsed,{...opts,zone:interpretationZone,specificOffset});return setZone?inst:inst.setZone(zone)}else return DateTime.invalid(new Invalid(`unparsable`,`the input "${text}" can't be parsed as ${format}`))}function toTechFormat(dt,format,allowZ=!0){return dt.isValid?Formatter.create(Locale.create(`en-US`),{allowZ,forceSimple:!0}).formatDateTimeFromString(dt,format):null}function toISODate(o$2,extended,precision){let longFormat=o$2.c.year>9999||o$2.c.year<0,c$1=``;if(longFormat&&o$2.c.year>=0&&(c$1+=`+`),c$1+=padStart(o$2.c.year,longFormat?6:4),precision===`year`)return c$1;if(extended){if(c$1+=`-`,c$1+=padStart(o$2.c.month),precision===`month`)return c$1;c$1+=`-`}else if(c$1+=padStart(o$2.c.month),precision===`month`)return c$1;return c$1+=padStart(o$2.c.day),c$1}function toISOTime(o$2,extended,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision){let showSeconds=!suppressSeconds||o$2.c.millisecond!==0||o$2.c.second!==0,c$1=``;switch(precision){case`day`:case`month`:case`year`:break;default:if(c$1+=padStart(o$2.c.hour),precision===`hour`)break;if(extended){if(c$1+=`:`,c$1+=padStart(o$2.c.minute),precision===`minute`)break;showSeconds&&(c$1+=`:`,c$1+=padStart(o$2.c.second))}else{if(c$1+=padStart(o$2.c.minute),precision===`minute`)break;showSeconds&&(c$1+=padStart(o$2.c.second))}if(precision===`second`)break;showSeconds&&(!suppressMilliseconds||o$2.c.millisecond!==0)&&(c$1+=`.`,c$1+=padStart(o$2.c.millisecond,3))}return includeOffset&&(o$2.isOffsetFixed&&o$2.offset===0&&!extendedZone?c$1+=`Z`:o$2.o<0?(c$1+=`-`,c$1+=padStart(Math.trunc(-o$2.o/60)),c$1+=`:`,c$1+=padStart(Math.trunc(-o$2.o%60))):(c$1+=`+`,c$1+=padStart(Math.trunc(o$2.o/60)),c$1+=`:`,c$1+=padStart(Math.trunc(o$2.o%60)))),extendedZone&&(c$1+=`[`+o$2.zone.ianaName+`]`),c$1}const defaultUnitValues={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},defaultWeekUnitValues={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},defaultOrdinalUnitValues={ordinal:1,hour:0,minute:0,second:0,millisecond:0},orderedUnits=[`year`,`month`,`day`,`hour`,`minute`,`second`,`millisecond`],orderedWeekUnits=[`weekYear`,`weekNumber`,`weekday`,`hour`,`minute`,`second`,`millisecond`],orderedOrdinalUnits=[`year`,`ordinal`,`hour`,`minute`,`second`,`millisecond`];function normalizeUnit(unit){let normalized={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`}[unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}function normalizeUnitWithLocalWeeks(unit){switch(unit.toLowerCase()){case`localweekday`:case`localweekdays`:return`localWeekday`;case`localweeknumber`:case`localweeknumbers`:return`localWeekNumber`;case`localweekyear`:case`localweekyears`:return`localWeekYear`;default:return normalizeUnit(unit)}}function guessOffsetForZone(zone){if(zoneOffsetTs===void 0&&(zoneOffsetTs=Settings.now()),zone.type!==`iana`)return zone.offset(zoneOffsetTs);let zoneName=zone.name,offsetGuess=zoneOffsetGuessCache.get(zoneName);return offsetGuess===void 0&&(offsetGuess=zone.offset(zoneOffsetTs),zoneOffsetGuessCache.set(zoneName,offsetGuess)),offsetGuess}function quickDT(obj,opts){let zone=normalizeZone(opts.zone,Settings.defaultZone);if(!zone.isValid)return DateTime.invalid(unsupportedZone(zone));let loc=Locale.fromObject(opts),ts,o$2;if(isUndefined(obj.year))ts=Settings.now();else{for(let u of orderedUnits)isUndefined(obj[u])&&(obj[u]=defaultUnitValues[u]);let invalid$1=hasInvalidGregorianData(obj)||hasInvalidTimeData(obj);if(invalid$1)return DateTime.invalid(invalid$1);let offsetProvis=guessOffsetForZone(zone);[ts,o$2]=objToTS(obj,offsetProvis,zone)}return new DateTime({ts,zone,loc,o:o$2})}function diffRelative(start,end,opts){let round$2=isUndefined(opts.round)?!0:opts.round,rounding=isUndefined(opts.rounding)?`trunc`:opts.rounding,format=(c$1,unit)=>{c$1=roundTo(c$1,round$2||opts.calendary?0:2,opts.calendary?`round`:rounding);let formatter=end.loc.clone(opts).relFormatter(opts);return formatter.format(c$1,unit)},differ=unit=>opts.calendary?end.hasSame(start,unit)?0:end.startOf(unit).diff(start.startOf(unit),unit).get(unit):end.diff(start,unit).get(unit);if(opts.unit)return format(differ(opts.unit),opts.unit);for(let unit of opts.units){let count=differ(unit);if(Math.abs(count)>=1)return format(count,unit)}return format(start>end?-0:0,opts.units[opts.units.length-1])}function lastOpts(argList){let opts={},args$1;return argList.length>0&&typeof argList[argList.length-1]==`object`?(opts=argList[argList.length-1],args$1=Array.from(argList).slice(0,argList.length-1)):args$1=Array.from(argList),[opts,args$1]}let zoneOffsetTs;const zoneOffsetGuessCache=new Map;var DateTime=class DateTime{constructor(config){let zone=config.zone||Settings.defaultZone,invalid$1=config.invalid||(Number.isNaN(config.ts)?new Invalid(`invalid input`):null)||(zone.isValid?null:unsupportedZone(zone));this.ts=isUndefined(config.ts)?Settings.now():config.ts;let c$1=null,o$2=null;if(!invalid$1){let unchanged=config.old&&config.old.ts===this.ts&&config.old.zone.equals(zone);if(unchanged)[c$1,o$2]=[config.old.c,config.old.o];else{let ot=isNumber(config.o)&&!config.old?config.o:zone.offset(this.ts);c$1=tsToObj(this.ts,ot),invalid$1=Number.isNaN(c$1.year)?new Invalid(`invalid input`):null,c$1=invalid$1?null:c$1,o$2=invalid$1?null:ot}}this._zone=zone,this.loc=config.loc||Locale.create(),this.invalid=invalid$1,this.weekData=null,this.localWeekData=null,this.c=c$1,this.o=o$2,this.isLuxonDateTime=!0}static now(){return new DateTime({})}static local(){let[opts,args$1]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args$1;return quickDT({year,month,day,hour,minute,second,millisecond},opts)}static utc(){let[opts,args$1]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args$1;return opts.zone=FixedOffsetZone.utcInstance,quickDT({year,month,day,hour,minute,second,millisecond},opts)}static fromJSDate(date,options={}){let ts=isDate(date)?date.valueOf():NaN;if(Number.isNaN(ts))return DateTime.invalid(`invalid input`);let zoneToUse=normalizeZone(options.zone,Settings.defaultZone);return zoneToUse.isValid?new DateTime({ts,zone:zoneToUse,loc:Locale.fromObject(options)}):DateTime.invalid(unsupportedZone(zoneToUse))}static fromMillis(milliseconds,options={}){if(isNumber(milliseconds))return milliseconds<-MAX_DATE||milliseconds>MAX_DATE?DateTime.invalid(`Timestamp out of range`):new DateTime({ts:milliseconds,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`)}static fromSeconds(seconds,options={}){if(isNumber(seconds))return new DateTime({ts:seconds*1e3,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromSeconds requires a numerical input`)}static fromObject(obj,opts={}){obj||={};let zoneToUse=normalizeZone(opts.zone,Settings.defaultZone);if(!zoneToUse.isValid)return DateTime.invalid(unsupportedZone(zoneToUse));let loc=Locale.fromObject(opts),normalized=normalizeObject(obj,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,loc),tsNow=Settings.now(),offsetProvis=isUndefined(opts.specificOffset)?zoneToUse.offset(tsNow):opts.specificOffset,containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError(`Can't mix ordinal dates with month/day`);let useWeekData=definiteWeekDef||normalized.weekday&&!containsGregor,units,defaultValues,objNow=tsToObj(tsNow,offsetProvis);useWeekData?(units=orderedWeekUnits,defaultValues=defaultWeekUnitValues,objNow=gregorianToWeek(objNow,minDaysInFirstWeek,startOfWeek)):containsOrdinal?(units=orderedOrdinalUnits,defaultValues=defaultOrdinalUnitValues,objNow=gregorianToOrdinal(objNow)):(units=orderedUnits,defaultValues=defaultUnitValues);let foundFirst=!1;for(let u of units){let v$1=normalized[u];isUndefined(v$1)?foundFirst?normalized[u]=defaultValues[u]:normalized[u]=objNow[u]:foundFirst=!0}let higherOrderInvalid=useWeekData?hasInvalidWeekData(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?hasInvalidOrdinalData(normalized):hasInvalidGregorianData(normalized),invalid$1=higherOrderInvalid||hasInvalidTimeData(normalized);if(invalid$1)return DateTime.invalid(invalid$1);let gregorian=useWeekData?weekToGregorian(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?ordinalToGregorian(normalized):normalized,[tsFinal,offsetFinal]=objToTS(gregorian,offsetProvis,zoneToUse),inst=new DateTime({ts:tsFinal,zone:zoneToUse,o:offsetFinal,loc});return normalized.weekday&&containsGregor&&obj.weekday!==inst.weekday?DateTime.invalid(`mismatched weekday`,`you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`):inst.isValid?inst:DateTime.invalid(inst.invalid)}static fromISO(text,opts={}){let[vals,parsedZone]=parseISODate(text);return parseDataToDateTime(vals,parsedZone,opts,`ISO 8601`,text)}static fromRFC2822(text,opts={}){let[vals,parsedZone]=parseRFC2822Date(text);return parseDataToDateTime(vals,parsedZone,opts,`RFC 2822`,text)}static fromHTTP(text,opts={}){let[vals,parsedZone]=parseHTTPDate(text);return parseDataToDateTime(vals,parsedZone,opts,`HTTP`,opts)}static fromFormat(text,fmt,opts={}){if(isUndefined(text)||isUndefined(fmt))throw new InvalidArgumentError(`fromFormat requires an input string and a format`);let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0}),[vals,parsedZone,specificOffset,invalid$1]=parseFromTokens(localeToUse,text,fmt);return invalid$1?DateTime.invalid(invalid$1):parseDataToDateTime(vals,parsedZone,opts,`format ${fmt}`,text,specificOffset)}static fromString(text,fmt,opts={}){return DateTime.fromFormat(text,fmt,opts)}static fromSQL(text,opts={}){let[vals,parsedZone]=parseSQL(text);return parseDataToDateTime(vals,parsedZone,opts,`SQL`,text)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the DateTime is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(invalid$1);return new DateTime({invalid:invalid$1})}static isDateTime(o$2){return o$2&&o$2.isLuxonDateTime||!1}static parseFormatForOpts(formatOpts,localeOpts={}){let tokenList=formatOptsToTokens(formatOpts,Locale.fromObject(localeOpts));return tokenList?tokenList.map(t$7=>t$7?t$7.val:null).join(``):null}static expandFormat(fmt,localeOpts={}){let expanded=expandMacroTokens(Formatter.parseFormat(fmt),Locale.fromObject(localeOpts));return expanded.map(t$7=>t$7.val).join(``)}static resetCache(){zoneOffsetTs=void 0,zoneOffsetGuessCache.clear()}get(unit){return this[unit]}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?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?possiblyCachedLocalWeekData(this).weekday:NaN}get localWeekNumber(){return this.isValid?possiblyCachedLocalWeekData(this).weekNumber:NaN}get localWeekYear(){return this.isValid?possiblyCachedLocalWeekData(this).weekYear:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months(`short`,{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months(`long`,{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays(`short`,{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays(`long`,{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:`short`,locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:`long`,locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let dayMs=864e5,minuteMs=6e4,localTS=objToLocalTS(this.c),oEarlier=this.zone.offset(localTS-dayMs),oLater=this.zone.offset(localTS+dayMs),o1=this.zone.offset(localTS-oEarlier*minuteMs),o2=this.zone.offset(localTS-oLater*minuteMs);if(o1===o2)return[this];let ts1=localTS-o1*minuteMs,ts2=localTS-o2*minuteMs,c1=tsToObj(ts1,o1),c2=tsToObj(ts2,o2);return c1.hour===c2.hour&&c1.minute===c2.minute&&c1.second===c2.second&&c1.millisecond===c2.millisecond?[clone(this,{ts:ts1}),clone(this,{ts:ts2})]:[this]}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?weeksInWeekYear(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(opts={}){let{locale,numberingSystem,calendar}=Formatter.create(this.loc.clone(opts),opts).resolvedOptions(this);return{locale,numberingSystem,outputCalendar:calendar}}toUTC(offset$2=0,opts={}){return this.setZone(FixedOffsetZone.instance(offset$2),opts)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(zone,{keepLocalTime=!1,keepCalendarTime=!1}={}){if(zone=normalizeZone(zone,Settings.defaultZone),zone.equals(this.zone))return this;if(zone.isValid){let newTS=this.ts;if(keepLocalTime||keepCalendarTime){let offsetGuess=zone.offset(this.ts),asObj=this.toObject();[newTS]=objToTS(asObj,offsetGuess,zone)}return clone(this,{ts:newTS,zone})}else return DateTime.invalid(unsupportedZone(zone))}reconfigure({locale,numberingSystem,outputCalendar}={}){let loc=this.loc.clone({locale,numberingSystem,outputCalendar});return clone(this,{loc})}setLocale(locale){return this.reconfigure({locale})}set(values$3){if(!this.isValid)return this;let normalized=normalizeObject(values$3,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,this.loc),settingWeekStuff=!isUndefined(normalized.weekYear)||!isUndefined(normalized.weekNumber)||!isUndefined(normalized.weekday),containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError(`Can't mix ordinal dates with month/day`);let mixed;settingWeekStuff?mixed=weekToGregorian({...gregorianToWeek(this.c,minDaysInFirstWeek,startOfWeek),...normalized},minDaysInFirstWeek,startOfWeek):isUndefined(normalized.ordinal)?(mixed={...this.toObject(),...normalized},isUndefined(normalized.day)&&(mixed.day=Math.min(daysInMonth(mixed.year,mixed.month),mixed.day))):mixed=ordinalToGregorian({...gregorianToOrdinal(this.c),...normalized});let[ts,o$2]=objToTS(mixed,this.o,this.zone);return clone(this,{ts,o:o$2})}plus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1);return clone(this,adjustTime(this,dur))}minus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1).negate();return clone(this,adjustTime(this,dur))}startOf(unit,{useLocaleWeeks=!1}={}){if(!this.isValid)return this;let o$2={},normalizedUnit=Duration.normalizeUnit(unit);switch(normalizedUnit){case`years`:o$2.month=1;case`quarters`:case`months`:o$2.day=1;case`weeks`:case`days`:o$2.hour=0;case`hours`:o$2.minute=0;case`minutes`:o$2.second=0;case`seconds`:o$2.millisecond=0;break}if(normalizedUnit===`weeks`)if(useLocaleWeeks){let startOfWeek=this.loc.getStartOfWeek(),{weekday}=this;weekday<startOfWeek&&(o$2.weekNumber=this.weekNumber-1),o$2.weekday=startOfWeek}else o$2.weekday=1;if(normalizedUnit===`quarters`){let q=Math.ceil(this.month/3);o$2.month=(q-1)*3+1}return this.set(o$2)}endOf(unit,opts){return this.isValid?this.plus({[unit]:1}).startOf(unit,opts).minus(1):this}toFormat(fmt,opts={}){return this.isValid?Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this,fmt):INVALID}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),formatOpts).formatDateTime(this):INVALID}toLocaleParts(opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),opts).formatDateTimeParts(this):[]}toISO({format=`extended`,suppressSeconds=!1,suppressMilliseconds=!1,includeOffset=!0,extendedZone=!1,precision=`milliseconds`}={}){if(!this.isValid)return null;precision=normalizeUnit(precision);let ext=format===`extended`,c$1=toISODate(this,ext,precision);return orderedUnits.indexOf(precision)>=3&&(c$1+=`T`),c$1+=toISOTime(this,ext,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision),c$1}toISODate({format=`extended`,precision=`day`}={}){return this.isValid?toISODate(this,format===`extended`,normalizeUnit(precision)):null}toISOWeekDate(){return toTechFormat(this,`kkkk-'W'WW-c`)}toISOTime({suppressMilliseconds=!1,suppressSeconds=!1,includeOffset=!0,includePrefix=!1,extendedZone=!1,format=`extended`,precision=`milliseconds`}={}){if(!this.isValid)return null;precision=normalizeUnit(precision);let c$1=includePrefix&&orderedUnits.indexOf(precision)>=3?`T`:``;return c$1+toISOTime(this,format===`extended`,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision)}toRFC2822(){return toTechFormat(this,`EEE, dd LLL yyyy HH:mm:ss ZZZ`,!1)}toHTTP(){return toTechFormat(this.toUTC(),`EEE, dd LLL yyyy HH:mm:ss 'GMT'`)}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset=!0,includeZone=!1,includeOffsetSpace=!0}={}){let fmt=`HH:mm:ss.SSS`;return(includeZone||includeOffset)&&(includeOffsetSpace&&(fmt+=` `),includeZone?fmt+=`z`:includeOffset&&(fmt+=`ZZ`)),toTechFormat(this,fmt,!0)}toSQL(opts={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(opts)}`:null}toString(){return this.isValid?this.toISO():INVALID}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(opts={}){if(!this.isValid)return{};let base$3={...this.c};return opts.includeConfig&&(base$3.outputCalendar=this.outputCalendar,base$3.numberingSystem=this.loc.numberingSystem,base$3.locale=this.loc.locale),base$3}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(otherDateTime,unit=`milliseconds`,opts={}){if(!this.isValid||!otherDateTime.isValid)return Duration.invalid(`created by diffing an invalid DateTime`);let durOpts={locale:this.locale,numberingSystem:this.numberingSystem,...opts},units=maybeArray(unit).map(Duration.normalizeUnit),otherIsLater=otherDateTime.valueOf()>this.valueOf(),earlier=otherIsLater?this:otherDateTime,later=otherIsLater?otherDateTime:this,diffed=diff$2(earlier,later,units,durOpts);return otherIsLater?diffed.negate():diffed}diffNow(unit=`milliseconds`,opts={}){return this.diff(DateTime.now(),unit,opts)}until(otherDateTime){return this.isValid?Interval.fromDateTimes(this,otherDateTime):this}hasSame(otherDateTime,unit,opts){if(!this.isValid)return!1;let inputMs=otherDateTime.valueOf(),adjustedToZone=this.setZone(otherDateTime.zone,{keepLocalTime:!0});return adjustedToZone.startOf(unit,opts)<=inputMs&&inputMs<=adjustedToZone.endOf(unit,opts)}equals(other){return this.isValid&&other.isValid&&this.valueOf()===other.valueOf()&&this.zone.equals(other.zone)&&this.loc.equals(other.loc)}toRelative(options={}){if(!this.isValid)return null;let base$3=options.base||DateTime.fromObject({},{zone:this.zone}),padding=options.padding?this<base$3?-options.padding:options.padding:0,units=[`years`,`months`,`days`,`hours`,`minutes`,`seconds`],unit=options.unit;return Array.isArray(options.unit)&&(units=options.unit,unit=void 0),diffRelative(base$3,this.plus(padding),{...options,numeric:`always`,units,unit})}toRelativeCalendar(options={}){return this.isValid?diffRelative(options.base||DateTime.fromObject({},{zone:this.zone}),this,{...options,numeric:`auto`,units:[`years`,`months`,`days`],calendary:!0}):null}static min(...dateTimes){if(!dateTimes.every(DateTime.isDateTime))throw new InvalidArgumentError(`min requires all arguments be DateTimes`);return bestBy(dateTimes,i$4=>i$4.valueOf(),Math.min)}static max(...dateTimes){if(!dateTimes.every(DateTime.isDateTime))throw new InvalidArgumentError(`max requires all arguments be DateTimes`);return bestBy(dateTimes,i$4=>i$4.valueOf(),Math.max)}static fromFormatExplain(text,fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return explainFromTokens(localeToUse,text,fmt)}static fromStringExplain(text,fmt,options={}){return DateTime.fromFormatExplain(text,fmt,options)}static buildFormatParser(fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return new TokenParser(localeToUse,fmt)}static fromFormatParser(text,formatParser,opts={}){if(isUndefined(text)||isUndefined(formatParser))throw new InvalidArgumentError(`fromFormatParser requires an input string and a format parser`);let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});if(!localeToUse.equals(formatParser.locale))throw new InvalidArgumentError(`fromFormatParser called with a locale of ${localeToUse}, but the format parser was created for ${formatParser.locale}`);let{result,zone,specificOffset,invalidReason}=formatParser.explainFromTokens(text);return invalidReason?DateTime.invalid(invalidReason):parseDataToDateTime(result,zone,opts,`format ${formatParser.format}`,text,specificOffset)}static get DATE_SHORT(){return DATE_SHORT}static get DATE_MED(){return DATE_MED}static get DATE_MED_WITH_WEEKDAY(){return DATE_MED_WITH_WEEKDAY}static get DATE_FULL(){return DATE_FULL}static get DATE_HUGE(){return DATE_HUGE}static get TIME_SIMPLE(){return TIME_SIMPLE}static get TIME_WITH_SECONDS(){return TIME_WITH_SECONDS}static get TIME_WITH_SHORT_OFFSET(){return TIME_WITH_SHORT_OFFSET}static get TIME_WITH_LONG_OFFSET(){return TIME_WITH_LONG_OFFSET}static get TIME_24_SIMPLE(){return TIME_24_SIMPLE}static get TIME_24_WITH_SECONDS(){return TIME_24_WITH_SECONDS}static get TIME_24_WITH_SHORT_OFFSET(){return TIME_24_WITH_SHORT_OFFSET}static get TIME_24_WITH_LONG_OFFSET(){return TIME_24_WITH_LONG_OFFSET}static get DATETIME_SHORT(){return DATETIME_SHORT}static get DATETIME_SHORT_WITH_SECONDS(){return DATETIME_SHORT_WITH_SECONDS}static get DATETIME_MED(){return DATETIME_MED}static get DATETIME_MED_WITH_SECONDS(){return DATETIME_MED_WITH_SECONDS}static get DATETIME_MED_WITH_WEEKDAY(){return DATETIME_MED_WITH_WEEKDAY}static get DATETIME_FULL(){return DATETIME_FULL}static get DATETIME_FULL_WITH_SECONDS(){return DATETIME_FULL_WITH_SECONDS}static get DATETIME_HUGE(){return DATETIME_HUGE}static get DATETIME_HUGE_WITH_SECONDS(){return DATETIME_HUGE_WITH_SECONDS}};function friendlyDateTime(dateTimeish){if(DateTime.isDateTime(dateTimeish))return dateTimeish;if(dateTimeish&&dateTimeish.valueOf&&isNumber(dateTimeish.valueOf()))return DateTime.fromJSDate(dateTimeish);if(dateTimeish&&typeof dateTimeish==`object`)return DateTime.fromObject(dateTimeish);throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`)}var require_dayjs_min=__commonJSMin((exports,module)=>{(function(t$7,e$2){typeof exports==`object`&&module!==void 0?module.exports=e$2():typeof define==`function`&&define.amd?define(e$2):(t$7=typeof globalThis<`u`?globalThis:t$7||self).dayjs=e$2()})(exports,function(){"use strict";var t$7=1e3,e$2=6e4,n$4=36e5,r$2=`millisecond`,i$4=`second`,s$6=`minute`,u=`hour`,a$2=`day`,o$2=`week`,c$1=`month`,f$3=`quarter`,h$1=`year`,d$1=`date`,l$4=`Invalid Date`,$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y$1=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M$1={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(t$8){var e$3=[`th`,`st`,`nd`,`rd`],n$5=t$8%100;return`[`+t$8+(e$3[(n$5-20)%10]||e$3[n$5]||e$3[0])+`]`}},m$3=function(t$8,e$3,n$5){var r$3=String(t$8);return!r$3||r$3.length>=e$3?t$8:``+Array(e$3+1-r$3.length).join(n$5)+t$8},v$1={s:m$3,z:function(t$8){var e$3=-t$8.utcOffset(),n$5=Math.abs(e$3),r$3=Math.floor(n$5/60),i$5=n$5%60;return(e$3<=0?`+`:`-`)+m$3(r$3,2,`0`)+`:`+m$3(i$5,2,`0`)},m:function t$8(e$3,n$5){if(e$3.date()<n$5.date())return-t$8(n$5,e$3);var r$3=12*(n$5.year()-e$3.year())+(n$5.month()-e$3.month()),i$5=e$3.clone().add(r$3,c$1),s$7=n$5-i$5<0,u$1=e$3.clone().add(r$3+(s$7?-1:1),c$1);return+(-(r$3+(n$5-i$5)/(s$7?i$5-u$1:u$1-i$5))||0)},a:function(t$8){return t$8<0?Math.ceil(t$8)||0:Math.floor(t$8)},p:function(t$8){return{M:c$1,y:h$1,w:o$2,d:a$2,D:d$1,h:u,m:s$6,s:i$4,ms:r$2,Q:f$3}[t$8]||String(t$8||``).toLowerCase().replace(/s$/,``)},u:function(t$8){return t$8===void 0}},g$2=`en`,D={};D[g$2]=M$1;var p$1=`$isDayjsObject`,S=function(t$8){return t$8 instanceof _||!(!t$8||!t$8[p$1])},w$1=function t$8(e$3,n$5,r$3){var i$5;if(!e$3)return g$2;if(typeof e$3==`string`){var s$7=e$3.toLowerCase();D[s$7]&&(i$5=s$7),n$5&&(D[s$7]=n$5,i$5=s$7);var u$1=e$3.split(`-`);if(!i$5&&u$1.length>1)return t$8(u$1[0])}else{var a$3=e$3.name;D[a$3]=e$3,i$5=a$3}return!r$3&&i$5&&(g$2=i$5),i$5||!r$3&&g$2},O=function(t$8,e$3){if(S(t$8))return t$8.clone();var n$5=typeof e$3==`object`?e$3:{};return n$5.date=t$8,n$5.args=arguments,new _(n$5)},b=v$1;b.l=w$1,b.i=S,b.w=function(t$8,e$3){return O(t$8,{locale:e$3.$L,utc:e$3.$u,x:e$3.$x,$offset:e$3.$offset})};var _=function(){function M$2(t$8){this.$L=w$1(t$8.locale,null,!0),this.parse(t$8),this.$x=this.$x||t$8.x||{},this[p$1]=!0}var m$4=M$2.prototype;return m$4.parse=function(t$8){this.$d=function(t$9){var e$3=t$9.date,n$5=t$9.utc;if(e$3===null)return new Date(NaN);if(b.u(e$3))return new Date;if(e$3 instanceof Date)return new Date(e$3);if(typeof e$3==`string`&&!/Z$/i.test(e$3)){var r$3=e$3.match($);if(r$3){var i$5=r$3[2]-1||0,s$7=(r$3[7]||`0`).substring(0,3);return n$5?new Date(Date.UTC(r$3[1],i$5,r$3[3]||1,r$3[4]||0,r$3[5]||0,r$3[6]||0,s$7)):new Date(r$3[1],i$5,r$3[3]||1,r$3[4]||0,r$3[5]||0,r$3[6]||0,s$7)}}return new Date(e$3)}(t$8),this.init()},m$4.init=function(){var t$8=this.$d;this.$y=t$8.getFullYear(),this.$M=t$8.getMonth(),this.$D=t$8.getDate(),this.$W=t$8.getDay(),this.$H=t$8.getHours(),this.$m=t$8.getMinutes(),this.$s=t$8.getSeconds(),this.$ms=t$8.getMilliseconds()},m$4.$utils=function(){return b},m$4.isValid=function(){return this.$d.toString()!==l$4},m$4.isSame=function(t$8,e$3){var n$5=O(t$8);return this.startOf(e$3)<=n$5&&n$5<=this.endOf(e$3)},m$4.isAfter=function(t$8,e$3){return O(t$8)<this.startOf(e$3)},m$4.isBefore=function(t$8,e$3){return this.endOf(e$3)<O(t$8)},m$4.$g=function(t$8,e$3,n$5){return b.u(t$8)?this[e$3]:this.set(n$5,t$8)},m$4.unix=function(){return Math.floor(this.valueOf()/1e3)},m$4.valueOf=function(){return this.$d.getTime()},m$4.startOf=function(t$8,e$3){var n$5=this,r$3=!!b.u(e$3)||e$3,f$4=b.p(t$8),l$5=function(t$9,e$4){var i$5=b.w(n$5.$u?Date.UTC(n$5.$y,e$4,t$9):new Date(n$5.$y,e$4,t$9),n$5);return r$3?i$5:i$5.endOf(a$2)},$$1=function(t$9,e$4){return b.w(n$5.toDate()[t$9].apply(n$5.toDate(`s`),(r$3?[0,0,0,0]:[23,59,59,999]).slice(e$4)),n$5)},y$2=this.$W,M$3=this.$M,m$5=this.$D,v$2=`set`+(this.$u?`UTC`:``);switch(f$4){case h$1:return r$3?l$5(1,0):l$5(31,11);case c$1:return r$3?l$5(1,M$3):l$5(0,M$3+1);case o$2:var g$3=this.$locale().weekStart||0,D$1=(y$2<g$3?y$2+7:y$2)-g$3;return l$5(r$3?m$5-D$1:m$5+(6-D$1),M$3);case a$2:case d$1:return $$1(v$2+`Hours`,0);case u:return $$1(v$2+`Minutes`,1);case s$6:return $$1(v$2+`Seconds`,2);case i$4:return $$1(v$2+`Milliseconds`,3);default:return this.clone()}},m$4.endOf=function(t$8){return this.startOf(t$8,!1)},m$4.$set=function(t$8,e$3){var n$5,o$3=b.p(t$8),f$4=`set`+(this.$u?`UTC`:``),l$5=(n$5={},n$5[a$2]=f$4+`Date`,n$5[d$1]=f$4+`Date`,n$5[c$1]=f$4+`Month`,n$5[h$1]=f$4+`FullYear`,n$5[u]=f$4+`Hours`,n$5[s$6]=f$4+`Minutes`,n$5[i$4]=f$4+`Seconds`,n$5[r$2]=f$4+`Milliseconds`,n$5)[o$3],$$1=o$3===a$2?this.$D+(e$3-this.$W):e$3;if(o$3===c$1||o$3===h$1){var y$2=this.clone().set(d$1,1);y$2.$d[l$5]($$1),y$2.init(),this.$d=y$2.set(d$1,Math.min(this.$D,y$2.daysInMonth())).$d}else l$5&&this.$d[l$5]($$1);return this.init(),this},m$4.set=function(t$8,e$3){return this.clone().$set(t$8,e$3)},m$4.get=function(t$8){return this[b.p(t$8)]()},m$4.add=function(r$3,f$4){var d$2,l$5=this;r$3=Number(r$3);var $$1=b.p(f$4),y$2=function(t$8){var e$3=O(l$5);return b.w(e$3.date(e$3.date()+Math.round(t$8*r$3)),l$5)};if($$1===c$1)return this.set(c$1,this.$M+r$3);if($$1===h$1)return this.set(h$1,this.$y+r$3);if($$1===a$2)return y$2(1);if($$1===o$2)return y$2(7);var M$3=(d$2={},d$2[s$6]=e$2,d$2[u]=n$4,d$2[i$4]=t$7,d$2)[$$1]||1,m$5=this.$d.getTime()+r$3*M$3;return b.w(m$5,this)},m$4.subtract=function(t$8,e$3){return this.add(-1*t$8,e$3)},m$4.format=function(t$8){var e$3=this,n$5=this.$locale();if(!this.isValid())return n$5.invalidDate||l$4;var r$3=t$8||`YYYY-MM-DDTHH:mm:ssZ`,i$5=b.z(this),s$7=this.$H,u$1=this.$m,a$3=this.$M,o$3=n$5.weekdays,c$2=n$5.months,f$4=n$5.meridiem,h$2=function(t$9,n$6,i$6,s$8){return t$9&&(t$9[n$6]||t$9(e$3,r$3))||i$6[n$6].slice(0,s$8)},d$2=function(t$9){return b.s(s$7%12||12,t$9,`0`)},$$1=f$4||function(t$9,e$4,n$6){var r$4=t$9<12?`AM`:`PM`;return n$6?r$4.toLowerCase():r$4};return r$3.replace(y$1,function(t$9,r$4){return r$4||function(t$10){switch(t$10){case`YY`:return String(e$3.$y).slice(-2);case`YYYY`:return b.s(e$3.$y,4,`0`);case`M`:return a$3+1;case`MM`:return b.s(a$3+1,2,`0`);case`MMM`:return h$2(n$5.monthsShort,a$3,c$2,3);case`MMMM`:return h$2(c$2,a$3);case`D`:return e$3.$D;case`DD`:return b.s(e$3.$D,2,`0`);case`d`:return String(e$3.$W);case`dd`:return h$2(n$5.weekdaysMin,e$3.$W,o$3,2);case`ddd`:return h$2(n$5.weekdaysShort,e$3.$W,o$3,3);case`dddd`:return o$3[e$3.$W];case`H`:return String(s$7);case`HH`:return b.s(s$7,2,`0`);case`h`:return d$2(1);case`hh`:return d$2(2);case`a`:return $$1(s$7,u$1,!0);case`A`:return $$1(s$7,u$1,!1);case`m`:return String(u$1);case`mm`:return b.s(u$1,2,`0`);case`s`:return String(e$3.$s);case`ss`:return b.s(e$3.$s,2,`0`);case`SSS`:return b.s(e$3.$ms,3,`0`);case`Z`:return i$5}return null}(t$9)||i$5.replace(`:`,``)})},m$4.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m$4.diff=function(r$3,d$2,l$5){var $$1,y$2=this,M$3=b.p(d$2),m$5=O(r$3),v$2=(m$5.utcOffset()-this.utcOffset())*e$2,g$3=this-m$5,D$1=function(){return b.m(y$2,m$5)};switch(M$3){case h$1:$$1=D$1()/12;break;case c$1:$$1=D$1();break;case f$3:$$1=D$1()/3;break;case o$2:$$1=(g$3-v$2)/6048e5;break;case a$2:$$1=(g$3-v$2)/864e5;break;case u:$$1=g$3/n$4;break;case s$6:$$1=g$3/e$2;break;case i$4:$$1=g$3/t$7;break;default:$$1=g$3}return l$5?$$1:b.a($$1)},m$4.daysInMonth=function(){return this.endOf(c$1).$D},m$4.$locale=function(){return D[this.$L]},m$4.locale=function(t$8,e$3){if(!t$8)return this.$L;var n$5=this.clone(),r$3=w$1(t$8,e$3,!0);return r$3&&(n$5.$L=r$3),n$5},m$4.clone=function(){return b.w(this.$d,this)},m$4.toDate=function(){return new Date(this.valueOf())},m$4.toJSON=function(){return this.isValid()?this.toISOString():null},m$4.toISOString=function(){return this.$d.toISOString()},m$4.toString=function(){return this.$d.toUTCString()},M$2}(),k=_.prototype;return O.prototype=k,[[`$ms`,r$2],[`$s`,i$4],[`$m`,s$6],[`$H`,u],[`$W`,a$2],[`$M`,c$1],[`$y`,h$1],[`$D`,d$1]].forEach(function(t$8){k[t$8[1]]=function(e$3){return this.$g(e$3,t$8[0],t$8[1])}}),O.extend=function(t$8,e$3){return t$8.$i||(t$8(e$3,_,O),t$8.$i=!0),O},O.locale=w$1,O.isDayjs=S,O.unix=function(t$8){return O(1e3*t$8)},O.en=D[g$2],O.Ls=D,O.p={},O})});const isInstanceOf=(value,type,ctor)=>{if(ctor!==void 0&&value instanceof ctor||ctor!==void 0&&typeof ctor[Symbol.hasInstance]==`function`&&ctor[Symbol.hasInstance](value))return!0;if(typeof value==`object`&&value){let valueWithConstructor=value,constructorName=valueWithConstructor.constructor?.name;return constructorName===type}return!1},isLuxonDateTime=value=>value instanceof DateTime?!0:typeof value!=`object`||!value||!(`isLuxonDateTime`in value)?!1:value.isLuxonDateTime===!0,isPlainObject=value=>typeof value==`object`&&!!value&&!Array.isArray(value),isDateObjectUnits=value=>{if(!isPlainObject(value))return!1;let keys$10=Object.keys(value);if(keys$10.length===0)return!1;let valids=[`year`,`month`,`day`,`ordinal`,`weekYear`,`localWeekYear`,`weekNumber`,`localWeekNumber`,`weekday`,`localWeekday`,`hour`,`minute`,`second`,`millisecond`],invalidKeys=keys$10.filter(key=>!valids.includes(key));return invalidKeys.length>0?!1:keys$10.every(key=>{let val=value[key];return typeof val==`number`||val===void 0})};var import_dayjs_min=__toESM(require_dayjs_min());Settings.defaultZone=`utc`,Settings.defaultLocale=`en`,Settings.defaultWeekSettings={firstDay:7,minimalDays:4,weekend:[6,7]},Settings.throwOnInvalid=!1;const removeComments=str=>(str=str.replace(/\/\/.*$/gm,``),str=str.replace(/\/\*[\s\S]*?\*\//g,``),str),extractFunctionBody=fn$1=>{let fnString=fn$1.toString();if(fnString.includes(`[native code]`))throw Error(`Cannot extract body from native function`);let cleanedString=removeComments(fnString),arrowMatch=cleanedString.match(/^\s*(?:async\s+)?(?:\([^)]*\)|[^=]+)\s*=>\s*(.+)$/s);if(arrowMatch&&!arrowMatch[1].trim().startsWith(`{`)){let expression$2=arrowMatch[1].trim().replace(/;?\s*$/,``);if(expression$2.startsWith(`(`)&&expression$2.endsWith(`)`)){let unwrapped=expression$2.slice(1,-1).trim();if(unwrapped.startsWith(`{`)&&unwrapped.endsWith(`}`))return`return ${unwrapped}`}return`return ${expression$2}`}let braceCount=0,inString=!1,stringChar=``,inTemplate=!1,escaped=!1,firstBrace=-1,lastBrace=-1;for(let[i$4,char]of Array.from(cleanedString).entries()){if(escaped){escaped=!1;continue}if(char===`\\`){escaped=!0;continue}if(!inString&&!inTemplate){if(char===`"`||char===`'`){inString=!0,stringChar=char;continue}if(char==="`"){inTemplate=!0;continue}}else if(inString&&char===stringChar){inString=!1;continue}else if(inTemplate&&char==="`"){inTemplate=!1;continue}if(!inString&&!inTemplate){if(char===`{`)firstBrace===-1&&(firstBrace=i$4),braceCount++;else if(char===`}`&&(braceCount--,braceCount===0&&firstBrace!==-1)){lastBrace=i$4;break}}}if(firstBrace===-1||lastBrace===-1||firstBrace>=lastBrace)throw Error(`Unable to extract function body - no valid braces found`);let body=cleanedString.slice(firstBrace+1,lastBrace).trim();if(/\breturn\b/.test(body))return body;let beforeBrace=cleanedString.slice(0,firstBrace).trim();if(beforeBrace.endsWith(`=>`)||beforeBrace.endsWith(`=> (`)||beforeBrace.endsWith(`=>(`)){let objectLiteralPattern=/^\s*(?:[a-zA-Z_$][\w$]*\s*:|["'`][^"'`]+["'`]\s*:|get\s+|set\s+|\[)/;if(objectLiteralPattern.test(body))return`return {${body}}`}return`return ${body}`},compileCallback=body=>{try{return Function(`dt`,`helpers`,body)}catch(error){throw Error(`Failed to compile callback: ${error instanceof Error?error.message:String(error)}`)}},messages$2={"datetime.base":`{{#label}} must be a datetime value`,"datetime.exactly":`{{#label}} must be a datetime exactly equal to {{#limit}}`,"datetime.equals":`{{#label}} must be a datetime equal to {{#limit}}`,"datetime.after":`{{#label}} must be a datetime after {{#limit}}`,"datetime.greater":`{{#label}} must be a datetime after {{#limit}}`,"datetime.before":`{{#label}} must be a datetime before {{#limit}}`,"datetime.less":`{{#label}} must be a datetime before {{#limit}}`,"datetime.afterOrEqual":`{{#label}} must be a datetime after or equal to {{#limit}}`,"datetime.min":`{{#label}} must be a datetime after or equal to {{#limit}}`,"datetime.beforeOrEqual":`{{#label}} must be a datetime before or equal to {{#limit}}`,"datetime.max":`{{#label}} must be a datetime before or equal to {{#limit}}`,"datetime.weekend":`{{#label}} is not a weekend`,"datetime.weekday":`{{#label}} is not a weekday`},compare$12=(value,limit,operator$1)=>{switch(value=toDateTime(value),limit=toDateTime(limit),operator$1){case`===`:return value.equals(limit);case`=`:return value.hasSame(limit,`millisecond`);case`>`:return value>limit;case`<`:return value<limit;case`>=`:return value>=limit;case`<=`:return value<=limit;default:return!1}},backToDateTime=value=>value instanceof DateTime?value:DateTime.fromObject(value.c,{zone:value.zone}).setLocale(value.loc.locale),toDateTime=(value,format)=>{if(isLuxonDateTime(value))return value instanceof DateTime?value:backToDateTime(value);if(isInstanceOf(value,`Date`,Date))return DateTime.fromJSDate(value);if(isInstanceOf(value,`Dayjs`)||import_dayjs_min.default.isDayjs(value))return DateTime.fromJSDate(value.toDate());if(isDateObjectUnits(value))return DateTime.fromObject(value,{zone:`utc`});if(typeof value==`number`){let day=(0,import_dayjs_min.default)(value);if(day.isValid())return DateTime.fromJSDate(day.toDate(),{zone:`utc`})}if(typeof value==`string`){if(format){let dateTime=DateTime.fromFormat(value,format,{zone:`utc`});if(dateTime.isValid)return dateTime}let isoDateTime=DateTime.fromISO(value,{setZone:!0});if(isoDateTime.isValid)return isoDateTime;let luxonMethods=[DateTime.fromRFC2822,DateTime.fromHTTP,DateTime.fromSQL];for(let method$1 of luxonMethods){let dateTime=method$1(value,{zone:`utc`});if(dateTime.isValid)return dateTime}let day=(0,import_dayjs_min.default)(value);if(day.isValid())return DateTime.fromJSDate(day.toDate(),{zone:`utc`})}return!1},coerce$2=(value,helpers$8)=>{let isEmpty$13=value==null,isRequired=helpers$8.schema._flags.presence===`required`;if(isEmpty$13&&!isRequired)return{value:null};if(isEmpty$13&&isRequired)return{value,errors:[helpers$8.error(`any.required`,{label:helpers$8.schema._flags.label})]};let converted=toDateTime(value);if(converted){let{schema:schema$2,prefs}=helpers$8;if(prefs.convert){let returnable=converted;if(schema$2._flags.setZone&&Array.isArray(schema$2._flags.setZone))if(Array.isArray(schema$2._flags.setZone[0]))Array.from(schema$2._flags.setZone).forEach(f$3=>{if(!f$3)return;let[zone,opts]=Array.from(f$3);switch(zone){case`utc`:case`UTC`:returnable=returnable.toUTC();break;case`local`:returnable=returnable.toLocal();break;default:returnable=returnable.setZone(zone,opts);break}});else{let[zone,opts]=Array.from(schema$2._flags.setZone);switch(zone){case`utc`:case`UTC`:returnable=returnable.toUTC();break;case`local`:returnable=returnable.toLocal();break;default:returnable=returnable.setZone(zone,opts);break}}if(schema$2._flags.setLocale&&(returnable=returnable.setLocale(schema$2._flags.setLocale)),schema$2._flags.toFormat){if(Array.isArray(schema$2._flags.toFormat)){let fmt=Array.from(schema$2._flags.toFormat),method$1=fmt.shift(),processedArgs=fmt.map(arg=>{if(typeof arg==`string`&&arg.includes(`return`)){let compiledFn=compileCallback(arg);return compiledFn(returnable,helpers$8)}return arg});returnable=returnable[method$1](...processedArgs)}else if(typeof schema$2._flags.toFormat==`string`)if(schema$2._flags.toFormat.includes(`return`)){let compiledFn=compileCallback(schema$2._flags.toFormat),result=compiledFn(returnable,helpers$8);returnable=returnable.toFormat(result)}else returnable=returnable.toFormat(schema$2._flags.toFormat)}return{value:returnable}}return{value:converted}}return{value,errors:[helpers$8.error(`datetime.base`,{value:String(value)})]}},datetime=function(joi){return{type:`datetime`,base:joi.any(),coerce:{from:[`string`,`number`,`date`,`object`],method:coerce$2},rules:{compare:{method:!1,validate(value,helpers$8,{limit},{name:name$2,operator:operator$1}){let src$1=toDateTime(value),threshold=toDateTime(limit);if(!src$1||!threshold)return helpers$8.error(`datetime.base`,{value:isLuxonDateTime(value)?value.toLocaleString(DateTime.DATETIME_MED):String(value)});let valid$2=compare$12(src$1,threshold,operator$1);return valid$2?value:helpers$8.error(`datetime.`+name$2,{limit:threshold.toLocaleString(DateTime.DATETIME_MED),value:src$1.toLocaleString(DateTime.DATETIME_MED)})},args:[{name:`limit`,ref:!0,assert:value=>isLuxonDateTime(toDateTime(value)),message:`must be a datetime`}]},exactly:{method(limit){return this.$_addRule({name:`exactly`,method:`compare`,args:{limit},operator:`===`})}},equals:{method(limit){return this.$_addRule({name:`equals`,method:`compare`,args:{limit},operator:`=`})}},after:{method(limit){return this.$_addRule({name:`after`,method:`compare`,args:{limit},operator:`>`})}},greater:{method(limit){return this.$_addRule({name:`greater`,method:`compare`,args:{limit},operator:`>`})}},before:{method(limit){return this.$_addRule({name:`before`,method:`compare`,args:{limit},operator:`<`})}},less:{method(limit){return this.$_addRule({name:`less`,method:`compare`,args:{limit},operator:`<`})}},afterOrEqual:{method(limit){return this.$_addRule({name:`afterOrEqual`,method:`compare`,args:{limit},operator:`>=`})}},min:{method(limit){return this.$_addRule({name:`min`,method:`compare`,args:{limit},operator:`>=`})}},beforeOrEqual:{method(limit){return this.$_addRule({name:`beforeOrEqual`,method:`compare`,args:{limit},operator:`<=`})}},max:{method(limit){return this.$_addRule({name:`max`,method:`compare`,args:{limit},operator:`<=`})}},weekend:{method(){return this.$_addRule({name:`weekend`})},validate(value,helpers$8){let confirmable=toDateTime(value);return confirmable.isWeekend?value:helpers$8.error(`datetime.weekend`,{value:confirmable.toLocaleString(DateTime.DATE_MED)})}},weekday:{method(){return this.$_addRule({name:`weekday`})},validate(value,helpers$8){let confirmable=toDateTime(value);return confirmable.isWeekend?helpers$8.error(`datetime.weekday`,{value:confirmable.toLocaleString(DateTime.DATE_MED)}):value}},toUTC:{method(){return this.$_setFlag(`setZone`,[`utc`])}},toLocal:{method(){return this.$_setFlag(`setZone`,[`local`])}},setZone:{method(zone,opts){return this.$_setFlag(`setZone`,[zone,opts])}},toFormat:{method(format){let processedFormat=typeof format==`function`?extractFunctionBody(format):format;return this.$_setFlag(`toFormat`,processedFormat,{clone:!0})}},toLocalizedString:{method(formatOpts){let processedOpts=typeof formatOpts==`function`?extractFunctionBody(formatOpts):formatOpts;return this.$_setFlag(`toFormat`,[`toLocaleString`,processedOpts],{clone:!0})}},toISO:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISO`,processedOpts]:[`toISO`],{clone:!0})}},toISODate:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISODate`,processedOpts]:[`toISODate`],{clone:!0})}},toISOWeekDate:{method(){return this.$_setFlag(`toFormat`,[`toISOWeekDate`],{clone:!0})}},toISOTime:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISOTime`,processedOpts]:[`toISOTime`],{clone:!0})}},toRFC2822:{method(){return this.$_setFlag(`toFormat`,[`toRFC2822`],{clone:!0})}},toHTTP:{method(){return this.$_setFlag(`toFormat`,[`toHTTP`],{clone:!0})}},toSQLDate:{method(){return this.$_setFlag(`toFormat`,[`toSQLDate`],{clone:!0})}},toSQLTime:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toSQLTime`,processedOpts]:[`toSQLTime`],{clone:!0})}},toSQL:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toSQL`,processedOpts]:[`toSQL`],{clone:!0})}},toMillis:{method(){return this.$_setFlag(`toFormat`,[`toMillis`],{clone:!0})}},toSeconds:{method(){return this.$_setFlag(`toFormat`,[`toSeconds`],{clone:!0})}},toUnixInteger:{method(){return this.$_setFlag(`toFormat`,[`toUnixInteger`],{clone:!0})}},toJSON:{method(){return this.$_setFlag(`toFormat`,[`toJSON`],{clone:!0})}},toBSON:{method(){return this.$_setFlag(`toFormat`,[`toBSON`],{clone:!0})}},toObject:{method(opts){let config=typeof opts==`function`?extractFunctionBody(opts):opts?.includeConfig===void 0?{includeConfig:!1}:{includeConfig:opts.includeConfig};return this.$_setFlag(`toFormat`,[`toObject`,config],{clone:!0})}},toJSDate:{method(){return this.$_setFlag(`toFormat`,[`toJSDate`],{clone:!0})}},toRelative:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toRelative`,processedOpts]:[`toRelative`],{clone:!0})}},setLocale:{method(locale){return this.$_setFlag(`setLocale`,locale)}}},messages:messages$2}},generate=(root$11,schema$2,args$1)=>(schema$2.$_root=root$11,!schema$2._definition.args||!args$1.length?schema$2:schema$2._definition.args(schema$2,...args$1)),knownMessages={"alternatives.all":`{{#label}} does not match all of the required types`,"alternatives.any":`{{#label}} does not match any of the allowed types`,"alternatives.match":`{{#label}} does not match any of the allowed types`,"alternatives.one":`{{#label}} matches more than one allowed type`,"alternatives.types":`{{#label}} must be one of {{#types}}`,"any.custom":`{{#label}} failed custom validation because {{#error.message}}`,"any.default":`{{#label}} threw an error when running default method`,"any.failover":`{{#label}} threw an error when running failover method`,"any.invalid":`{{#label}} contains an invalid value`,"any.only":`{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}`,"any.ref":`{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}`,"any.required":`{{#label}} is required`,"any.unknown":`{{#label}} is not allowed`,"array.base":`{{#label}} must be an array`,"array.excludes":`{{#label}} contains an excluded value`,"array.hasKnown":`{{#label}} does not contain at least one required match for type {:#patternLabel}`,"array.hasUnknown":`{{#label}} does not contain at least one required match`,"array.includes":`{{#label}} does not match any of the allowed types`,"array.includesRequiredBoth":`{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)`,"array.includesRequiredKnowns":`{{#label}} does not contain {{#knownMisses}}`,"array.includesRequiredUnknowns":`{{#label}} does not contain {{#unknownMisses}} required value(s)`,"array.length":`{{#label}} must contain {{#limit}} items`,"array.max":`{{#label}} must contain less than or equal to {{#limit}} items`,"array.min":`{{#label}} must contain at least {{#limit}} items`,"array.orderedLength":`{{#label}} must contain at most {{#limit}} items`,"array.sort":`{{#label}} must be sorted in {#order} order by {{#by}}`,"array.sort.mismatching":`{{#label}} cannot be sorted due to mismatching types`,"array.sort.unsupported":`{{#label}} cannot be sorted due to unsupported type {#type}`,"array.sparse":`{{#label}} must not be a sparse array item`,"array.unique":`{{#label}} contains a duplicate value`,"binary.base":`{{#label}} must be a buffer or a string`,"binary.length":`{{#label}} must be {{#limit}} bytes`,"binary.max":`{{#label}} must be less than or equal to {{#limit}} bytes`,"binary.min":`{{#label}} must be at least {{#limit}} bytes`,"boolean.base":`{{#label}} must be a boolean`,"date.base":`{{#label}} must be a valid date`,"date.format":`{{#label}} must be in {msg("date.format." + #format) || #format} format`,"date.greater":`{{#label}} must be greater than {{:#limit}}`,"date.less":`{{#label}} must be less than {{:#limit}}`,"date.max":`{{#label}} must be less than or equal to {{:#limit}}`,"date.min":`{{#label}} must be greater than or equal to {{:#limit}}`,"date.format.iso":`ISO 8601 date`,"date.format.javascript":`timestamp or number of milliseconds`,"date.format.unix":`timestamp or number of seconds`,"function.arity":`{{#label}} must have an arity of {{#n}}`,"function.class":`{{#label}} must be a class`,"function.maxArity":`{{#label}} must have an arity lesser or equal to {{#n}}`,"function.minArity":`{{#label}} must have an arity greater or equal to {{#n}}`,"object.and":`{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}`,"object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":`{{#label}} must be of type {{#type}}`,"object.instance":`{{#label}} must be an instance of {{:#type}}`,"object.length":`{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}`,"object.max":`{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}`,"object.min":`{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}`,"object.missing":`{{#label}} must contain at least one of {{#peersWithLabels}}`,"object.nand":`{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}`,"object.oxor":`{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}`,"object.pattern.match":`{{#label}} keys failed to match pattern requirements`,"object.refType":`{{#label}} must be a Joi reference`,"object.regex":`{{#label}} must be a RegExp object`,"object.rename.multiple":`{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}`,"object.rename.override":`{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists`,"object.schema":`{{#label}} must be a Joi schema of {{#type}} type`,"object.unknown":`{{#label}} is not allowed`,"object.with":`{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}`,"object.without":`{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}`,"object.xor":`{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}`,"number.base":`{{#label}} must be a number`,"number.greater":`{{#label}} must be greater than {{#limit}}`,"number.infinity":`{{#label}} cannot be infinity`,"number.integer":`{{#label}} must be an integer`,"number.less":`{{#label}} must be less than {{#limit}}`,"number.max":`{{#label}} must be less than or equal to {{#limit}}`,"number.min":`{{#label}} must be greater than or equal to {{#limit}}`,"number.multiple":`{{#label}} must be a multiple of {{#multiple}}`,"number.negative":`{{#label}} must be a negative number`,"number.port":`{{#label}} must be a valid port`,"number.positive":`{{#label}} must be a positive number`,"number.precision":`{{#label}} must have no more than {{#limit}} decimal places`,"number.unsafe":`{{#label}} must be a safe number`,"string.alphanum":`{{#label}} must only contain alpha-numeric characters`,"string.base":`{{#label}} must be a string`,"string.base64":`{{#label}} must be a valid base64 string`,"string.creditCard":`{{#label}} must be a credit card`,"string.dataUri":`{{#label}} must be a valid dataUri string`,"string.domain":`{{#label}} must contain a valid domain name`,"string.email":`{{#label}} must be a valid email`,"string.empty":`{{#label}} is not allowed to be empty`,"string.guid":`{{#label}} must be a valid GUID`,"string.hex":`{{#label}} must only contain hexadecimal characters`,"string.hexAlign":`{{#label}} hex decoded representation must be byte aligned`,"string.hostname":`{{#label}} must be a valid hostname`,"string.ip":`{{#label}} must be a valid ip address with a {{#cidr}} CIDR`,"string.ipVersion":`{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR`,"string.isoDate":`{{#label}} must be in iso format`,"string.isoDuration":`{{#label}} must be a valid ISO 8601 duration`,"string.length":`{{#label}} length must be {{#limit}} characters long`,"string.lowercase":`{{#label}} must only contain lowercase characters`,"string.max":`{{#label}} length must be less than or equal to {{#limit}} characters long`,"string.min":`{{#label}} length must be at least {{#limit}} characters long`,"string.normalize":`{{#label}} must be unicode normalized in the {{#form}} form`,"string.token":`{{#label}} must only contain alpha-numeric and underscore characters`,"string.pattern.base":`{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}`,"string.pattern.name":`{{#label}} with value {:[.]} fails to match the {{#name}} pattern`,"string.pattern.invert.base":`{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}`,"string.pattern.invert.name":`{{#label}} with value {:[.]} matches the inverted {{#name}} pattern`,"string.trim":`{{#label}} must not have leading or trailing whitespace`,"string.uri":`{{#label}} must be a valid uri`,"string.uriCustomScheme":`{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern`,"string.uriRelativeOnly":`{{#label}} must be a valid relative uri`,"string.uppercase":`{{#label}} must only contain uppercase characters`,"symbol.base":`{{#label}} must be a symbol`,"symbol.map":`{{#label}} must be one of {{#map}}`,...messages$1,...messages$2,...messages,...knexMessages,...fqdnMessages};countries.forEach((name$2,iso)=>{knownMessages[`country.${iso}`]=name$2});let globalI18nCallback;const i18n=toPatch=>{let root$11=toPatch,joi=Object.assign({},root$11),joiTypes=joi.types(),originalMessages=new Map;Object.entries(knownMessages).forEach(([key,value])=>{originalMessages.set(key,value)});let doUpdateI18n=callback=>{globalI18nCallback=callback;let $t=term=>{if(globalI18nCallback)try{let ret=globalI18nCallback(term);if(typeof ret==`string`)return ret}catch{}return originalMessages.get(term)||term},applyMessagesToSchema=(schema$2,messages$3)=>schema$2.messages({"any.custom":$t(`any.custom`),"any.default":$t(`any.default`),"any.failover":$t(`any.failover`),"any.invalid":$t(`any.invalid`),"any.only":$t(`any.only`),"any.ref":$t(`any.ref`),"any.required":$t(`any.required`),"any.unknown":$t(`any.unknown`),...messages$3});Object.defineProperty(root$11,`$i18n`,{value:term=>$t(term),writable:!1,enumerable:!0,configurable:!0}),Object.keys(joiTypes).forEach(type=>{let t$7=type;if(typeof root$11[t$7]!=`function`)return;let baseSchema=root$11[t$7]();root$11[t$7]=(...args$1)=>{let schema$2=generate(root$11,baseSchema,args$1),knexTranslations=Object.fromEntries(Object.entries(knexMessages).map(([k])=>[k,$t(k)]));switch(type){case`alternatives`:return applyMessagesToSchema(schema$2,{"alternatives.all":$t(`alternatives.all`),"alternatives.any":$t(`alternatives.any`),"alternatives.match":$t(`alternatives.match`),"alternatives.one":$t(`alternatives.one`),"alternatives.types":$t(`alternatives.types`),...knexTranslations});case`any`:return applyMessagesToSchema(schema$2,{"any.custom":$t(`any.custom`),"any.default":$t(`any.default`),"any.failover":$t(`any.failover`),"any.invalid":$t(`any.invalid`),"any.only":$t(`any.only`),"any.ref":$t(`any.ref`),"any.required":$t(`any.required`),"any.unknown":$t(`any.unknown`),...knexTranslations});case`array`:return applyMessagesToSchema(schema$2,{"array.base":$t(`array.base`),"array.excludes":$t(`array.excludes`),"array.hasKnown":$t(`array.hasKnown`),"array.hasUnknown":$t(`array.hasUnknown`),"array.includes":$t(`array.includes`),"array.includesRequiredBoth":$t(`array.includesRequiredBoth`),"array.includesRequiredKnowns":$t(`array.includesRequiredKnowns`),"array.includesRequiredUnknowns":$t(`array.includesRequiredUnknowns`),"array.length":$t(`array.length`),"array.max":$t(`array.max`),"array.min":$t(`array.min`),"array.orderedLength":$t(`array.orderedLength`),"array.sort":$t(`array.sort`),"array.sort.mismatching":$t(`array.sort.mismatching`),"array.sort.unsupported":$t(`array.sort.unsupported`),"array.sparse":$t(`array.sparse`),"array.unique":$t(`array.unique`),...knexTranslations});case`binary`:return applyMessagesToSchema(schema$2,{"binary.base":$t(`binary.base`),"binary.length":$t(`binary.length`),"binary.max":$t(`binary.max`),"binary.min":$t(`binary.min`),...knexTranslations});case`boolean`:return applyMessagesToSchema(schema$2,{"boolean.base":$t(`boolean.base`),...knexTranslations});case`date`:return applyMessagesToSchema(schema$2,{"date.base":$t(`date.base`),"date.format":$t(`date.format`),"date.greater":$t(`date.greater`),"date.less":$t(`date.less`),"date.max":$t(`date.max`),"date.min":$t(`date.min`),"date.format.iso":$t(`date.format.iso`),"date.format.javascript":$t(`date.format.javascript`),"date.format.unix":$t(`date.format.unix`),...knexTranslations});case`function`:return applyMessagesToSchema(schema$2,{"function.arity":$t(`function.arity`),"function.class":$t(`function.class`),"function.maxArity":$t(`function.maxArity`),"function.minArity":$t(`function.minArity`),...knexTranslations});case`object`:case`keys`:return applyMessagesToSchema(schema$2,{"object.and":$t(`object.and`),"object.assert":$t(`object.assert`),"object.base":$t(`object.base`),"object.instance":$t(`object.instance`),"object.length":$t(`object.length`),"object.max":$t(`object.max`),"object.min":$t(`object.min`),"object.missing":$t(`object.missing`),"object.nand":$t(`object.nand`),"object.oxor":$t(`object.oxor`),"object.pattern.match":$t(`object.pattern.match`),"object.refType":$t(`object.refType`),"object.regex":$t(`object.regex`),"object.rename.multiple":$t(`object.rename.multiple`),"object.rename.override":$t(`object.rename.override`),"object.schema":$t(`object.schema`),"object.unknown":$t(`object.unknown`),"object.with":$t(`object.with`),"object.without":$t(`object.without`),"object.xor":$t(`object.xor`),...knexTranslations});case`number`:return applyMessagesToSchema(schema$2,{"number.base":$t(`number.base`),"number.greater":$t(`number.greater`),"number.infinity":$t(`number.infinity`),"number.integer":$t(`number.integer`),"number.less":$t(`number.less`),"number.max":$t(`number.max`),"number.min":$t(`number.min`),"number.multiple":$t(`number.multiple`),"number.negative":$t(`number.negative`),"number.port":$t(`number.port`),"number.positive":$t(`number.positive`),"number.precision":$t(`number.precision`),"number.unsafe":$t(`number.unsafe`),...knexTranslations});case`string`:return applyMessagesToSchema(schema$2,{"string.alphanum":$t(`string.alphanum`),"string.base":$t(`string.base`),"string.base64":$t(`string.base64`),"string.creditCard":$t(`string.creditCard`),"string.dataUri":$t(`string.dataUri`),"string.domain":$t(`string.domain`),"string.email":$t(`string.email`),"string.empty":$t(`string.empty`),"string.guid":$t(`string.guid`),"string.hex":$t(`string.hex`),"string.hexAlign":$t(`string.hexAlign`),"string.hostname":$t(`string.hostname`),"string.ip":$t(`string.ip`),"string.ipVersion":$t(`string.ipVersion`),"string.isoDate":$t(`string.isoDate`),"string.isoDuration":$t(`string.isoDuration`),"string.length":$t(`string.length`),"string.lowercase":$t(`string.lowercase`),"string.max":$t(`string.max`),"string.min":$t(`string.min`),"string.normalize":$t(`string.normalize`),"string.token":$t(`string.token`),"string.pattern.base":$t(`string.pattern.base`),"string.pattern.name":$t(`string.pattern.name`),"string.pattern.invert.base":$t(`string.pattern.invert.base`),"string.pattern.invert.name":$t(`string.pattern.invert.name`),"string.trim":$t(`string.trim`),"string.uri":$t(`string.uri`),"string.uriCustomScheme":$t(`string.uriCustomScheme`),"string.uriRelativeOnly":$t(`string.uriRelativeOnly`),"string.uppercase":$t(`string.uppercase`),...fqdnMessages,...knexTranslations});case`symbol`:return applyMessagesToSchema(schema$2,{"symbol.base":$t(`symbol.base`),"symbol.map":$t(`symbol.map`),...knexTranslations});case`bigint`:return applyMessagesToSchema(schema$2,{"bigint.base":$t(`bigint.base`),"bigint.greater":$t(`bigint.greater`),"bigint.less":$t(`bigint.less`),"bigint.max":$t(`bigint.max`),"bigint.min":$t(`bigint.min`),"bigint.multiple":$t(`bigint.multiple`),"bigint.negative":$t(`bigint.negative`),"bigint.positive":$t(`bigint.positive`),...knexTranslations});case`datetime`:return applyMessagesToSchema(schema$2,{"datetime.base":$t(`datetime.base`),"datetime.exactly":$t(`datetime.exactly`),"datetime.equals":$t(`datetime.equals`),"datetime.after":$t(`datetime.after`),"datetime.greater":$t(`datetime.greater`),"datetime.before":$t(`datetime.before`),"datetime.less":$t(`datetime.less`),"datetime.afterOrEqual":$t(`datetime.afterOrEqual`),"datetime.min":$t(`datetime.min`),"datetime.beforeOrEqual":$t(`datetime.beforeOrEqual`),"datetime.max":$t(`datetime.max`),"datetime.weekend":$t(`datetime.weekend`),"datetime.weekday":$t(`datetime.weekday`),...knexTranslations});case`phone`:return applyMessagesToSchema(schema$2,{"phone.base":$t(`phone.base`),"phone.invalid":$t(`phone.invalid`),"phone.fixedLine":$t(`phone.fixedLine`),"phone.mobile":$t(`phone.mobile`),"phone.strictFixedLine":$t(`phone.strictFixedLine`),"phone.strictMobile":$t(`phone.strictMobile`),"phone.fixedLineOrMobile":$t(`phone.fixedLineOrMobile`),"phone.tollFree":$t(`phone.tollFree`),"phone.premiumRate":$t(`phone.premiumRate`),"phone.sharedCost":$t(`phone.sharedCost`),"phone.voip":$t(`phone.voip`),"phone.personalNumber":$t(`phone.personalNumber`),"phone.pager":$t(`phone.pager`),"phone.uan":$t(`phone.uan`),"phone.voicemail":$t(`phone.voicemail`),"phone.unknown":$t(`phone.unknown`),"phone.types":$t(`phone.types`),...knexTranslations});default:return applyMessagesToSchema(schema$2,{...knexTranslations})}}})};return Object.defineProperty(root$11,`$setI18n`,{value:callback=>(doUpdateI18n(callback),root$11),writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(root$11,`$clearI18n`,{value:()=>(doUpdateI18n(),root$11),writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(root$11,`$i18n`,{value:term=>{try{return originalMessages.get(term)||term}catch{return term}},writable:!1,enumerable:!0,configurable:!0}),root$11},patch=root$11=>(root$11=json(root$11),root$11=i18n(root$11),root$11);var require_constants=__commonJSMin((exports,module)=>{let SEMVER_SPEC_VERSION=`2.0.0`,MAX_LENGTH$2=256,MAX_SAFE_INTEGER$1=2**53-1||9007199254740991,MAX_SAFE_COMPONENT_LENGTH$1=16,MAX_SAFE_BUILD_LENGTH$1=MAX_LENGTH$2-6,RELEASE_TYPES=[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`];module.exports={MAX_LENGTH:MAX_LENGTH$2,MAX_SAFE_COMPONENT_LENGTH:MAX_SAFE_COMPONENT_LENGTH$1,MAX_SAFE_BUILD_LENGTH:MAX_SAFE_BUILD_LENGTH$1,MAX_SAFE_INTEGER:MAX_SAFE_INTEGER$1,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),require_debug=__commonJSMin((exports,module)=>{init_dist$1();let debug$4=typeof process$1==`object`&&process$1.env&&process$1.env.NODE_DEBUG&&/\bsemver\b/i.test(process$1.env.NODE_DEBUG)?(...args$1)=>console.error(`SEMVER`,...args$1):()=>{};module.exports=debug$4}),require_re=__commonJSMin((exports,module)=>{let{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH:MAX_LENGTH$1}=require_constants(),debug$3=require_debug();exports=module.exports={};let re$4=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t$4=exports.t={},R=0,LETTERDASHNUMBER=`[a-zA-Z0-9-]`,safeRegexReplacements=[[`\\s`,1],[`\\d`,MAX_LENGTH$1],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max$3]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max$3}}`).split(`${token}+`).join(`${token}{1,${max$3}}`);return value},createToken=(name$2,value,isGlobal)=>{let safe=makeSafeRegex(value),index$2=R++;debug$3(name$2,index$2,value),t$4[name$2]=index$2,src[index$2]=value,safeSrc[index$2]=safe,re$4[index$2]=new RegExp(value,isGlobal?`g`:void 0),safeRe[index$2]=new RegExp(safe,isGlobal?`g`:void 0)};createToken(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),createToken(`NUMERICIDENTIFIERLOOSE`,`\\d+`),createToken(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`),createToken(`MAINVERSION`,`(${src[t$4.NUMERICIDENTIFIER]})\\.(${src[t$4.NUMERICIDENTIFIER]})\\.(${src[t$4.NUMERICIDENTIFIER]})`),createToken(`MAINVERSIONLOOSE`,`(${src[t$4.NUMERICIDENTIFIERLOOSE]})\\.(${src[t$4.NUMERICIDENTIFIERLOOSE]})\\.(${src[t$4.NUMERICIDENTIFIERLOOSE]})`),createToken(`PRERELEASEIDENTIFIER`,`(?:${src[t$4.NONNUMERICIDENTIFIER]}|${src[t$4.NUMERICIDENTIFIER]})`),createToken(`PRERELEASEIDENTIFIERLOOSE`,`(?:${src[t$4.NONNUMERICIDENTIFIER]}|${src[t$4.NUMERICIDENTIFIERLOOSE]})`),createToken(`PRERELEASE`,`(?:-(${src[t$4.PRERELEASEIDENTIFIER]}(?:\\.${src[t$4.PRERELEASEIDENTIFIER]})*))`),createToken(`PRERELEASELOOSE`,`(?:-?(${src[t$4.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t$4.PRERELEASEIDENTIFIERLOOSE]})*))`),createToken(`BUILDIDENTIFIER`,`${LETTERDASHNUMBER}+`),createToken(`BUILD`,`(?:\\+(${src[t$4.BUILDIDENTIFIER]}(?:\\.${src[t$4.BUILDIDENTIFIER]})*))`),createToken(`FULLPLAIN`,`v?${src[t$4.MAINVERSION]}${src[t$4.PRERELEASE]}?${src[t$4.BUILD]}?`),createToken(`FULL`,`^${src[t$4.FULLPLAIN]}$`),createToken(`LOOSEPLAIN`,`[v=\\s]*${src[t$4.MAINVERSIONLOOSE]}${src[t$4.PRERELEASELOOSE]}?${src[t$4.BUILD]}?`),createToken(`LOOSE`,`^${src[t$4.LOOSEPLAIN]}$`),createToken(`GTLT`,`((?:<|>)?=?)`),createToken(`XRANGEIDENTIFIERLOOSE`,`${src[t$4.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),createToken(`XRANGEIDENTIFIER`,`${src[t$4.NUMERICIDENTIFIER]}|x|X|\\*`),createToken(`XRANGEPLAIN`,`[v=\\s]*(${src[t$4.XRANGEIDENTIFIER]})(?:\\.(${src[t$4.XRANGEIDENTIFIER]})(?:\\.(${src[t$4.XRANGEIDENTIFIER]})(?:${src[t$4.PRERELEASE]})?${src[t$4.BUILD]}?)?)?`),createToken(`XRANGEPLAINLOOSE`,`[v=\\s]*(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:${src[t$4.PRERELEASELOOSE]})?${src[t$4.BUILD]}?)?)?`),createToken(`XRANGE`,`^${src[t$4.GTLT]}\\s*${src[t$4.XRANGEPLAIN]}$`),createToken(`XRANGELOOSE`,`^${src[t$4.GTLT]}\\s*${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`),createToken(`COERCE`,`${src[t$4.COERCEPLAIN]}(?:$|[^\\d])`),createToken(`COERCEFULL`,src[t$4.COERCEPLAIN]+`(?:${src[t$4.PRERELEASE]})?(?:${src[t$4.BUILD]})?(?:$|[^\\d])`),createToken(`COERCERTL`,src[t$4.COERCE],!0),createToken(`COERCERTLFULL`,src[t$4.COERCEFULL],!0),createToken(`LONETILDE`,`(?:~>?)`),createToken(`TILDETRIM`,`(\\s*)${src[t$4.LONETILDE]}\\s+`,!0),exports.tildeTrimReplace=`$1~`,createToken(`TILDE`,`^${src[t$4.LONETILDE]}${src[t$4.XRANGEPLAIN]}$`),createToken(`TILDELOOSE`,`^${src[t$4.LONETILDE]}${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`LONECARET`,`(?:\\^)`),createToken(`CARETTRIM`,`(\\s*)${src[t$4.LONECARET]}\\s+`,!0),exports.caretTrimReplace=`$1^`,createToken(`CARET`,`^${src[t$4.LONECARET]}${src[t$4.XRANGEPLAIN]}$`),createToken(`CARETLOOSE`,`^${src[t$4.LONECARET]}${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`COMPARATORLOOSE`,`^${src[t$4.GTLT]}\\s*(${src[t$4.LOOSEPLAIN]})$|^$`),createToken(`COMPARATOR`,`^${src[t$4.GTLT]}\\s*(${src[t$4.FULLPLAIN]})$|^$`),createToken(`COMPARATORTRIM`,`(\\s*)${src[t$4.GTLT]}\\s*(${src[t$4.LOOSEPLAIN]}|${src[t$4.XRANGEPLAIN]})`,!0),exports.comparatorTrimReplace=`$1$2$3`,createToken(`HYPHENRANGE`,`^\\s*(${src[t$4.XRANGEPLAIN]})\\s+-\\s+(${src[t$4.XRANGEPLAIN]})\\s*$`),createToken(`HYPHENRANGELOOSE`,`^\\s*(${src[t$4.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t$4.XRANGEPLAINLOOSE]})\\s*$`),createToken(`STAR`,`(<|>)?=?\\s*\\*`),createToken(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),createToken(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)}),require_parse_options=__commonJSMin((exports,module)=>{let looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions$3=options=>options?typeof options==`object`?options:looseOption:emptyOpts;module.exports=parseOptions$3}),require_identifiers=__commonJSMin((exports,module)=>{let numeric=/^[0-9]+$/,compareIdentifiers$1=(a$2,b)=>{if(typeof a$2==`number`&&typeof b==`number`)return a$2===b?0:a$2<b?-1:1;let anum=numeric.test(a$2),bnum=numeric.test(b);return anum&&bnum&&(a$2=+a$2,b=+b),a$2===b?0:anum&&!bnum?-1:bnum&&!anum?1:a$2<b?-1:1},rcompareIdentifiers=(a$2,b)=>compareIdentifiers$1(b,a$2);module.exports={compareIdentifiers:compareIdentifiers$1,rcompareIdentifiers}}),require_semver$1=__commonJSMin((exports,module)=>{let debug$2=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants(),{safeRe:re$3,t:t$3}=require_re(),parseOptions$2=require_parse_options(),{compareIdentifiers}=require_identifiers();var SemVer$15=class SemVer$15{constructor(version$4,options){if(options=parseOptions$2(options),version$4 instanceof SemVer$15){if(version$4.loose===!!options.loose&&version$4.includePrerelease===!!options.includePrerelease)return version$4;version$4=version$4.version}else if(typeof version$4!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof version$4}".`);if(version$4.length>MAX_LENGTH)throw TypeError(`version is longer than ${MAX_LENGTH} characters`);debug$2(`SemVer`,version$4,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m$3=version$4.trim().match(options.loose?re$3[t$3.LOOSE]:re$3[t$3.FULL]);if(!m$3)throw TypeError(`Invalid Version: ${version$4}`);if(this.raw=version$4,this.major=+m$3[1],this.minor=+m$3[2],this.patch=+m$3[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw TypeError(`Invalid patch version`);m$3[4]?this.prerelease=m$3[4].split(`.`).map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m$3[5]?m$3[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(other){if(debug$2(`SemVer.compare`,this.version,this.options,other),!(other instanceof SemVer$15)){if(typeof other==`string`&&other===this.version)return 0;other=new SemVer$15(other,this.options)}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof SemVer$15||(other=new SemVer$15(other,this.options)),this.major<other.major?-1:this.major>other.major?1:this.minor<other.minor?-1:this.minor>other.minor?1:this.patch<other.patch?-1:this.patch>other.patch?1:0}comparePre(other){if(other instanceof SemVer$15||(other=new SemVer$15(other,this.options)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i$4=0;do{let a$2=this.prerelease[i$4],b=other.prerelease[i$4];if(debug$2(`prerelease compare`,i$4,a$2,b),a$2===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a$2===void 0)return-1;if(a$2===b)continue;return compareIdentifiers(a$2,b)}while(++i$4)}compareBuild(other){other instanceof SemVer$15||(other=new SemVer$15(other,this.options));let i$4=0;do{let a$2=this.build[i$4],b=other.build[i$4];if(debug$2(`build compare`,i$4,a$2,b),a$2===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a$2===void 0)return-1;if(a$2===b)continue;return compareIdentifiers(a$2,b)}while(++i$4)}inc(release,identifier$2,identifierBase){if(release.startsWith(`pre`)){if(!identifier$2&&identifierBase===!1)throw Error(`invalid increment argument: identifier is empty`);if(identifier$2){let match$2=`-${identifier$2}`.match(this.options.loose?re$3[t$3.PRERELEASELOOSE]:re$3[t$3.PRERELEASE]);if(!match$2||match$2[1]!==identifier$2)throw Error(`invalid identifier: ${identifier$2}`)}}switch(release){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,identifier$2,identifierBase);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,identifier$2,identifierBase);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,identifier$2,identifierBase),this.inc(`pre`,identifier$2,identifierBase);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,identifier$2,identifierBase),this.inc(`pre`,identifier$2,identifierBase);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let base$3=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base$3];else{let i$4=this.prerelease.length;for(;--i$4>=0;)typeof this.prerelease[i$4]==`number`&&(this.prerelease[i$4]++,i$4=-2);if(i$4===-1){if(identifier$2===this.prerelease.join(`.`)&&identifierBase===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(base$3)}}if(identifier$2){let prerelease$2=[identifier$2,base$3];identifierBase===!1&&(prerelease$2=[identifier$2]),compareIdentifiers(this.prerelease[0],identifier$2)===0?isNaN(this.prerelease[1])&&(this.prerelease=prerelease$2):this.prerelease=prerelease$2}break}default:throw Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}};module.exports=SemVer$15}),require_parse=__commonJSMin((exports,module)=>{let SemVer$14=require_semver$1(),parse$6=(version$4,options,throwErrors=!1)=>{if(version$4 instanceof SemVer$14)return version$4;try{return new SemVer$14(version$4,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse$6}),require_valid$1=__commonJSMin((exports,module)=>{let parse$5=require_parse(),valid$1=(version$4,options)=>{let v$1=parse$5(version$4,options);return v$1?v$1.version:null};module.exports=valid$1}),require_clean=__commonJSMin((exports,module)=>{let parse$4=require_parse(),clean$1=(version$4,options)=>{let s$6=parse$4(version$4.trim().replace(/^[=v]+/,``),options);return s$6?s$6.version:null};module.exports=clean$1}),require_inc=__commonJSMin((exports,module)=>{let SemVer$13=require_semver$1(),inc$1=(version$4,release,options,identifier$2,identifierBase)=>{typeof options==`string`&&(identifierBase=identifier$2,identifier$2=options,options=void 0);try{return new SemVer$13(version$4 instanceof SemVer$13?version$4.version:version$4,options).inc(release,identifier$2,identifierBase).version}catch{return null}};module.exports=inc$1}),require_diff=__commonJSMin((exports,module)=>{let parse$3=require_parse(),diff$1=(version1,version2)=>{let v1=parse$3(version1,null,!0),v2=parse$3(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length,lowHasPre=!!lowVersion.prerelease.length;if(lowHasPre&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return`major`;if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?`minor`:`patch`}let prefix=highHasPre?`pre`:``;return v1.major===v2.major?v1.minor===v2.minor?v1.patch===v2.patch?`prerelease`:prefix+`patch`:prefix+`minor`:prefix+`major`};module.exports=diff$1}),require_major=__commonJSMin((exports,module)=>{let SemVer$12=require_semver$1(),major$1=(a$2,loose)=>new SemVer$12(a$2,loose).major;module.exports=major$1}),require_minor=__commonJSMin((exports,module)=>{let SemVer$11=require_semver$1(),minor$1=(a$2,loose)=>new SemVer$11(a$2,loose).minor;module.exports=minor$1}),require_patch=__commonJSMin((exports,module)=>{let SemVer$10=require_semver$1(),patch$2=(a$2,loose)=>new SemVer$10(a$2,loose).patch;module.exports=patch$2}),require_prerelease=__commonJSMin((exports,module)=>{let parse$2=require_parse(),prerelease$1=(version$4,options)=>{let parsed=parse$2(version$4,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null};module.exports=prerelease$1}),require_compare=__commonJSMin((exports,module)=>{let SemVer$9=require_semver$1(),compare$11=(a$2,b,loose)=>new SemVer$9(a$2,loose).compare(new SemVer$9(b,loose));module.exports=compare$11}),require_rcompare=__commonJSMin((exports,module)=>{let compare$10=require_compare(),rcompare$1=(a$2,b,loose)=>compare$10(b,a$2,loose);module.exports=rcompare$1}),require_compare_loose=__commonJSMin((exports,module)=>{let compare$9=require_compare(),compareLoose$1=(a$2,b)=>compare$9(a$2,b,!0);module.exports=compareLoose$1}),require_compare_build=__commonJSMin((exports,module)=>{let SemVer$8=require_semver$1(),compareBuild$3=(a$2,b,loose)=>{let versionA=new SemVer$8(a$2,loose),versionB=new SemVer$8(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild$3}),require_sort=__commonJSMin((exports,module)=>{let compareBuild$2=require_compare_build(),sort$1=(list,loose)=>list.sort((a$2,b)=>compareBuild$2(a$2,b,loose));module.exports=sort$1}),require_rsort=__commonJSMin((exports,module)=>{let compareBuild$1=require_compare_build(),rsort$1=(list,loose)=>list.sort((a$2,b)=>compareBuild$1(b,a$2,loose));module.exports=rsort$1}),require_gt=__commonJSMin((exports,module)=>{let compare$8=require_compare(),gt$4=(a$2,b,loose)=>compare$8(a$2,b,loose)>0;module.exports=gt$4}),require_lt=__commonJSMin((exports,module)=>{let compare$7=require_compare(),lt$3=(a$2,b,loose)=>compare$7(a$2,b,loose)<0;module.exports=lt$3}),require_eq=__commonJSMin((exports,module)=>{let compare$6=require_compare(),eq$2=(a$2,b,loose)=>compare$6(a$2,b,loose)===0;module.exports=eq$2}),require_neq=__commonJSMin((exports,module)=>{let compare$5=require_compare(),neq$2=(a$2,b,loose)=>compare$5(a$2,b,loose)!==0;module.exports=neq$2}),require_gte=__commonJSMin((exports,module)=>{let compare$4=require_compare(),gte$3=(a$2,b,loose)=>compare$4(a$2,b,loose)>=0;module.exports=gte$3}),require_lte=__commonJSMin((exports,module)=>{let compare$3=require_compare(),lte$3=(a$2,b,loose)=>compare$3(a$2,b,loose)<=0;module.exports=lte$3}),require_cmp=__commonJSMin((exports,module)=>{let eq$1=require_eq(),neq$1=require_neq(),gt$3=require_gt(),gte$2=require_gte(),lt$2=require_lt(),lte$2=require_lte(),cmp$2=(a$2,op,b,loose)=>{switch(op){case`===`:return typeof a$2==`object`&&(a$2=a$2.version),typeof b==`object`&&(b=b.version),a$2===b;case`!==`:return typeof a$2==`object`&&(a$2=a$2.version),typeof b==`object`&&(b=b.version),a$2!==b;case``:case`=`:case`==`:return eq$1(a$2,b,loose);case`!=`:return neq$1(a$2,b,loose);case`>`:return gt$3(a$2,b,loose);case`>=`:return gte$2(a$2,b,loose);case`<`:return lt$2(a$2,b,loose);case`<=`:return lte$2(a$2,b,loose);default:throw TypeError(`Invalid operator: ${op}`)}};module.exports=cmp$2}),require_coerce=__commonJSMin((exports,module)=>{let SemVer$7=require_semver$1(),parse$1=require_parse(),{safeRe:re$2,t:t$2}=require_re(),coerce$1=(version$4,options)=>{if(version$4 instanceof SemVer$7)return version$4;if(typeof version$4==`number`&&(version$4=String(version$4)),typeof version$4!=`string`)return null;options||={};let match$2=null;if(!options.rtl)match$2=version$4.match(options.includePrerelease?re$2[t$2.COERCEFULL]:re$2[t$2.COERCE]);else{let coerceRtlRegex=options.includePrerelease?re$2[t$2.COERCERTLFULL]:re$2[t$2.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version$4))&&(!match$2||match$2.index+match$2[0].length!==version$4.length);)(!match$2||next.index+next[0].length!==match$2.index+match$2[0].length)&&(match$2=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1}if(match$2===null)return null;let major$2=match$2[2],minor$2=match$2[3]||`0`,patch$3=match$2[4]||`0`,prerelease$2=options.includePrerelease&&match$2[5]?`-${match$2[5]}`:``,build$1=options.includePrerelease&&match$2[6]?`+${match$2[6]}`:``;return parse$1(`${major$2}.${minor$2}.${patch$3}${prerelease$2}${build$1}`,options)};module.exports=coerce$1}),require_lrucache=__commonJSMin((exports,module)=>{var LRUCache=class{constructor(){this.max=1e3,this.map=new Map}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){let deleted=this.delete(key);if(!deleted&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module.exports=LRUCache}),require_range=__commonJSMin((exports,module)=>{let SPACE_CHARACTERS=/\s+/g;var Range$11=class Range$11{constructor(range,options){if(options=parseOptions$1(options),range instanceof Range$11)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new Range$11(range.raw,options);if(range instanceof Comparator$4)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS,` `),this.set=this.raw.split(`||`).map(r$2=>this.parseRange(r$2.trim())).filter(c$1=>c$1.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first$1=this.set[0];if(this.set=this.set.filter(c$1=>!isNullSet(c$1[0])),this.set.length===0)this.set=[first$1];else if(this.set.length>1){for(let c$1 of this.set)if(c$1.length===1&&isAny(c$1[0])){this.set=[c$1];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted=``;for(let i$4=0;i$4<this.set.length;i$4++){i$4>0&&(this.formatted+=`||`);let comps=this.set[i$4];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=` `),this.formatted+=comps[k].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){let memoOpts=(this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE),memoKey=memoOpts+`:`+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re$1[t$1.HYPHENRANGELOOSE]:re$1[t$1.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug$1(`hyphen replace`,range),range=range.replace(re$1[t$1.COMPARATORTRIM],comparatorTrimReplace),debug$1(`comparator trim`,range),range=range.replace(re$1[t$1.TILDETRIM],tildeTrimReplace),debug$1(`tilde trim`,range),range=range.replace(re$1[t$1.CARETTRIM],caretTrimReplace),debug$1(`caret trim`,range);let rangeList=range.split(` `).map(comp=>parseComparator(comp,this.options)).join(` `).split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug$1(`loose invalid filter`,comp,this.options),!!comp.match(re$1[t$1.COMPARATORLOOSE])))),debug$1(`range list`,rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator$4(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return[comp];rangeMap.set(comp.value,comp)}rangeMap.size>1&&rangeMap.has(``)&&rangeMap.delete(``);let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof Range$11))throw TypeError(`a Range is required`);return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version$4){if(!version$4)return!1;if(typeof version$4==`string`)try{version$4=new SemVer$6(version$4,this.options)}catch{return!1}for(let i$4=0;i$4<this.set.length;i$4++)if(testSet(this.set[i$4],version$4,this.options))return!0;return!1}};module.exports=Range$11;let LRU=require_lrucache(),cache=new LRU,parseOptions$1=require_parse_options(),Comparator$4=require_comparator(),debug$1=require_debug(),SemVer$6=require_semver$1(),{safeRe:re$1,t:t$1,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants(),isNullSet=c$1=>c$1.value===`<0.0.0-0`,isAny=c$1=>c$1.value===``,isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(comp=comp.replace(re$1[t$1.BUILD],``),debug$1(`comp`,comp,options),comp=replaceCarets(comp,options),debug$1(`caret`,comp),comp=replaceTildes(comp,options),debug$1(`tildes`,comp),comp=replaceXRanges(comp,options),debug$1(`xrange`,comp),comp=replaceStars(comp,options),debug$1(`stars`,comp),comp),isX=id=>!id||id.toLowerCase()===`x`||id===`*`,replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c$1=>replaceTilde(c$1,options)).join(` `),replaceTilde=(comp,options)=>{let r$2=options.loose?re$1[t$1.TILDELOOSE]:re$1[t$1.TILDE];return comp.replace(r$2,(_,M$1,m$3,p$1,pr)=>{debug$1(`tilde`,comp,_,M$1,m$3,p$1,pr);let ret;return isX(M$1)?ret=``:isX(m$3)?ret=`>=${M$1}.0.0 <${+M$1+1}.0.0-0`:isX(p$1)?ret=`>=${M$1}.${m$3}.0 <${M$1}.${+m$3+1}.0-0`:pr?(debug$1(`replaceTilde pr`,pr),ret=`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${+m$3+1}.0-0`):ret=`>=${M$1}.${m$3}.${p$1} <${M$1}.${+m$3+1}.0-0`,debug$1(`tilde return`,ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c$1=>replaceCaret(c$1,options)).join(` `),replaceCaret=(comp,options)=>{debug$1(`caret`,comp,options);let r$2=options.loose?re$1[t$1.CARETLOOSE]:re$1[t$1.CARET],z$1=options.includePrerelease?`-0`:``;return comp.replace(r$2,(_,M$1,m$3,p$1,pr)=>{debug$1(`caret`,comp,_,M$1,m$3,p$1,pr);let ret;return isX(M$1)?ret=``:isX(m$3)?ret=`>=${M$1}.0.0${z$1} <${+M$1+1}.0.0-0`:isX(p$1)?ret=M$1===`0`?`>=${M$1}.${m$3}.0${z$1} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.0${z$1} <${+M$1+1}.0.0-0`:pr?(debug$1(`replaceCaret pr`,pr),ret=M$1===`0`?m$3===`0`?`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${m$3}.${+p$1+1}-0`:`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.${p$1}-${pr} <${+M$1+1}.0.0-0`):(debug$1(`no pr`),ret=M$1===`0`?m$3===`0`?`>=${M$1}.${m$3}.${p$1}${z$1} <${M$1}.${m$3}.${+p$1+1}-0`:`>=${M$1}.${m$3}.${p$1}${z$1} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.${p$1} <${+M$1+1}.0.0-0`),debug$1(`caret return`,ret),ret})},replaceXRanges=(comp,options)=>(debug$1(`replaceXRanges`,comp,options),comp.split(/\s+/).map(c$1=>replaceXRange(c$1,options)).join(` `)),replaceXRange=(comp,options)=>{comp=comp.trim();let r$2=options.loose?re$1[t$1.XRANGELOOSE]:re$1[t$1.XRANGE];return comp.replace(r$2,(ret,gtlt,M$1,m$3,p$1,pr)=>{debug$1(`xRange`,comp,ret,gtlt,M$1,m$3,p$1,pr);let xM=isX(M$1),xm=xM||isX(m$3),xp=xm||isX(p$1),anyX=xp;return gtlt===`=`&&anyX&&(gtlt=``),pr=options.includePrerelease?`-0`:``,xM?ret=gtlt===`>`||gtlt===`<`?`<0.0.0-0`:`*`:gtlt&&anyX?(xm&&(m$3=0),p$1=0,gtlt===`>`?(gtlt=`>=`,xm?(M$1=+M$1+1,m$3=0,p$1=0):(m$3=+m$3+1,p$1=0)):gtlt===`<=`&&(gtlt=`<`,xm?M$1=+M$1+1:m$3=+m$3+1),gtlt===`<`&&(pr=`-0`),ret=`${gtlt+M$1}.${m$3}.${p$1}${pr}`):xm?ret=`>=${M$1}.0.0${pr} <${+M$1+1}.0.0-0`:xp&&(ret=`>=${M$1}.${m$3}.0${pr} <${M$1}.${+m$3+1}.0-0`),debug$1(`xRange return`,ret),ret})},replaceStars=(comp,options)=>(debug$1(`replaceStars`,comp,options),comp.trim().replace(re$1[t$1.STAR],``)),replaceGTE0=(comp,options)=>(debug$1(`replaceGTE0`,comp,options),comp.trim().replace(re$1[options.includePrerelease?t$1.GTE0PRE:t$1.GTE0],``)),hyphenReplace=incPr=>($0,from$2,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(from$2=isX(fM)?``:isX(fm)?`>=${fM}.0.0${incPr?`-0`:``}`:isX(fp)?`>=${fM}.${fm}.0${incPr?`-0`:``}`:fpr?`>=${from$2}`:`>=${from$2}${incPr?`-0`:``}`,to=isX(tM)?``:isX(tm)?`<${+tM+1}.0.0-0`:isX(tp)?`<${tM}.${+tm+1}.0-0`:tpr?`<=${tM}.${tm}.${tp}-${tpr}`:incPr?`<${tM}.${tm}.${+tp+1}-0`:`<=${to}`,`${from$2} ${to}`.trim()),testSet=(set,version$4,options)=>{for(let i$4=0;i$4<set.length;i$4++)if(!set[i$4].test(version$4))return!1;if(version$4.prerelease.length&&!options.includePrerelease){for(let i$4=0;i$4<set.length;i$4++)if(debug$1(set[i$4].semver),set[i$4].semver!==Comparator$4.ANY&&set[i$4].semver.prerelease.length>0){let allowed=set[i$4].semver;if(allowed.major===version$4.major&&allowed.minor===version$4.minor&&allowed.patch===version$4.patch)return!0}return!1}return!0}}),require_comparator=__commonJSMin((exports,module)=>{let ANY$2=Symbol(`SemVer ANY`);var Comparator$3=class Comparator$3{static get ANY(){return ANY$2}constructor(comp,options){if(options=parseOptions(options),comp instanceof Comparator$3){if(comp.loose===!!options.loose)return comp;comp=comp.value}comp=comp.trim().split(/\s+/).join(` `),debug(`comparator`,comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY$2?this.value=``:this.value=this.operator+this.semver.version,debug(`comp`,this)}parse(comp){let r$2=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m$3=comp.match(r$2);if(!m$3)throw TypeError(`Invalid comparator: ${comp}`);this.operator=m$3[1]===void 0?``:m$3[1],this.operator===`=`&&(this.operator=``),m$3[2]?this.semver=new SemVer$5(m$3[2],this.options.loose):this.semver=ANY$2}toString(){return this.value}test(version$4){if(debug(`Comparator.test`,version$4,this.options.loose),this.semver===ANY$2||version$4===ANY$2)return!0;if(typeof version$4==`string`)try{version$4=new SemVer$5(version$4,this.options)}catch{return!1}return cmp$1(version$4,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof Comparator$3))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``?!0:new Range$10(comp.value,options).test(this.value):comp.operator===``?comp.value===``?!0:new Range$10(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value===`<0.0.0-0`||comp.value===`<0.0.0-0`)||!options.includePrerelease&&(this.value.startsWith(`<0.0.0`)||comp.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&comp.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&comp.operator.startsWith(`<`)||this.semver.version===comp.semver.version&&this.operator.includes(`=`)&&comp.operator.includes(`=`)||cmp$1(this.semver,`<`,comp.semver,options)&&this.operator.startsWith(`>`)&&comp.operator.startsWith(`<`)||cmp$1(this.semver,`>`,comp.semver,options)&&this.operator.startsWith(`<`)&&comp.operator.startsWith(`>`)))}};module.exports=Comparator$3;let parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp$1=require_cmp(),debug=require_debug(),SemVer$5=require_semver$1(),Range$10=require_range()}),require_satisfies=__commonJSMin((exports,module)=>{let Range$9=require_range(),satisfies$4=(version$4,range,options)=>{try{range=new Range$9(range,options)}catch{return!1}return range.test(version$4)};module.exports=satisfies$4}),require_to_comparators=__commonJSMin((exports,module)=>{let Range$8=require_range(),toComparators$1=(range,options)=>new Range$8(range,options).set.map(comp=>comp.map(c$1=>c$1.value).join(` `).trim().split(` `));module.exports=toComparators$1}),require_max_satisfying=__commonJSMin((exports,module)=>{let SemVer$4=require_semver$1(),Range$7=require_range(),maxSatisfying$1=(versions,range,options)=>{let max$3=null,maxSV=null,rangeObj=null;try{rangeObj=new Range$7(range,options)}catch{return null}return versions.forEach(v$1=>{rangeObj.test(v$1)&&(!max$3||maxSV.compare(v$1)===-1)&&(max$3=v$1,maxSV=new SemVer$4(max$3,options))}),max$3};module.exports=maxSatisfying$1}),require_min_satisfying=__commonJSMin((exports,module)=>{let SemVer$3=require_semver$1(),Range$6=require_range(),minSatisfying$1=(versions,range,options)=>{let min$1=null,minSV=null,rangeObj=null;try{rangeObj=new Range$6(range,options)}catch{return null}return versions.forEach(v$1=>{rangeObj.test(v$1)&&(!min$1||minSV.compare(v$1)===1)&&(min$1=v$1,minSV=new SemVer$3(min$1,options))}),min$1};module.exports=minSatisfying$1}),require_min_version=__commonJSMin((exports,module)=>{let SemVer$2=require_semver$1(),Range$5=require_range(),gt$2=require_gt(),minVersion$1=(range,loose)=>{range=new Range$5(range,loose);let minver=new SemVer$2(`0.0.0`);if(range.test(minver)||(minver=new SemVer$2(`0.0.0-0`),range.test(minver)))return minver;minver=null;for(let i$4=0;i$4<range.set.length;++i$4){let comparators=range.set[i$4],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer$2(comparator.semver.version);switch(comparator.operator){case`>`:compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case``:case`>=`:(!setMin||gt$2(compver,setMin))&&(setMin=compver);break;case`<`:case`<=`:break;default:throw Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt$2(minver,setMin))&&(minver=setMin)}return minver&&range.test(minver)?minver:null};module.exports=minVersion$1}),require_valid=__commonJSMin((exports,module)=>{let Range$4=require_range(),validRange$1=(range,options)=>{try{return new Range$4(range,options).range||`*`}catch{return null}};module.exports=validRange$1}),require_outside=__commonJSMin((exports,module)=>{let SemVer$1=require_semver$1(),Comparator$2=require_comparator(),{ANY:ANY$1}=Comparator$2,Range$3=require_range(),satisfies$3=require_satisfies(),gt$1=require_gt(),lt$1=require_lt(),lte$1=require_lte(),gte$1=require_gte(),outside$3=(version$4,range,hilo,options)=>{version$4=new SemVer$1(version$4,options),range=new Range$3(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case`>`:gtfn=gt$1,ltefn=lte$1,ltfn=lt$1,comp=`>`,ecomp=`>=`;break;case`<`:gtfn=lt$1,ltefn=gte$1,ltfn=gt$1,comp=`<`,ecomp=`<=`;break;default:throw TypeError(`Must provide a hilo val of "<" or ">"`)}if(satisfies$3(version$4,range,options))return!1;for(let i$4=0;i$4<range.set.length;++i$4){let comparators=range.set[i$4],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY$1&&(comparator=new Comparator$2(`>=0.0.0`)),high||=comparator,low||=comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator)}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version$4,low.semver)||low.operator===ecomp&&ltfn(version$4,low.semver))return!1}return!0};module.exports=outside$3}),require_gtr=__commonJSMin((exports,module)=>{let outside$2=require_outside(),gtr$1=(version$4,range,options)=>outside$2(version$4,range,`>`,options);module.exports=gtr$1}),require_ltr=__commonJSMin((exports,module)=>{let outside$1=require_outside(),ltr$1=(version$4,range,options)=>outside$1(version$4,range,`<`,options);module.exports=ltr$1}),require_intersects=__commonJSMin((exports,module)=>{let Range$2=require_range(),intersects$1=(r1,r2,options)=>(r1=new Range$2(r1,options),r2=new Range$2(r2,options),r1.intersects(r2,options));module.exports=intersects$1}),require_simplify=__commonJSMin((exports,module)=>{let satisfies$2=require_satisfies(),compare$2=require_compare();module.exports=(versions,range,options)=>{let set=[],first$1=null,prev=null,v$1=versions.sort((a$2,b)=>compare$2(a$2,b,options));for(let version$4 of v$1){let included=satisfies$2(version$4,range,options);included?(prev=version$4,first$1||=version$4):(prev&&set.push([first$1,prev]),prev=null,first$1=null)}first$1&&set.push([first$1,null]);let ranges=[];for(let[min$1,max$3]of set)min$1===max$3?ranges.push(min$1):!max$3&&min$1===v$1[0]?ranges.push(`*`):max$3?min$1===v$1[0]?ranges.push(`<=${max$3}`):ranges.push(`${min$1} - ${max$3}`):ranges.push(`>=${min$1}`);let simplified=ranges.join(` || `),original=typeof range.raw==`string`?range.raw:String(range);return simplified.length<original.length?simplified:range}}),require_subset=__commonJSMin((exports,module)=>{let Range$1=require_range(),Comparator$1=require_comparator(),{ANY}=Comparator$1,satisfies$1=require_satisfies(),compare$1=require_compare(),subset$1=(sub,dom,options={})=>{if(sub===dom)return!0;sub=new Range$1(sub,options),dom=new Range$1(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull||=isSub!==null,isSub)continue OUTER}if(sawNonNull)return!1}return!0},minimumVersionWithPreRelease=[new Comparator$1(`>=0.0.0-0`)],minimumVersion=[new Comparator$1(`>=0.0.0`)],simpleSubset=(sub,dom,options)=>{if(sub===dom)return!0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return!0;sub=options.includePrerelease?minimumVersionWithPreRelease:minimumVersion}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return!0;dom=minimumVersion}let eqSet=new Set,gt$5,lt$4;for(let c$1 of sub)c$1.operator===`>`||c$1.operator===`>=`?gt$5=higherGT(gt$5,c$1,options):c$1.operator===`<`||c$1.operator===`<=`?lt$4=lowerLT(lt$4,c$1,options):eqSet.add(c$1.semver);if(eqSet.size>1)return null;let gtltComp;if(gt$5&&lt$4&&(gtltComp=compare$1(gt$5.semver,lt$4.semver,options),gtltComp>0||gtltComp===0&&(gt$5.operator!==`>=`||lt$4.operator!==`<=`)))return null;for(let eq$9 of eqSet){if(gt$5&&!satisfies$1(eq$9,String(gt$5),options)||lt$4&&!satisfies$1(eq$9,String(lt$4),options))return null;for(let c$1 of dom)if(!satisfies$1(eq$9,String(c$1),options))return!1;return!0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt$4&&!options.includePrerelease&&lt$4.semver.prerelease.length?lt$4.semver:!1,needDomGTPre=gt$5&&!options.includePrerelease&&gt$5.semver.prerelease.length?gt$5.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt$4.operator===`<`&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c$1 of dom){if(hasDomGT=hasDomGT||c$1.operator===`>`||c$1.operator===`>=`,hasDomLT=hasDomLT||c$1.operator===`<`||c$1.operator===`<=`,gt$5){if(needDomGTPre&&c$1.semver.prerelease&&c$1.semver.prerelease.length&&c$1.semver.major===needDomGTPre.major&&c$1.semver.minor===needDomGTPre.minor&&c$1.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c$1.operator===`>`||c$1.operator===`>=`){if(higher=higherGT(gt$5,c$1,options),higher===c$1&&higher!==gt$5)return!1}else if(gt$5.operator===`>=`&&!satisfies$1(gt$5.semver,String(c$1),options))return!1}if(lt$4){if(needDomLTPre&&c$1.semver.prerelease&&c$1.semver.prerelease.length&&c$1.semver.major===needDomLTPre.major&&c$1.semver.minor===needDomLTPre.minor&&c$1.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c$1.operator===`<`||c$1.operator===`<=`){if(lower=lowerLT(lt$4,c$1,options),lower===c$1&&lower!==lt$4)return!1}else if(lt$4.operator===`<=`&&!satisfies$1(lt$4.semver,String(c$1),options))return!1}if(!c$1.operator&&(lt$4||gt$5)&&gtltComp!==0)return!1}return!(gt$5&&hasDomLT&&!lt$4&&gtltComp!==0||lt$4&&hasDomGT&&!gt$5&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a$2,b,options)=>{if(!a$2)return b;let comp=compare$1(a$2.semver,b.semver,options);return comp>0?a$2:comp<0||b.operator===`>`&&a$2.operator===`>=`?b:a$2},lowerLT=(a$2,b,options)=>{if(!a$2)return b;let comp=compare$1(a$2.semver,b.semver,options);return comp<0?a$2:comp>0||b.operator===`<`&&a$2.operator===`<=`?b:a$2};module.exports=subset$1}),require_semver=__commonJSMin((exports,module)=>{let internalRe=require_re(),constants=require_constants(),SemVer=require_semver$1(),identifiers=require_identifiers(),parse=require_parse(),valid=require_valid$1(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch$1=require_patch(),prerelease=require_prerelease(),compare=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce=require_coerce(),Comparator=require_comparator(),Range=require_range(),satisfies=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion=require_min_version(),validRange=require_valid(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse,valid,clean,inc,diff,major,minor,patch:patch$1,prerelease,compare,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce,Comparator,Range,satisfies,toComparators,maxSatisfying,minSatisfying,minVersion,validRange,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}),u8=Uint8Array,u16=Uint16Array,i32=Int32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(eb,start){for(var b=new u16(31),i$4=0;i$4<31;++i$4)b[i$4]=start+=1<<eb[i$4-1];for(var r$2=new i32(b[30]),i$4=1;i$4<30;++i$4)for(var j$1=b[i$4];j$1<b[i$4+1];++j$1)r$2[j$1]=j$1-b[i$4]<<5|i$4;return{b,r:r$2}},_a=freb(fleb,2),fl=_a.b,revfl=_a.r;fl[28]=258,revfl[258]=28;for(var _b=freb(fdeb,0),fd=_b.b,revfd=_b.r,rev=new u16(32768),i=0;i<32768;++i){var x=(i&43690)>>1|(i&21845)<<1;x=(x&52428)>>2|(x&13107)<<2,x=(x&61680)>>4|(x&3855)<<4,rev[i]=((x&65280)>>8|(x&255)<<8)>>1}for(var hMap=function(cd,mb,r$2){for(var s$6=cd.length,i$4=0,l$4=new u16(mb);i$4<s$6;++i$4)cd[i$4]&&++l$4[cd[i$4]-1];var le$1=new u16(mb);for(i$4=1;i$4<mb;++i$4)le$1[i$4]=le$1[i$4-1]+l$4[i$4-1]<<1;var co;if(r$2){co=new u16(1<<mb);var rvb=15-mb;for(i$4=0;i$4<s$6;++i$4)if(cd[i$4])for(var sv=i$4<<4|cd[i$4],r_1=mb-cd[i$4],v$1=le$1[cd[i$4]-1]++<<r_1,m$3=v$1|(1<<r_1)-1;v$1<=m$3;++v$1)co[rev[v$1]>>rvb]=sv}else for(co=new u16(s$6),i$4=0;i$4<s$6;++i$4)cd[i$4]&&(co[i$4]=rev[le$1[cd[i$4]-1]++]>>15-cd[i$4]);return co},flt=new u8(288),i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;for(var fdt=new u8(32),i=0;i<32;++i)fdt[i]=5;var flm=hMap(flt,9,0),flrm=hMap(flt,9,1),fdm=hMap(fdt,5,0),fdrm=hMap(fdt,5,1),max=function(a$2){for(var m$3=a$2[0],i$4=1;i$4<a$2.length;++i$4)a$2[i$4]>m$3&&(m$3=a$2[i$4]);return m$3},bits=function(d$1,p$1,m$3){var o$2=p$1/8|0;return(d$1[o$2]|d$1[o$2+1]<<8)>>(p$1&7)&m$3},bits16=function(d$1,p$1){var o$2=p$1/8|0;return(d$1[o$2]|d$1[o$2+1]<<8|d$1[o$2+2]<<16)>>(p$1&7)},shft=function(p$1){return(p$1+7)/8|0},slc=function(v$1,s$6,e$2){return(s$6==null||s$6<0)&&(s$6=0),(e$2==null||e$2>v$1.length)&&(e$2=v$1.length),new u8(v$1.subarray(s$6,e$2))},ec=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],err=function(ind,msg,nt){var e$2=Error(msg||ec[ind]);if(e$2.code=ind,Error.captureStackTrace&&Error.captureStackTrace(e$2,err),!nt)throw e$2;return e$2},inflt=function(dat,st,buf,dict){var sl=dat.length,dl=dict?dict.length:0;if(!sl||st.f&&!st.l)return buf||new u8(0);var noBuf=!buf,resize=noBuf||st.i!=2,noSt=st.i;noBuf&&(buf=new u8(sl*3));var cbuf=function(l$5){var bl=buf.length;if(l$5>bl){var nbuf=new u8(Math.max(bl*2,l$5));nbuf.set(buf),buf=nbuf}},final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n,tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);if(pos+=3,type)if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4,tl=hLit+bits(dat,pos+5,31)+1;pos+=14;for(var ldt=new u8(tl),clt=new u8(19),i$4=0;i$4<hcLen;++i$4)clt[clim[i$4]]=bits(dat,pos+i$4*3,7);pos+=hcLen*3;for(var clb=max(clt),clbmsk=(1<<clb)-1,clm=hMap(clt,clb,1),i$4=0;i$4<tl;){var r$2=clm[bits(dat,pos,clbmsk)];pos+=r$2&15;var s$6=r$2>>4;if(s$6<16)ldt[i$4++]=s$6;else{var c$1=0,n$4=0;for(s$6==16?(n$4=3+bits(dat,pos,3),pos+=2,c$1=ldt[i$4-1]):s$6==17?(n$4=3+bits(dat,pos,7),pos+=3):s$6==18&&(n$4=11+bits(dat,pos,127),pos+=7);n$4--;)ldt[i$4++]=c$1}}var lt$4=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt$4),dbt=max(dt),lm=hMap(lt$4,lbt,1),dm=hMap(dt,dbt,1)}else err(1);else{var s$6=shft(pos)+4,l$4=dat[s$6-4]|dat[s$6-3]<<8,t$7=s$6+l$4;if(t$7>sl){noSt&&err(0);break}resize&&cbuf(bt+l$4),buf.set(dat.subarray(s$6,t$7),bt),st.b=bt+=l$4,st.p=pos=t$7*8,st.f=final;continue}if(pos>tbts){noSt&&err(0);break}}resize&&cbuf(bt+131072);for(var lms=(1<<lbt)-1,dms=(1<<dbt)-1,lpos=pos;;lpos=pos){var c$1=lm[bits16(dat,pos)&lms],sym=c$1>>4;if(pos+=c$1&15,pos>tbts){noSt&&err(0);break}if(c$1||err(2),sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i$4=sym-257,b=fleb[i$4];add=bits(dat,pos,(1<<b)-1)+fl[i$4],pos+=b}var d$1=dm[bits16(dat,pos)&dms],dsym=d$1>>4;d$1||err(3),pos+=d$1&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<<b)-1,pos+=b}if(pos>tbts){noSt&&err(0);break}resize&&cbuf(bt+131072);var end=bt+add;if(bt<dt){var shift=dl-dt,dend=Math.min(dt,end);for(shift+bt<0&&err(3);bt<dend;++bt)buf[bt]=dict[shift+bt]}for(;bt<end;++bt)buf[bt]=buf[bt-dt]}}st.l=lm,st.p=lpos,st.b=bt,st.f=final,lm&&(final=1,st.m=lbt,st.d=dm,st.n=dbt)}while(!final);return bt!=buf.length&&noBuf?slc(buf,0,bt):buf.subarray(0,bt)},wbits=function(d$1,p$1,v$1){v$1<<=p$1&7;var o$2=p$1/8|0;d$1[o$2]|=v$1,d$1[o$2+1]|=v$1>>8},wbits16=function(d$1,p$1,v$1){v$1<<=p$1&7;var o$2=p$1/8|0;d$1[o$2]|=v$1,d$1[o$2+1]|=v$1>>8,d$1[o$2+2]|=v$1>>16},hTree=function(d$1,mb){for(var t$7=[],i$4=0;i$4<d$1.length;++i$4)d$1[i$4]&&t$7.push({s:i$4,f:d$1[i$4]});var s$6=t$7.length,t2=t$7.slice();if(!s$6)return{t:et,l:0};if(s$6==1){var v$1=new u8(t$7[0].s+1);return v$1[t$7[0].s]=1,{t:v$1,l:1}}t$7.sort(function(a$2,b){return a$2.f-b.f}),t$7.push({s:-1,f:25001});var l$4=t$7[0],r$2=t$7[1],i0=0,i1=1,i2=2;for(t$7[0]={s:-1,f:l$4.f+r$2.f,l:l$4,r:r$2};i1!=s$6-1;)l$4=t$7[t$7[i0].f<t$7[i2].f?i0++:i2++],r$2=t$7[i0!=i1&&t$7[i0].f<t$7[i2].f?i0++:i2++],t$7[i1++]={s:-1,f:l$4.f+r$2.f,l:l$4,r:r$2};for(var maxSym=t2[0].s,i$4=1;i$4<s$6;++i$4)t2[i$4].s>maxSym&&(maxSym=t2[i$4].s);var tr=new u16(maxSym+1),mbt=ln(t$7[i1-1],tr,0);if(mbt>mb){var i$4=0,dt=0,lft=mbt-mb,cst=1<<lft;for(t2.sort(function(a$2,b){return tr[b.s]-tr[a$2.s]||a$2.f-b.f});i$4<s$6;++i$4){var i2_1=t2[i$4].s;if(tr[i2_1]>mb)dt+=cst-(1<<mbt-tr[i2_1]),tr[i2_1]=mb;else break}for(dt>>=lft;dt>0;){var i2_2=t2[i$4].s;tr[i2_2]<mb?dt-=1<<mb-tr[i2_2]++-1:++i$4}for(;i$4>=0&&dt;--i$4){var i2_3=t2[i$4].s;tr[i2_3]==mb&&(--tr[i2_3],++dt)}mbt=mb}return{t:new u8(tr),l:mbt}},ln=function(n$4,l$4,d$1){return n$4.s==-1?Math.max(ln(n$4.l,l$4,d$1+1),ln(n$4.r,l$4,d$1+1)):l$4[n$4.s]=d$1},lc=function(c$1){for(var s$6=c$1.length;s$6&&!c$1[--s$6];);for(var cl=new u16(++s$6),cli=0,cln=c$1[0],cls=1,w$1=function(v$1){cl[cli++]=v$1},i$4=1;i$4<=s$6;++i$4)if(c$1[i$4]==cln&&i$4!=s$6)++cls;else{if(!cln&&cls>2){for(;cls>138;cls-=138)w$1(32754);cls>2&&(w$1(cls>10?cls-11<<5|28690:cls-3<<5|12305),cls=0)}else if(cls>3){for(w$1(cln),--cls;cls>6;cls-=6)w$1(8304);cls>2&&(w$1(cls-3<<5|8208),cls=0)}for(;cls--;)w$1(cln);cls=1,cln=c$1[i$4]}return{c:cl.subarray(0,cli),n:s$6}},clen=function(cf,cl){for(var l$4=0,i$4=0;i$4<cl.length;++i$4)l$4+=cf[i$4]*cl[i$4];return l$4},wfblk=function(out,pos,dat){var s$6=dat.length,o$2=shft(pos+2);out[o$2]=s$6&255,out[o$2+1]=s$6>>8,out[o$2+2]=out[o$2]^255,out[o$2+3]=out[o$2+1]^255;for(var i$4=0;i$4<s$6;++i$4)out[o$2+i$4+4]=dat[i$4];return(o$2+4+s$6)*8},wblk=function(dat,out,final,syms,lf,df,eb,li,bs,bl,p$1){wbits(out,p$1++,final),++lf[256];for(var _a$1=hTree(lf,15),dlt=_a$1.t,mlb=_a$1.l,_b$1=hTree(df,15),ddt=_b$1.t,mdb=_b$1.l,_c=lc(dlt),lclt=_c.c,nlc=_c.n,_d=lc(ddt),lcdt=_d.c,ndc=_d.n,lcfreq=new u16(19),i$4=0;i$4<lclt.length;++i$4)++lcfreq[lclt[i$4]&31];for(var i$4=0;i$4<lcdt.length;++i$4)++lcfreq[lcdt[i$4]&31];for(var _e=hTree(lcfreq,7),lct=_e.t,mlcb=_e.l,nlcc=19;nlcc>4&&!lct[clim[nlcc-1]];--nlcc);var flen=bl+5<<3,ftlen=clen(lf,flt)+clen(df,fdt)+eb,dtlen=clen(lf,dlt)+clen(df,ddt)+eb+14+3*nlcc+clen(lcfreq,lct)+2*lcfreq[16]+3*lcfreq[17]+7*lcfreq[18];if(bs>=0&&flen<=ftlen&&flen<=dtlen)return wfblk(out,p$1,dat.subarray(bs,bs+bl));var lm,ll,dm,dl;if(wbits(out,p$1,1+(dtlen<ftlen)),p$1+=2,dtlen<ftlen){lm=hMap(dlt,mlb,0),ll=dlt,dm=hMap(ddt,mdb,0),dl=ddt;var llm=hMap(lct,mlcb,0);wbits(out,p$1,nlc-257),wbits(out,p$1+5,ndc-1),wbits(out,p$1+10,nlcc-4),p$1+=14;for(var i$4=0;i$4<nlcc;++i$4)wbits(out,p$1+3*i$4,lct[clim[i$4]]);p$1+=3*nlcc;for(var lcts=[lclt,lcdt],it=0;it<2;++it)for(var clct=lcts[it],i$4=0;i$4<clct.length;++i$4){var len$2=clct[i$4]&31;wbits(out,p$1,llm[len$2]),p$1+=lct[len$2],len$2>15&&(wbits(out,p$1,clct[i$4]>>5&127),p$1+=clct[i$4]>>12)}}else lm=flm,ll=flt,dm=fdm,dl=fdt;for(var i$4=0;i$4<li;++i$4){var sym=syms[i$4];if(sym>255){var len$2=sym>>18&31;wbits16(out,p$1,lm[len$2+257]),p$1+=ll[len$2+257],len$2>7&&(wbits(out,p$1,sym>>23&31),p$1+=fleb[len$2]);var dst=sym&31;wbits16(out,p$1,dm[dst]),p$1+=dl[dst],dst>3&&(wbits16(out,p$1,sym>>5&8191),p$1+=fdeb[dst])}else wbits16(out,p$1,lm[sym]),p$1+=ll[sym]}return wbits16(out,p$1,lm[256]),p$1+ll[256]},deo=new i32([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),et=new u8(0),dflt=function(dat,lvl,plvl,pre$1,post,st){var s$6=st.z||dat.length,o$2=new u8(pre$1+s$6+5*(1+Math.ceil(s$6/7e3))+post),w$1=o$2.subarray(pre$1,o$2.length-post),lst=st.l,pos=(st.r||0)&7;if(lvl){pos&&(w$1[0]=st.r>>3);for(var opt=deo[lvl-1],n$4=opt>>13,c$1=opt&8191,msk_1=(1<<plvl)-1,prev=st.p||new u16(32768),head$1=st.h||new u16(msk_1+1),bs1_1=Math.ceil(plvl/3),bs2_1=2*bs1_1,hsh=function(i$5){return(dat[i$5]^dat[i$5+1]<<bs1_1^dat[i$5+2]<<bs2_1)&msk_1},syms=new i32(25e3),lf=new u16(288),df=new u16(32),lc_1=0,eb=0,i$4=st.i||0,li=0,wi=st.w||0,bs=0;i$4+2<s$6;++i$4){var hv=hsh(i$4),imod=i$4&32767,pimod=head$1[hv];if(prev[imod]=pimod,head$1[hv]=imod,wi<=i$4){var rem=s$6-i$4;if((lc_1>7e3||li>24576)&&(rem>423||!lst)){pos=wblk(dat,w$1,0,syms,lf,df,eb,li,bs,i$4-bs,pos),li=lc_1=eb=0,bs=i$4;for(var j$1=0;j$1<286;++j$1)lf[j$1]=0;for(var j$1=0;j$1<30;++j$1)df[j$1]=0}var l$4=2,d$1=0,ch_1=c$1,dif=imod-pimod&32767;if(rem>2&&hv==hsh(i$4-dif))for(var maxn=Math.min(n$4,rem)-1,maxd=Math.min(32767,i$4),ml=Math.min(258,rem);dif<=maxd&&--ch_1&&imod!=pimod;){if(dat[i$4+l$4]==dat[i$4+l$4-dif]){for(var nl=0;nl<ml&&dat[i$4+nl]==dat[i$4+nl-dif];++nl);if(nl>l$4){if(l$4=nl,d$1=dif,nl>maxn)break;for(var mmd=Math.min(dif,nl-2),md=0,j$1=0;j$1<mmd;++j$1){var ti=i$4-dif+j$1&32767,pti=prev[ti],cd=ti-pti&32767;cd>md&&(md=cd,pimod=ti)}}}imod=pimod,pimod=prev[imod],dif+=imod-pimod&32767}if(d$1){syms[li++]=268435456|revfl[l$4]<<18|revfd[d$1];var lin=revfl[l$4]&31,din=revfd[d$1]&31;eb+=fleb[lin]+fdeb[din],++lf[257+lin],++df[din],wi=i$4+l$4,++lc_1}else syms[li++]=dat[i$4],++lf[dat[i$4]]}}for(i$4=Math.max(i$4,wi);i$4<s$6;++i$4)syms[li++]=dat[i$4],++lf[dat[i$4]];pos=wblk(dat,w$1,lst,syms,lf,df,eb,li,bs,i$4-bs,pos),lst||(st.r=pos&7|w$1[pos/8|0]<<3,pos-=7,st.h=head$1,st.p=prev,st.i=i$4,st.w=wi)}else{for(var i$4=st.w||0;i$4<s$6+lst;i$4+=65535){var e$2=i$4+65535;e$2>=s$6&&(w$1[pos/8|0]=lst,e$2=s$6),pos=wfblk(w$1,pos+1,dat.subarray(i$4,e$2))}st.i=s$6}return slc(o$2,0,pre$1+shft(pos)+post)},adler=function(){var a$2=1,b=0;return{p:function(d$1){for(var n$4=a$2,m$3=b,l$4=d$1.length|0,i$4=0;i$4!=l$4;){for(var e$2=Math.min(i$4+2655,l$4);i$4<e$2;++i$4)m$3+=n$4+=d$1[i$4];n$4=(n$4&65535)+15*(n$4>>16),m$3=(m$3&65535)+15*(m$3>>16)}a$2=n$4,b=m$3},d:function(){return a$2%=65521,b%=65521,(a$2&255)<<24|(a$2&65280)<<8|(b&255)<<8|b>>8}}},dopt=function(dat,opt,pre$1,post,st){if(!st&&(st={l:1},opt.dictionary)){var dict=opt.dictionary.subarray(-32768),newDat=new u8(dict.length+dat.length);newDat.set(dict),newDat.set(dat,dict.length),dat=newDat,st.w=dict.length}return dflt(dat,opt.level==null?6:opt.level,opt.mem==null?st.l?Math.ceil(Math.max(8,Math.min(13,Math.log(dat.length)))*1.5):20:12+opt.mem,pre$1,post,st)},wbytes=function(d$1,b,v$1){for(;v$1;++b)d$1[b]=v$1,v$1>>>=8},zlh=function(c$1,o$2){var lv=o$2.level,fl$1=lv==0?0:lv<6?1:lv==9?3:2;if(c$1[0]=120,c$1[1]=fl$1<<6|(o$2.dictionary&&32),c$1[1]|=31-(c$1[0]<<8|c$1[1])%31,o$2.dictionary){var h$1=adler();h$1.p(o$2.dictionary),wbytes(c$1,2,h$1.d())}},zls=function(d$1,dict){return((d$1[0]&15)!=8||d$1[0]>>4>7||(d$1[0]<<8|d$1[1])%31)&&err(6,`invalid zlib data`),(d$1[1]>>5&1)==+!dict&&err(6,`invalid zlib data: `+(d$1[1]&32?`need`:`unexpected`)+` dictionary`),(d$1[1]>>3&4)+2};function zlibSync(data,opts){opts||={};var a$2=adler();a$2.p(data);var d$1=dopt(data,opts,opts.dictionary?6:2,4);return zlh(d$1,opts),wbytes(d$1,d$1.length-4,a$2.d()),d$1}function unzlibSync(data,opts){return inflt(data.subarray(zls(data,opts&&opts.dictionary),-4),{i:2},opts&&opts.out,opts&&opts.dictionary)}var te=typeof TextEncoder<`u`&&new TextEncoder,td=typeof TextDecoder<`u`&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch{}var dutf8=function(d$1){for(var r$2=``,i$4=0;;){var c$1=d$1[i$4++],eb=(c$1>127)+(c$1>223)+(c$1>239);if(i$4+eb>d$1.length)return{s:r$2,r:slc(d$1,i$4-1)};eb?eb==3?(c$1=((c$1&15)<<18|(d$1[i$4++]&63)<<12|(d$1[i$4++]&63)<<6|d$1[i$4++]&63)-65536,r$2+=String.fromCharCode(55296|c$1>>10,56320|c$1&1023)):eb&1?r$2+=String.fromCharCode((c$1&31)<<6|d$1[i$4++]&63):r$2+=String.fromCharCode((c$1&15)<<12|(d$1[i$4++]&63)<<6|d$1[i$4++]&63):r$2+=String.fromCharCode(c$1)}};function strToU8(str,latin1){if(latin1){for(var ar_1=new u8(str.length),i$4=0;i$4<str.length;++i$4)ar_1[i$4]=str.charCodeAt(i$4);return ar_1}if(te)return te.encode(str);for(var l$4=str.length,ar=new u8(str.length+(str.length>>1)),ai=0,w$1=function(v$1){ar[ai++]=v$1},i$4=0;i$4<l$4;++i$4){if(ai+5>ar.length){var n$4=new u8(ai+8+(l$4-i$4<<1));n$4.set(ar),ar=n$4}var c$1=str.charCodeAt(i$4);c$1<128||latin1?w$1(c$1):c$1<2048?(w$1(192|c$1>>6),w$1(128|c$1&63)):c$1>55295&&c$1<57344?(c$1=65536+(c$1&1047552)|str.charCodeAt(++i$4)&1023,w$1(240|c$1>>18),w$1(128|c$1>>12&63),w$1(128|c$1>>6&63),w$1(128|c$1&63)):(w$1(224|c$1>>12),w$1(128|c$1>>6&63),w$1(128|c$1&63))}return slc(ar,0,ai)}function strFromU8(dat,latin1){if(latin1){for(var r$2=``,i$4=0;i$4<dat.length;i$4+=16384)r$2+=String.fromCharCode.apply(null,dat.subarray(i$4,i$4+16384));return r$2}else if(td)return td.decode(dat);else{var _a$1=dutf8(dat),s$6=_a$1.s,r$2=_a$1.r;return r$2.length&&err(8),s$6}}var import_semver=__toESM(require_semver()),StringifiedFunctionParser=class StringifiedFunctionParser{#namedBindings;#argNames;#functionBody;#isExpressionBody=!1;#isAsync=!1;#isGenerator=!1;constructor(functionString,namedBindings){this.#namedBindings=new Map,this.#argNames=[],this.#functionBody=``,isPlainObject(namedBindings)&&Object.entries(namedBindings).forEach(([key,value])=>{this.#namedBindings.set(key,value)});let trimmed=functionString.trim();this.#parseArgNames(trimmed),this.#parseFunctionBody(trimmed)}#parseArgNames(trimmed){let patterns=[/^\s*(?:async\s+)?\(([^)]*)\)\s*=>/,/^\s*(?:async\s+)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>/,/^\s*(?:async\s+)?function\s*(?:\*\s*)?(?:[a-zA-Z_$][a-zA-Z0-9_$]*)?\s*\(([^)]*)\)/,/^\s*(?:async\s+)?(?:\*\s*)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)\s*\{/],paramString=``;for(let pattern of patterns){let match$2=trimmed.match(pattern);if(match$2){paramString=match$2[1]||match$2[2]||``;break}}if(!paramString||!paramString.trim())return;let args$1=[],current=``,depth=0,inString=!1,stringChar=``;for(let i$4=0;i$4<paramString.length;i$4++){let char=paramString[i$4],prevChar=i$4>0?paramString[i$4-1]:``;if((char===`"`||char===`'`||char==="`")&&prevChar!==`\\`&&(inString?char===stringChar&&(inString=!1):(inString=!0,stringChar=char)),!inString&&(char===`{`||char===`[`||char===`(`?depth++:(char===`}`||char===`]`||char===`)`)&&depth--,char===`,`&&depth===0)){let processed=this.#processParameter(current.trim());processed&&args$1.push(processed),current=``;continue}current+=char}if(current.trim()){let processed=this.#processParameter(current.trim());processed&&args$1.push(processed)}this.#argNames.push(...args$1)}#processParameter(param){if(!param)return``;if(param=param.trim(),param.startsWith(`...`))return param.slice(3).trim().split(/[\s=]/)[0];if(param.startsWith(`{`)||param.startsWith(`[`))return param.split(/[\s=:]/)[0];let nameMatch=param.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);return nameMatch?nameMatch[1]:``}#parseFunctionBody(trimmed){this.#isAsync=/^\s*async\s+/.test(trimmed);let arrowExpressionMatch=trimmed.match(/^\s*(async\s+)?(?:\([^)]*\)|[a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>\s*(.+)$/s);if(arrowExpressionMatch&&!arrowExpressionMatch[2].trimStart().startsWith(`{`)){this.#isExpressionBody=!0,this.#functionBody=arrowExpressionMatch[2].trim();return}let arrowBlockMatch=trimmed.match(/^\s*(async\s+)?(?:\([^)]*\)|[a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>\s*\{([\s\S]*)\}\s*$/);if(arrowBlockMatch){this.#functionBody=arrowBlockMatch[2].trim();return}let functionMatch=trimmed.match(/^\s*(async\s+)?function\s*(\*\s*)?(?:[a-zA-Z_$][a-zA-Z0-9_$]*)?\s*\([^)]*\)\s*\{([\s\S]*)\}\s*$/);if(functionMatch){this.#isGenerator=!!functionMatch[2],this.#functionBody=functionMatch[3].trim();return}let methodMatch=trimmed.match(/^\s*(async\s+)?(\*\s*)?[a-zA-Z_$][a-zA-Z0-9_$]*\s*\([^)]*\)\s*\{([\s\S]*)\}\s*$/);if(methodMatch){this.#isGenerator=!!methodMatch[2],this.#functionBody=methodMatch[3].trim();return}let firstBrace=trimmed.indexOf(`{`),lastBrace=trimmed.lastIndexOf(`}`);if(firstBrace!==-1&&lastBrace!==-1&&lastBrace>firstBrace){this.#functionBody=trimmed.substring(firstBrace+1,lastBrace);return}}asFunction(){let functionBody=this.#isExpressionBody?`return ${this.#functionBody}`:this.#functionBody,bindingNames=Array.from(this.#namedBindings.keys()),allParams=[...bindingNames,...this.#argNames],paramList=allParams.join(`, `),functionCode=``;functionCode=this.#isAsync?this.#isGenerator?`async function*(${paramList}) { ${functionBody} }`:`async function(${paramList}) { ${functionBody} }`:this.#isGenerator?`function*(${paramList}) { ${functionBody} }`:`function(${paramList}) { ${functionBody} }`;let callable=Function(`return ${functionCode}`)(),namedBindingValues=Array.from(this.#namedBindings.values());function wrapper(...args$1){return callable.call(this,...namedBindingValues,...args$1)}return wrapper}static parse(functionString,namedBindings){let parser=new StringifiedFunctionParser(functionString,namedBindings);return parser.asFunction()}};const utoa=data=>{let buffer$3=strToU8(data),zipped=zlibSync(buffer$3,{level:9}),binary=strFromU8(zipped,!0);return btoa(binary)},atou=base64=>{let binary=atob(base64);if(binary.startsWith(`xÚ`)){let buffer$3=strToU8(binary,!0),unzipped=unzlibSync(buffer$3);return strFromU8(unzipped)}return decodeURIComponent(escape(binary))},defaultEncoderOptions={withDatabase:!1},isDehydratedValue=value=>isPlainObject(value)&&`_encodedType`in value&&`_encodedValueType`in value&&`_encodedValue`in value,dehydrateValue=(type,value)=>(typeof value==`function`&&(value=value.toString()),{_encodedType:type,_encodedValueType:typeof value,_encodedValue:value}),dehydrateKnexConnection=connection=>{if(isPlainObject(connection))return`getReadClient`in connection?dehydrateValue(`knexConnection`,connection.getReadClient()):dehydrateValue(`knexConnection`,connection);if(typeof connection==`function`&&connection.client!==void 0&&isPlainObject(connection.client.config))return dehydrateValue(`knexConnection`,connection.client.config);throw TypeError(`Cannot dehydrate unexpected type of Knex connection`)},rehydrateKnexConnection=dehydrated=>{let db=knex$1;return db(dehydrated._encodedValue)},rehydrateFunction=(functionString,namedBindings)=>StringifiedFunctionParser.parse(functionString,namedBindings),isReference=(obj,root$11)=>root$11.isRef(obj),rehydrateDatabaseFunction=dehydrated=>{let{_encodedValue:encodedValue}=dehydrated,{connection:dehydratedConnection,external}=encodedValue,connection=typeof dehydratedConnection==`function`&&dehydratedConnection.name===`knex`?dehydratedConnection:rehydrateKnexConnection(dehydratedConnection),rehydratedMethod=rehydrateFunction(external.method,{connection,isReference,resolveQueryBuilder});return{...external,method:rehydratedMethod}},rehydrateValue=dehydrated=>{let{_encodedType:encodedType,_encodedValue:encodedValue}=dehydrated;if(encodedType===`function`){let returnable=rehydrateFunction(encodedValue);if(typeof returnable!=`function`)throw TypeError(`Rehydrated value is not a function`);return returnable}else if(encodedType===`knexConnection`)return rehydrateKnexConnection(dehydrated);else if(encodedType===`databaseFunction`)return rehydrateDatabaseFunction(dehydrated);return encodedValue},isDatabaseRelatedFunction=fn$1=>{let functionString=fn$1.toString();return functionString.includes(`connection =`)&&functionString.includes(`.knexConnection`)},isExternalsWithDatabaseRelatedFunctionality=obj=>Array.isArray(obj)&&obj.some(item=>isPlainObject(item)&&`method`in item&&typeof item.method==`function`&&isDatabaseRelatedFunction(item.method)),hasExternalsWithDatabaseRelatedFunctionality=obj=>isPlainObject(obj)&&`externals`in obj&&isExternalsWithDatabaseRelatedFunctionality(obj.externals),encode=(schema$2,options={})=>{let opts={...defaultEncoderOptions,...options},description$2=schema$2.describe();for(let key in description$2.keys){if(description$2.keys[key]===void 0||description$2.keys[key].rules===void 0)continue;description$2.keys[key].rules=description$2.keys[key].rules.map(rule=>{for(let argKey in rule.args){let value=rule.args[argKey];value instanceof Phone&&(rule.args[argKey]=value.e164)}return rule})}let json$1=JSON.stringify({version:`1.20251103.0`,schema:description$2},(key,value)=>{if(typeof value==`bigint`)return value.toString();if(value===void 0)return null;if(value instanceof DateTime)return value.toObject();if(value instanceof Date)return DateTime.fromJSDate(value).toObject();if(hasExternalsWithDatabaseRelatedFunctionality(value)){let connection=value.flags.knexConnection;value.externals=value.externals.filter(external=>!(isDatabaseRelatedFunction(external.method)&&!opts.withDatabase)).map(external=>{if(isDatabaseRelatedFunction(external.method))return dehydrateValue(`databaseFunction`,{external:{...external,method:external.method.toString()},connection:dehydrateKnexConnection(connection)})})}return key===`knexConnection`?opts.withDatabase?dehydrateKnexConnection(value):void 0:typeof value==`function`?isDatabaseRelatedFunction(value)&&!opts.withDatabase?dehydrateValue(`function`,()=>{}):dehydrateValue(`function`,value):value});return utoa(json$1)},decode=(base64,options={})=>{let opts={...defaultEncoderOptions,...options},json$1=atou(base64),description$2=JSON.parse(json$1,(_,value)=>!opts.withDatabase&&isPlainObject(value)&&`knexConnection`in value?(delete value.knexConnection,value):isDehydratedValue(value)?rehydrateValue(value):value);if(!isPlainObject(description$2)||!(`version`in description$2)||!(`schema`in description$2)||typeof description$2.version!=`string`||!isPlainObject(description$2.schema))throw TypeError(`Not a valid encoded schema`);let{version:schemaVersion,schema:schema$2}=description$2;if(import_semver.valid(`1.20251103.0`)){if(!import_semver.valid(import_semver.coerce(schemaVersion)))throw TypeError(`Invalid schema version: ${schemaVersion}`);if(import_semver.gt(import_semver.coerce(schemaVersion),`1.20251103.0`))throw TypeError(`Schema version ${schemaVersion} is not compatible with current version 1.20251103.0`)}return validator.build(schema$2)},Joi=RootFactory.create({schemaTypeModifiers:[knex,fqdn],shortcutsModifiers:[]}),validator=patch(Joi.extend(bigint).extend(datetime).extend(phone)),TLDS=`AAA.AARP.ABB.ABBOTT.ABBVIE.ABC.ABLE.ABOGADO.ABUDHABI.AC.ACADEMY.ACCENTURE.ACCOUNTANT.ACCOUNTANTS.ACO.ACTOR.AD.ADS.ADULT.AE.AEG.AERO.AETNA.AF.AFL.AFRICA.AG.AGAKHAN.AGENCY.AI.AIG.AIRBUS.AIRFORCE.AIRTEL.AKDN.AL.ALIBABA.ALIPAY.ALLFINANZ.ALLSTATE.ALLY.ALSACE.ALSTOM.AM.AMAZON.AMERICANEXPRESS.AMERICANFAMILY.AMEX.AMFAM.AMICA.AMSTERDAM.ANALYTICS.ANDROID.ANQUAN.ANZ.AO.AOL.APARTMENTS.APP.APPLE.AQ.AQUARELLE.AR.ARAB.ARAMCO.ARCHI.ARMY.ARPA.ART.ARTE.AS.ASDA.ASIA.ASSOCIATES.AT.ATHLETA.ATTORNEY.AU.AUCTION.AUDI.AUDIBLE.AUDIO.AUSPOST.AUTHOR.AUTO.AUTOS.AW.AWS.AX.AXA.AZ.AZURE.BA.BABY.BAIDU.BANAMEX.BAND.BANK.BAR.BARCELONA.BARCLAYCARD.BARCLAYS.BAREFOOT.BARGAINS.BASEBALL.BASKETBALL.BAUHAUS.BAYERN.BB.BBC.BBT.BBVA.BCG.BCN.BD.BE.BEATS.BEAUTY.BEER.BERLIN.BEST.BESTBUY.BET.BF.BG.BH.BHARTI.BI.BIBLE.BID.BIKE.BING.BINGO.BIO.BIZ.BJ.BLACK.BLACKFRIDAY.BLOCKBUSTER.BLOG.BLOOMBERG.BLUE.BM.BMS.BMW.BN.BNPPARIBAS.BO.BOATS.BOEHRINGER.BOFA.BOM.BOND.BOO.BOOK.BOOKING.BOSCH.BOSTIK.BOSTON.BOT.BOUTIQUE.BOX.BR.BRADESCO.BRIDGESTONE.BROADWAY.BROKER.BROTHER.BRUSSELS.BS.BT.BUILD.BUILDERS.BUSINESS.BUY.BUZZ.BV.BW.BY.BZ.BZH.CA.CAB.CAFE.CAL.CALL.CALVINKLEIN.CAM.CAMERA.CAMP.CANON.CAPETOWN.CAPITAL.CAPITALONE.CAR.CARAVAN.CARDS.CARE.CAREER.CAREERS.CARS.CASA.CASE.CASH.CASINO.CAT.CATERING.CATHOLIC.CBA.CBN.CBRE.CC.CD.CENTER.CEO.CERN.CF.CFA.CFD.CG.CH.CHANEL.CHANNEL.CHARITY.CHASE.CHAT.CHEAP.CHINTAI.CHRISTMAS.CHROME.CHURCH.CI.CIPRIANI.CIRCLE.CISCO.CITADEL.CITI.CITIC.CITY.CK.CL.CLAIMS.CLEANING.CLICK.CLINIC.CLINIQUE.CLOTHING.CLOUD.CLUB.CLUBMED.CM.CN.CO.COACH.CODES.COFFEE.COLLEGE.COLOGNE.COM.COMMBANK.COMMUNITY.COMPANY.COMPARE.COMPUTER.COMSEC.CONDOS.CONSTRUCTION.CONSULTING.CONTACT.CONTRACTORS.COOKING.COOL.COOP.CORSICA.COUNTRY.COUPON.COUPONS.COURSES.CPA.CR.CREDIT.CREDITCARD.CREDITUNION.CRICKET.CROWN.CRS.CRUISE.CRUISES.CU.CUISINELLA.CV.CW.CX.CY.CYMRU.CYOU.CZ.DAD.DANCE.DATA.DATE.DATING.DATSUN.DAY.DCLK.DDS.DE.DEAL.DEALER.DEALS.DEGREE.DELIVERY.DELL.DELOITTE.DELTA.DEMOCRAT.DENTAL.DENTIST.DESI.DESIGN.DEV.DHL.DIAMONDS.DIET.DIGITAL.DIRECT.DIRECTORY.DISCOUNT.DISCOVER.DISH.DIY.DJ.DK.DM.DNP.DO.DOCS.DOCTOR.DOG.DOMAINS.DOT.DOWNLOAD.DRIVE.DTV.DUBAI.DUPONT.DURBAN.DVAG.DVR.DZ.EARTH.EAT.EC.ECO.EDEKA.EDU.EDUCATION.EE.EG.EMAIL.EMERCK.ENERGY.ENGINEER.ENGINEERING.ENTERPRISES.EPSON.EQUIPMENT.ER.ERICSSON.ERNI.ES.ESQ.ESTATE.ET.EU.EUROVISION.EUS.EVENTS.EXCHANGE.EXPERT.EXPOSED.EXPRESS.EXTRASPACE.FAGE.FAIL.FAIRWINDS.FAITH.FAMILY.FAN.FANS.FARM.FARMERS.FASHION.FAST.FEDEX.FEEDBACK.FERRARI.FERRERO.FI.FIDELITY.FIDO.FILM.FINAL.FINANCE.FINANCIAL.FIRE.FIRESTONE.FIRMDALE.FISH.FISHING.FIT.FITNESS.FJ.FK.FLICKR.FLIGHTS.FLIR.FLORIST.FLOWERS.FLY.FM.FO.FOO.FOOD.FOOTBALL.FORD.FOREX.FORSALE.FORUM.FOUNDATION.FOX.FR.FREE.FRESENIUS.FRL.FROGANS.FRONTIER.FTR.FUJITSU.FUN.FUND.FURNITURE.FUTBOL.FYI.GA.GAL.GALLERY.GALLO.GALLUP.GAME.GAMES.GAP.GARDEN.GAY.GB.GBIZ.GD.GDN.GE.GEA.GENT.GENTING.GEORGE.GF.GG.GGEE.GH.GI.GIFT.GIFTS.GIVES.GIVING.GL.GLASS.GLE.GLOBAL.GLOBO.GM.GMAIL.GMBH.GMO.GMX.GN.GODADDY.GOLD.GOLDPOINT.GOLF.GOO.GOODYEAR.GOOG.GOOGLE.GOP.GOT.GOV.GP.GQ.GR.GRAINGER.GRAPHICS.GRATIS.GREEN.GRIPE.GROCERY.GROUP.GS.GT.GU.GUCCI.GUGE.GUIDE.GUITARS.GURU.GW.GY.HAIR.HAMBURG.HANGOUT.HAUS.HBO.HDFC.HDFCBANK.HEALTH.HEALTHCARE.HELP.HELSINKI.HERE.HERMES.HIPHOP.HISAMITSU.HITACHI.HIV.HK.HKT.HM.HN.HOCKEY.HOLDINGS.HOLIDAY.HOMEDEPOT.HOMEGOODS.HOMES.HOMESENSE.HONDA.HORSE.HOSPITAL.HOST.HOSTING.HOT.HOTELS.HOTMAIL.HOUSE.HOW.HR.HSBC.HT.HU.HUGHES.HYATT.HYUNDAI.IBM.ICBC.ICE.ICU.ID.IE.IEEE.IFM.IKANO.IL.IM.IMAMAT.IMDB.IMMO.IMMOBILIEN.IN.INC.INDUSTRIES.INFINITI.INFO.ING.INK.INSTITUTE.INSURANCE.INSURE.INT.INTERNATIONAL.INTUIT.INVESTMENTS.IO.IPIRANGA.IQ.IR.IRISH.IS.ISMAILI.IST.ISTANBUL.IT.ITAU.ITV.JAGUAR.JAVA.JCB.JE.JEEP.JETZT.JEWELRY.JIO.JLL.JM.JMP.JNJ.JO.JOBS.JOBURG.JOT.JOY.JP.JPMORGAN.JPRS.JUEGOS.JUNIPER.KAUFEN.KDDI.KE.KERRYHOTELS.KERRYPROPERTIES.KFH.KG.KH.KI.KIA.KIDS.KIM.KINDLE.KITCHEN.KIWI.KM.KN.KOELN.KOMATSU.KOSHER.KP.KPMG.KPN.KR.KRD.KRED.KUOKGROUP.KW.KY.KYOTO.KZ.LA.LACAIXA.LAMBORGHINI.LAMER.LAND.LANDROVER.LANXESS.LASALLE.LAT.LATINO.LATROBE.LAW.LAWYER.LB.LC.LDS.LEASE.LECLERC.LEFRAK.LEGAL.LEGO.LEXUS.LGBT.LI.LIDL.LIFE.LIFEINSURANCE.LIFESTYLE.LIGHTING.LIKE.LILLY.LIMITED.LIMO.LINCOLN.LINK.LIVE.LIVING.LK.LLC.LLP.LOAN.LOANS.LOCKER.LOCUS.LOL.LONDON.LOTTE.LOTTO.LOVE.LPL.LPLFINANCIAL.LR.LS.LT.LTD.LTDA.LU.LUNDBECK.LUXE.LUXURY.LV.LY.MA.MADRID.MAIF.MAISON.MAKEUP.MAN.MANAGEMENT.MANGO.MAP.MARKET.MARKETING.MARKETS.MARRIOTT.MARSHALLS.MATTEL.MBA.MC.MCKINSEY.MD.ME.MED.MEDIA.MEET.MELBOURNE.MEME.MEMORIAL.MEN.MENU.MERCKMSD.MG.MH.MIAMI.MICROSOFT.MIL.MINI.MINT.MIT.MITSUBISHI.MK.ML.MLB.MLS.MM.MMA.MN.MO.MOBI.MOBILE.MODA.MOE.MOI.MOM.MONASH.MONEY.MONSTER.MORMON.MORTGAGE.MOSCOW.MOTO.MOTORCYCLES.MOV.MOVIE.MP.MQ.MR.MS.MSD.MT.MTN.MTR.MU.MUSEUM.MUSIC.MV.MW.MX.MY.MZ.NA.NAB.NAGOYA.NAME.NAVY.NBA.NC.NE.NEC.NET.NETBANK.NETFLIX.NETWORK.NEUSTAR.NEW.NEWS.NEXT.NEXTDIRECT.NEXUS.NF.NFL.NG.NGO.NHK.NI.NICO.NIKE.NIKON.NINJA.NISSAN.NISSAY.NL.NO.NOKIA.NORTON.NOW.NOWRUZ.NOWTV.NP.NR.NRA.NRW.NTT.NU.NYC.NZ.OBI.OBSERVER.OFFICE.OKINAWA.OLAYAN.OLAYANGROUP.OLLO.OM.OMEGA.ONE.ONG.ONL.ONLINE.OOO.OPEN.ORACLE.ORANGE.ORG.ORGANIC.ORIGINS.OSAKA.OTSUKA.OTT.OVH.PA.PAGE.PANASONIC.PARIS.PARS.PARTNERS.PARTS.PARTY.PAY.PCCW.PE.PET.PF.PFIZER.PG.PH.PHARMACY.PHD.PHILIPS.PHONE.PHOTO.PHOTOGRAPHY.PHOTOS.PHYSIO.PICS.PICTET.PICTURES.PID.PIN.PING.PINK.PIONEER.PIZZA.PK.PL.PLACE.PLAY.PLAYSTATION.PLUMBING.PLUS.PM.PN.PNC.POHL.POKER.POLITIE.PORN.POST.PR.PRAXI.PRESS.PRIME.PRO.PROD.PRODUCTIONS.PROF.PROGRESSIVE.PROMO.PROPERTIES.PROPERTY.PROTECTION.PRU.PRUDENTIAL.PS.PT.PUB.PW.PWC.PY.QA.QPON.QUEBEC.QUEST.RACING.RADIO.RE.READ.REALESTATE.REALTOR.REALTY.RECIPES.RED.REDUMBRELLA.REHAB.REISE.REISEN.REIT.RELIANCE.REN.RENT.RENTALS.REPAIR.REPORT.REPUBLICAN.REST.RESTAURANT.REVIEW.REVIEWS.REXROTH.RICH.RICHARDLI.RICOH.RIL.RIO.RIP.RO.ROCKS.RODEO.ROGERS.ROOM.RS.RSVP.RU.RUGBY.RUHR.RUN.RW.RWE.RYUKYU.SA.SAARLAND.SAFE.SAFETY.SAKURA.SALE.SALON.SAMSCLUB.SAMSUNG.SANDVIK.SANDVIKCOROMANT.SANOFI.SAP.SARL.SAS.SAVE.SAXO.SB.SBI.SBS.SC.SCB.SCHAEFFLER.SCHMIDT.SCHOLARSHIPS.SCHOOL.SCHULE.SCHWARZ.SCIENCE.SCOT.SD.SE.SEARCH.SEAT.SECURE.SECURITY.SEEK.SELECT.SENER.SERVICES.SEVEN.SEW.SEX.SEXY.SFR.SG.SH.SHANGRILA.SHARP.SHELL.SHIA.SHIKSHA.SHOES.SHOP.SHOPPING.SHOUJI.SHOW.SI.SILK.SINA.SINGLES.SITE.SJ.SK.SKI.SKIN.SKY.SKYPE.SL.SLING.SM.SMART.SMILE.SN.SNCF.SO.SOCCER.SOCIAL.SOFTBANK.SOFTWARE.SOHU.SOLAR.SOLUTIONS.SONG.SONY.SOY.SPA.SPACE.SPORT.SPOT.SR.SRL.SS.ST.STADA.STAPLES.STAR.STATEBANK.STATEFARM.STC.STCGROUP.STOCKHOLM.STORAGE.STORE.STREAM.STUDIO.STUDY.STYLE.SU.SUCKS.SUPPLIES.SUPPLY.SUPPORT.SURF.SURGERY.SUZUKI.SV.SWATCH.SWISS.SX.SY.SYDNEY.SYSTEMS.SZ.TAB.TAIPEI.TALK.TAOBAO.TARGET.TATAMOTORS.TATAR.TATTOO.TAX.TAXI.TC.TCI.TD.TDK.TEAM.TECH.TECHNOLOGY.TEL.TEMASEK.TENNIS.TEVA.TF.TG.TH.THD.THEATER.THEATRE.TIAA.TICKETS.TIENDA.TIPS.TIRES.TIROL.TJ.TJMAXX.TJX.TK.TKMAXX.TL.TM.TMALL.TN.TO.TODAY.TOKYO.TOOLS.TOP.TORAY.TOSHIBA.TOTAL.TOURS.TOWN.TOYOTA.TOYS.TR.TRADE.TRADING.TRAINING.TRAVEL.TRAVELERS.TRAVELERSINSURANCE.TRUST.TRV.TT.TUBE.TUI.TUNES.TUSHU.TV.TVS.TW.TZ.UA.UBANK.UBS.UG.UK.UNICOM.UNIVERSITY.UNO.UOL.UPS.US.UY.UZ.VA.VACATIONS.VANA.VANGUARD.VC.VE.VEGAS.VENTURES.VERISIGN.VERSICHERUNG.VET.VG.VI.VIAJES.VIDEO.VIG.VIKING.VILLAS.VIN.VIP.VIRGIN.VISA.VISION.VIVA.VIVO.VLAANDEREN.VN.VODKA.VOLVO.VOTE.VOTING.VOTO.VOYAGE.VU.WALES.WALMART.WALTER.WANG.WANGGOU.WATCH.WATCHES.WEATHER.WEATHERCHANNEL.WEBCAM.WEBER.WEBSITE.WED.WEDDING.WEIBO.WEIR.WF.WHOSWHO.WIEN.WIKI.WILLIAMHILL.WIN.WINDOWS.WINE.WINNERS.WME.WOLTERSKLUWER.WOODSIDE.WORK.WORKS.WORLD.WOW.WS.WTC.WTF.XBOX.XEROX.XIHUAN.XIN.XN--11B4C3D.XN--1CK2E1B.XN--1QQW23A.XN--2SCRJ9C.XN--30RR7Y.XN--3BST00M.XN--3DS443G.XN--3E0B707E.XN--3HCRJ9C.XN--3PXU8K.XN--42C2D9A.XN--45BR5CYL.XN--45BRJ9C.XN--45Q11C.XN--4DBRK0CE.XN--4GBRIM.XN--54B7FTA0CC.XN--55QW42G.XN--55QX5D.XN--5SU34J936BGSG.XN--5TZM5G.XN--6FRZ82G.XN--6QQ986B3XL.XN--80ADXHKS.XN--80AO21A.XN--80AQECDR1A.XN--80ASEHDB.XN--80ASWG.XN--8Y0A063A.XN--90A3AC.XN--90AE.XN--90AIS.XN--9DBQ2A.XN--9ET52U.XN--9KRT00A.XN--B4W605FERD.XN--BCK1B9A5DRE4C.XN--C1AVG.XN--C2BR7G.XN--CCK2B3B.XN--CCKWCXETD.XN--CG4BKI.XN--CLCHC0EA0B2G2A9GCD.XN--CZR694B.XN--CZRS0T.XN--CZRU2D.XN--D1ACJ3B.XN--D1ALF.XN--E1A4C.XN--ECKVDTC9D.XN--EFVY88H.XN--FCT429K.XN--FHBEI.XN--FIQ228C5HS.XN--FIQ64B.XN--FIQS8S.XN--FIQZ9S.XN--FJQ720A.XN--FLW351E.XN--FPCRJ9C3D.XN--FZC2C9E2C.XN--FZYS8D69UVGM.XN--G2XX48C.XN--GCKR3F0F.XN--GECRJ9C.XN--GK3AT1E.XN--H2BREG3EVE.XN--H2BRJ9C.XN--H2BRJ9C8C.XN--HXT814E.XN--I1B6B1A6A2E.XN--IMR513N.XN--IO0A7I.XN--J1AEF.XN--J1AMH.XN--J6W193G.XN--JLQ480N2RG.XN--JVR189M.XN--KCRX77D1X4A.XN--KPRW13D.XN--KPRY57D.XN--KPUT3I.XN--L1ACC.XN--LGBBAT1AD8J.XN--MGB9AWBF.XN--MGBA3A3EJT.XN--MGBA3A4F16A.XN--MGBA7C0BBN0A.XN--MGBAAM7A8H.XN--MGBAB2BD.XN--MGBAH1A3HJKRD.XN--MGBAI9AZGQP6J.XN--MGBAYH7GPA.XN--MGBBH1A.XN--MGBBH1A71E.XN--MGBC0A9AZCG.XN--MGBCA7DZDO.XN--MGBCPQ6GPA1A.XN--MGBERP4A5D4AR.XN--MGBGU82A.XN--MGBI4ECEXP.XN--MGBPL2FH.XN--MGBT3DHD.XN--MGBTX2B.XN--MGBX4CD0AB.XN--MIX891F.XN--MK1BU44C.XN--MXTQ1M.XN--NGBC5AZD.XN--NGBE9E0A.XN--NGBRX.XN--NODE.XN--NQV7F.XN--NQV7FS00EMA.XN--NYQY26A.XN--O3CW4H.XN--OGBPF8FL.XN--OTU796D.XN--P1ACF.XN--P1AI.XN--PGBS0DH.XN--PSSY2U.XN--Q7CE6A.XN--Q9JYB4C.XN--QCKA1PMC.XN--QXA6A.XN--QXAM.XN--RHQV96G.XN--ROVU88B.XN--RVC1E0AM3E.XN--S9BRJ9C.XN--SES554G.XN--T60B56A.XN--TCKWE.XN--TIQ49XQYJ.XN--UNUP4Y.XN--VERMGENSBERATER-CTB.XN--VERMGENSBERATUNG-PWB.XN--VHQUV.XN--VUQ861B.XN--W4R85EL8FHU5DNRA.XN--W4RS40L.XN--WGBH1C.XN--WGBL6A.XN--XHQ521B.XN--XKC2AL3HYE2A.XN--XKC2DL3A5EE0H.XN--Y9A3AQ.XN--YFRO4I67O.XN--YGBI2AMMX.XN--ZFR164B.XXX.XYZ.YACHTS.YAHOO.YAMAXUN.YANDEX.YE.YODOBASHI.YOGA.YOKOHAMA.YOU.YOUTUBE.YT.YUN.ZA.ZAPPOS.ZARA.ZERO.ZIP.ZM.ZONE.ZUERICH.ZW`.split(`.`),tlds=new Set(TLDS.map(tld=>tld.toLowerCase()));init_esm();var import_lib=__toESM(require_lib$3()),import_lib$1=__toESM(require_lib$2()),import_lib$2=__toESM(require_lib());const version=`1.20251103.0`;var ValidationError=import_lib$2.ValidationError,location=import_lib$1.location;export{ValidationError,esm_exports as address,decode,encode,import_lib as formula,location,tlds,validator,version};
160
+ }`}serialize(){let o$2=buffer.Buffer.from(JSON.stringify({phone:this.raw,country:this.country})).toString(`base64`);return buffer.Buffer.from(JSON.stringify({phone:this.raw,country:this.country,hash:o$2})).toString(`base64`)}static deserialize(o$2){let r$2;try{r$2=buffer.Buffer.from(o$2,`base64`).toString(`utf-8`)}catch{throw Error(`Not a valid serialized phone object`)}let u;try{u=JSON.parse(r$2)}catch{throw Error(`Not a valid serialized phone object`)}if(!u.phone||!u.country||!u.hash||buffer.Buffer.from(JSON.stringify({phone:u.phone,country:u.country})).toString(`base64`)!==u.hash)throw Error(`Not a valid serialized phone object`);return new Te$1(u.phone,u.country===`XX`?void 0:u.country)}};z=new WeakMap,H=new WeakMap,Z=new WeakMap,V=new WeakMap,se=new WeakMap,le=new WeakMap,W=new WeakSet,Le=function(o$2){let r$2=country_telephone_data.allCountries.map(u=>({iso:u.iso2.toUpperCase(),prefix:String(u.dialCode).trim().replace(/\D/g,``)})).filter(u=>o$2.substring(0,u.prefix.length)===u.prefix).sort(ne(this,W,be)).filter(u=>{let h$1=this.constructor;return new h$1(o$2,u.iso).valid});return r$2.length>=1?r$2[0].iso:ne(this,W,Fe).call(this,o$2)},Fe=function(o$2){let r$2=country_telephone_data.allCountries.map(u=>({iso:u.iso2.toUpperCase(),prefix:String(u.dialCode).trim().replace(/\D/g,``)})).sort(ne(this,W,be)).filter(u=>{let h$1=this.constructor;return new h$1(o$2,u.iso).valid});return r$2.length>=1?r$2[0].iso:`XX`},be=function(o$2,r$2){if(o$2.prefix.length===r$2.prefix.length){let u=Number.parseInt(o$2.prefix),h$1=Number.parseInt(r$2.prefix);return u===h$1?o$2.iso.localeCompare(r$2.iso):u>h$1?1:-1}return o$2.prefix.length>r$2.prefix.length?1:-1},we=function(o$2){if(!o$2)return`INVALID`;let r$2=M(this,Z).getNumberType(o$2),u=Object.values(libphonenumberExports.PhoneNumberType),h$1=Object.keys(libphonenumberExports.PhoneNumberType),m$3=u.indexOf(r$2);return h$1[m$3]||`INVALID`},ve=function(){let o$2=this.raw.substring(1,4);return areaCodeMap[o$2]&&typeof areaCodeMap[o$2]==`string`?areaCodeMap[o$2]:`XX`};let Phone=Te;const version$1=`1.20250512.0`,messages={"phone.base":`{{#label}} must be a phone number`,"phone.invalid":`{{#label}} must be a valid phone number for {{#country}}`,"phone.fixedLine":`{{#label}} must be a fixed line number for {{#country}}`,"phone.mobile":`{{#label}} must be a mobile number for {{#country}}`,"phone.strictFixedLine":`{{#label}} is not a fixed line number for {{#country}}`,"phone.strictMobile":`{{#label}} is not a mobile number for {{#country}}`,"phone.fixedLineOrMobile":`{{#label}} must be a fixed line or mobile number for {{#country}}`,"phone.tollFree":`{{#label}} must be a toll-free number for {{#country}}`,"phone.premiumRate":`{{#label}} must be a premium rate number for {{#country}}`,"phone.sharedCost":`{{#label}} must be a shared cost number for {{#country}}`,"phone.voip":`{{#label}} must be a VoIP number for {{#country}}`,"phone.personalNumber":`{{#label}} must be a personal number for {{#country}}`,"phone.pager":`{{#label}} must be a pager number for {{#country}}`,"phone.uan":`{{#label}} must be a UAN number for {{#country}}`,"phone.voicemail":`{{#label}} must be a voicemail number for {{#country}}`,"phone.unknown":`{{#label}} must be an unknown type number for {{#country}}`,"phone.types":`{{#label}} must be one of the specified phone types for {{#country}}`},coerceCountry=value=>{if(typeof value!=`string`)return null;if(isos.has(value.toUpperCase()))return value.toUpperCase();let match$2=null;return countries.forEach((name$2,iso)=>{name$2.toLowerCase()===value.toLowerCase()&&(match$2=iso)}),match$2},getPhoneObject=(value,country)=>{let countryCoerced=coerceCountry(country);try{return new Phone(value,countryCoerced||void 0)}catch{return}},evaluate=(value,operator$1,args$1)=>{switch(operator$1){case`fixedLine`:return[`FIXED_LINE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`mobile`:return[`MOBILE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`fixedLineOrMobile`:return[`FIXED_LINE`,`MOBILE`,`FIXED_LINE_OR_MOBILE`].includes(value.type);case`strictFixedLine`:return value.type===`FIXED_LINE`;case`strictMobile`:return value.type===`MOBILE`;case`tollFree`:return value.type===`TOLL_FREE`;case`premiumRate`:return value.type===`PREMIUM_RATE`;case`sharedCost`:return value.type===`SHARED_COST`;case`voip`:return value.type===`VOIP`;case`personalNumber`:return value.type===`PERSONAL_NUMBER`;case`pager`:return value.type===`PAGER`;case`uan`:return value.type===`UAN`;case`voicemail`:return value.type===`VOICEMAIL`;case`unknown`:return value.type===`UNKNOWN`;case`types`:return args$1[0].includes(value.type);default:return!1}},phone=function(joi){let coerce$3=(value,helpers$8)=>typeof value==`string`||typeof value==`number`?(value=value.toString().trim(),{value}):{value,errors:[helpers$8.error(`phone.base`,{value:String(value)})]},getCountryName=iso=>{if(`$i18n`in joi){let root$11=joi;if(!countries.has(iso))return iso;let returnable=root$11.$i18n(`country.${iso}`);return returnable||countries.get(iso)||iso}return countries.get(iso)||iso};return{type:`phone`,base:joi.any(),validate(value,{error,schema:schema$2,prefs,state}){let isEmpty$13=value==null,isRequired=schema$2._flags.presence===`required`;if(isEmpty$13&&!isRequired)return{value:null};if(isEmpty$13&&isRequired)return{value,errors:[error(`any.required`,{label:schema$2._flags.label})]};let arg=schema$2.$_getFlag(`country`),country=joi.isRef(arg)?arg.resolve(value,state,prefs):arg,pObj=getPhoneObject(value,country);if(pObj){if(!pObj.valid)return country?{value,errors:[error(`phone.invalid`,{value:String(value),country:getCountryName(country)})]}:{value,errors:[error(`phone.base`,{value:String(value)})]}}else return{value,errors:[error(`phone.base`,{value:String(value)})]};let as=schema$2.$_getFlag(`as`)||`e164`,formattedValue;switch(as){case`international`:formattedValue=pObj.international;break;case`national`:formattedValue=pObj.national;break;case`raw`:formattedValue=pObj.raw;break;case`timezone`:formattedValue=pObj.timezone;break;case`type`:formattedValue=pObj.type;break;case`country`:formattedValue=pObj.country;break;default:formattedValue=pObj.e164}return{value:formattedValue}},flags:{country:{default:null,setter:`country`},as:{default:`e164`,setter:`format`}},args(...args$1){let[schema$2,country]=args$1;return schema$2.country(country)},coerce:{from:[`string`,`number`],method:coerce$3},rules:{check:{method:!1,validate(value,helpers$8,args$1,{name:name$2,operator:operator$1}){let{state,prefs}=helpers$8,countryVal=helpers$8.schema.$_getFlag(`country`);joi.isRef(countryVal)&&(countryVal=countryVal.resolve(value,state,prefs));let pObj=getPhoneObject(value,countryVal);if(pObj){if(!pObj.valid)return countryVal?helpers$8.error(`phone.invalid`,{value:String(value),country:getCountryName(countryVal)}):{value,errors:[helpers$8.error(`phone.base`,{value:String(value)})]}}else return helpers$8.error(`phone.base`,{value:String(value)});let valid$2=evaluate(pObj,operator$1,Object.values(args$1||{}));return valid$2?value:helpers$8.error(`phone.`+name$2,{value:value.toString(),country:getCountryName(countryVal),...args$1})}},country:{method(country){return this.$_setFlag(`country`,country)},args:[{name:`country`,ref:!0,assert:value=>typeof value==`string`||joi.isRef(value),message:`must be a string or a reference`}]},format:{method(as){return this.$_setFlag(`as`,as)},args:[{name:`as`,assert:value=>[`e164`,`international`,`national`,`raw`,`timezone`,`type`,`country`].includes(value),message:`must be one of e164, international, national, raw, timezone, type, or country`}]},fixedLine:{method(){return this.$_addRule({name:`fixedLine`,method:`check`,operator:`fixedLine`})}},mobile:{method(){return this.$_addRule({name:`mobile`,method:`check`,operator:`mobile`})}},strictFixedLine:{method(){return this.$_addRule({name:`strictFixedLine`,method:`check`,operator:`strictFixedLine`})}},strictMobile:{method(){return this.$_addRule({name:`strictMobile`,method:`check`,operator:`strictMobile`})}},fixedLineOrMobile:{method(){return this.$_addRule({name:`fixedLineOrMobile`,method:`check`,operator:`fixedLineOrMobile`})}},tollFree:{method(){return this.$_addRule({name:`tollFree`,method:`check`,operator:`tollFree`})}},premiumRate:{method(){return this.$_addRule({name:`premiumRate`,method:`check`,operator:`premiumRate`})}},sharedCost:{method(){return this.$_addRule({name:`sharedCost`,method:`check`,operator:`sharedCost`})}},voip:{method(){return this.$_addRule({name:`voip`,method:`check`,operator:`voip`})}},personalNumber:{method(){return this.$_addRule({name:`personalNumber`,method:`check`,operator:`personalNumber`})}},pager:{method(){return this.$_addRule({name:`pager`,method:`check`,operator:`pager`})}},uan:{method(){return this.$_addRule({name:`uan`,method:`check`,operator:`uan`})}},voicemail:{method(){return this.$_addRule({name:`voicemail`,method:`check`,operator:`voicemail`})}},unknown:{method(){return this.$_addRule({name:`unknown`,method:`check`,operator:`unknown`})}},types:{method(...types$1){return this.$_addRule({name:`types`,method:`check`,operator:`types`,args:{types:types$1}})}}},cast:{string:{from:value=>typeof value==`string`||typeof value==`number`,to:value=>value},number:{from:value=>typeof value==`string`||typeof value==`number`,to(value,helpers$8){let country=helpers$8.schema.$_getFlag(`country`),pObj=getPhoneObject(value,country);return pObj?Number(pObj.raw):-1}},object:{from:value=>typeof value==`string`||typeof value==`number`,to(value,helpers$8){let country=helpers$8.schema.$_getFlag(`country`),pObj=getPhoneObject(value,country);return pObj?pObj.toObject():{}}}},messages}};var DP=20,RM=1,MAX_DP=1e6,MAX_POWER=1e6,NE=-7,PE=21,STRICT=!1,NAME=`[big.js] `,INVALID$3=NAME+`Invalid `,INVALID_DP=INVALID$3+`decimal places`,INVALID_RM=INVALID$3+`rounding mode`,DIV_BY_ZERO=NAME+`Division by zero`,P={},UNDEFINED=void 0,NUMERIC=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big$1(n$4){var x$1=this;if(!(x$1 instanceof Big$1))return n$4===UNDEFINED&&arguments.length===0?_Big_():new Big$1(n$4);if(n$4 instanceof Big$1)x$1.s=n$4.s,x$1.e=n$4.e,x$1.c=n$4.c.slice();else{if(typeof n$4!=`string`){if(Big$1.strict===!0&&typeof n$4!=`bigint`)throw TypeError(INVALID$3+`value`);n$4=n$4===0&&1/n$4<0?`-0`:String(n$4)}parse$8(x$1,n$4)}x$1.constructor=Big$1}return Big$1.prototype=P,Big$1.DP=DP,Big$1.RM=RM,Big$1.NE=NE,Big$1.PE=PE,Big$1.strict=STRICT,Big$1.roundDown=0,Big$1.roundHalfUp=1,Big$1.roundHalfEven=2,Big$1.roundUp=3,Big$1}function parse$8(x$1,n$4){var e$2,i$4,nl;if(!NUMERIC.test(n$4))throw Error(INVALID$3+`number`);for(x$1.s=n$4.charAt(0)==`-`?(n$4=n$4.slice(1),-1):1,(e$2=n$4.indexOf(`.`))>-1&&(n$4=n$4.replace(`.`,``)),(i$4=n$4.search(/e/i))>0?(e$2<0&&(e$2=i$4),e$2+=+n$4.slice(i$4+1),n$4=n$4.substring(0,i$4)):e$2<0&&(e$2=n$4.length),nl=n$4.length,i$4=0;i$4<nl&&n$4.charAt(i$4)==`0`;)++i$4;if(i$4==nl)x$1.c=[x$1.e=0];else{for(;nl>0&&n$4.charAt(--nl)==`0`;);for(x$1.e=e$2-i$4-1,x$1.c=[],e$2=0;i$4<=nl;)x$1.c[e$2++]=+n$4.charAt(i$4++)}return x$1}function round(x$1,sd,rm,more){var xc=x$1.c;if(rm===UNDEFINED&&(rm=x$1.constructor.RM),rm!==0&&rm!==1&&rm!==2&&rm!==3)throw Error(INVALID_RM);if(sd<1)more=rm===3&&(more||!!xc[0])||sd===0&&(rm===1&&xc[0]>=5||rm===2&&(xc[0]>5||xc[0]===5&&(more||xc[1]!==UNDEFINED))),xc.length=1,more?(x$1.e=x$1.e-sd+1,xc[0]=1):xc[0]=x$1.e=0;else if(sd<xc.length){if(more=rm===1&&xc[sd]>=5||rm===2&&(xc[sd]>5||xc[sd]===5&&(more||xc[sd+1]!==UNDEFINED||xc[sd-1]&1))||rm===3&&(more||!!xc[0]),xc.length=sd,more){for(;++xc[--sd]>9;)if(xc[sd]=0,sd===0){++x$1.e,xc.unshift(1);break}}for(sd=xc.length;!xc[--sd];)xc.pop()}return x$1}function stringify(x$1,doExponential,isNonzero){var e$2=x$1.e,s$6=x$1.c.join(``),n$4=s$6.length;if(doExponential)s$6=s$6.charAt(0)+(n$4>1?`.`+s$6.slice(1):``)+(e$2<0?`e`:`e+`)+e$2;else if(e$2<0){for(;++e$2;)s$6=`0`+s$6;s$6=`0.`+s$6}else if(e$2>0)if(++e$2>n$4)for(e$2-=n$4;e$2--;)s$6+=`0`;else e$2<n$4&&(s$6=s$6.slice(0,e$2)+`.`+s$6.slice(e$2));else n$4>1&&(s$6=s$6.charAt(0)+`.`+s$6.slice(1));return x$1.s<0&&isNonzero?`-`+s$6:s$6}P.abs=function(){var x$1=new this.constructor(this);return x$1.s=1,x$1},P.cmp=function(y$1){var isneg,x$1=this,xc=x$1.c,yc=(y$1=new x$1.constructor(y$1)).c,i$4=x$1.s,j$1=y$1.s,k=x$1.e,l$4=y$1.e;if(!xc[0]||!yc[0])return xc[0]?i$4:yc[0]?-j$1:0;if(i$4!=j$1)return i$4;if(isneg=i$4<0,k!=l$4)return k>l$4^isneg?1:-1;for(j$1=(k=xc.length)<(l$4=yc.length)?k:l$4,i$4=-1;++i$4<j$1;)if(xc[i$4]!=yc[i$4])return xc[i$4]>yc[i$4]^isneg?1:-1;return k==l$4?0:k>l$4^isneg?1:-1},P.div=function(y$1){var x$1=this,Big$1=x$1.constructor,a$2=x$1.c,b=(y$1=new Big$1(y$1)).c,k=x$1.s==y$1.s?1:-1,dp=Big$1.DP;if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);if(!b[0])throw Error(DIV_BY_ZERO);if(!a$2[0])return y$1.s=k,y$1.c=[y$1.e=0],y$1;var bl,bt,n$4,cmp$3,ri,bz=b.slice(),ai=bl=b.length,al=a$2.length,r$2=a$2.slice(0,bl),rl=r$2.length,q=y$1,qc=q.c=[],qi=0,p$1=dp+(q.e=x$1.e-y$1.e)+1;for(q.s=k,k=p$1<0?0:p$1,bz.unshift(0);rl++<bl;)r$2.push(0);do{for(n$4=0;n$4<10;n$4++){if(bl!=(rl=r$2.length))cmp$3=bl>rl?1:-1;else for(ri=-1,cmp$3=0;++ri<bl;)if(b[ri]!=r$2[ri]){cmp$3=b[ri]>r$2[ri]?1:-1;break}if(cmp$3<0){for(bt=rl==bl?b:bz;rl;){if(r$2[--rl]<bt[rl]){for(ri=rl;ri&&!r$2[--ri];)r$2[ri]=9;--r$2[ri],r$2[rl]+=10}r$2[rl]-=bt[rl]}for(;!r$2[0];)r$2.shift()}else break}qc[qi++]=cmp$3?n$4:++n$4,r$2[0]&&cmp$3?r$2[rl]=a$2[ai]||0:r$2=[a$2[ai]]}while((ai++<al||r$2[0]!==UNDEFINED)&&k--);return!qc[0]&&qi!=1&&(qc.shift(),q.e--,p$1--),qi>p$1&&round(q,p$1,Big$1.RM,r$2[0]!==UNDEFINED),q},P.eq=function(y$1){return this.cmp(y$1)===0},P.gt=function(y$1){return this.cmp(y$1)>0},P.gte=function(y$1){return this.cmp(y$1)>-1},P.lt=function(y$1){return this.cmp(y$1)<0},P.lte=function(y$1){return this.cmp(y$1)<1},P.minus=P.sub=function(y$1){var i$4,j$1,t$7,xlty,x$1=this,Big$1=x$1.constructor,a$2=x$1.s,b=(y$1=new Big$1(y$1)).s;if(a$2!=b)return y$1.s=-b,x$1.plus(y$1);var xc=x$1.c.slice(),xe=x$1.e,yc=y$1.c,ye=y$1.e;if(!xc[0]||!yc[0])return yc[0]?y$1.s=-b:xc[0]?y$1=new Big$1(x$1):y$1.s=1,y$1;if(a$2=xe-ye){for((xlty=a$2<0)?(a$2=-a$2,t$7=xc):(ye=xe,t$7=yc),t$7.reverse(),b=a$2;b--;)t$7.push(0);t$7.reverse()}else for(j$1=((xlty=xc.length<yc.length)?xc:yc).length,a$2=b=0;b<j$1;b++)if(xc[b]!=yc[b]){xlty=xc[b]<yc[b];break}if(xlty&&(t$7=xc,xc=yc,yc=t$7,y$1.s=-y$1.s),(b=(j$1=yc.length)-(i$4=xc.length))>0)for(;b--;)xc[i$4++]=0;for(b=i$4;j$1>a$2;){if(xc[--j$1]<yc[j$1]){for(i$4=j$1;i$4&&!xc[--i$4];)xc[i$4]=9;--xc[i$4],xc[j$1]+=10}xc[j$1]-=yc[j$1]}for(;xc[--b]===0;)xc.pop();for(;xc[0]===0;)xc.shift(),--ye;return xc[0]||(y$1.s=1,xc=[ye=0]),y$1.c=xc,y$1.e=ye,y$1},P.mod=function(y$1){var ygtx,x$1=this,Big$1=x$1.constructor,a$2=x$1.s,b=(y$1=new Big$1(y$1)).s;if(!y$1.c[0])throw Error(DIV_BY_ZERO);return x$1.s=y$1.s=1,ygtx=y$1.cmp(x$1)==1,x$1.s=a$2,y$1.s=b,ygtx?new Big$1(x$1):(a$2=Big$1.DP,b=Big$1.RM,Big$1.DP=Big$1.RM=0,x$1=x$1.div(y$1),Big$1.DP=a$2,Big$1.RM=b,this.minus(x$1.times(y$1)))},P.neg=function(){var x$1=new this.constructor(this);return x$1.s=-x$1.s,x$1},P.plus=P.add=function(y$1){var e$2,k,t$7,x$1=this,Big$1=x$1.constructor;if(y$1=new Big$1(y$1),x$1.s!=y$1.s)return y$1.s=-y$1.s,x$1.minus(y$1);var xe=x$1.e,xc=x$1.c,ye=y$1.e,yc=y$1.c;if(!xc[0]||!yc[0])return yc[0]||(xc[0]?y$1=new Big$1(x$1):y$1.s=x$1.s),y$1;if(xc=xc.slice(),e$2=xe-ye){for(e$2>0?(ye=xe,t$7=yc):(e$2=-e$2,t$7=xc),t$7.reverse();e$2--;)t$7.push(0);t$7.reverse()}for(xc.length-yc.length<0&&(t$7=yc,yc=xc,xc=t$7),e$2=yc.length,k=0;e$2;xc[e$2]%=10)k=(xc[--e$2]=xc[e$2]+yc[e$2]+k)/10|0;for(k&&(xc.unshift(k),++ye),e$2=xc.length;xc[--e$2]===0;)xc.pop();return y$1.c=xc,y$1.e=ye,y$1},P.pow=function(n$4){var x$1=this,one=new x$1.constructor(`1`),y$1=one,isneg=n$4<0;if(n$4!==~~n$4||n$4<-MAX_POWER||n$4>MAX_POWER)throw Error(INVALID$3+`exponent`);for(isneg&&(n$4=-n$4);n$4&1&&(y$1=y$1.times(x$1)),n$4>>=1,n$4;)x$1=x$1.times(x$1);return isneg?one.div(y$1):y$1},P.prec=function(sd,rm){if(sd!==~~sd||sd<1||sd>MAX_DP)throw Error(INVALID$3+`precision`);return round(new this.constructor(this),sd,rm)},P.round=function(dp,rm){if(dp===UNDEFINED)dp=0;else if(dp!==~~dp||dp<-MAX_DP||dp>MAX_DP)throw Error(INVALID_DP);return round(new this.constructor(this),dp+this.e+1,rm)},P.sqrt=function(){var r$2,c$1,t$7,x$1=this,Big$1=x$1.constructor,s$6=x$1.s,e$2=x$1.e,half=new Big$1(`0.5`);if(!x$1.c[0])return new Big$1(x$1);if(s$6<0)throw Error(NAME+`No square root`);s$6=Math.sqrt(+stringify(x$1,!0,!0)),s$6===0||s$6===1/0?(c$1=x$1.c.join(``),c$1.length+e$2&1||(c$1+=`0`),s$6=Math.sqrt(c$1),e$2=((e$2+1)/2|0)-(e$2<0||e$2&1),r$2=new Big$1((s$6==1/0?`5e`:(s$6=s$6.toExponential()).slice(0,s$6.indexOf(`e`)+1))+e$2)):r$2=new Big$1(s$6+``),e$2=r$2.e+(Big$1.DP+=4);do t$7=r$2,r$2=half.times(t$7.plus(x$1.div(t$7)));while(t$7.c.slice(0,e$2).join(``)!==r$2.c.slice(0,e$2).join(``));return round(r$2,(Big$1.DP-=4)+r$2.e+1,Big$1.RM)},P.times=P.mul=function(y$1){var c$1,x$1=this,Big$1=x$1.constructor,xc=x$1.c,yc=(y$1=new Big$1(y$1)).c,a$2=xc.length,b=yc.length,i$4=x$1.e,j$1=y$1.e;if(y$1.s=x$1.s==y$1.s?1:-1,!xc[0]||!yc[0])return y$1.c=[y$1.e=0],y$1;for(y$1.e=i$4+j$1,a$2<b&&(c$1=xc,xc=yc,yc=c$1,j$1=a$2,a$2=b,b=j$1),c$1=Array(j$1=a$2+b);j$1--;)c$1[j$1]=0;for(i$4=b;i$4--;){for(b=0,j$1=a$2+i$4;j$1>i$4;)b=c$1[j$1]+yc[i$4]*xc[j$1-i$4-1]+b,c$1[j$1--]=b%10,b=b/10|0;c$1[j$1]=b}for(b?++y$1.e:c$1.shift(),i$4=c$1.length;!c$1[--i$4];)c$1.pop();return y$1.c=c$1,y$1},P.toExponential=function(dp,rm){var x$1=this,n$4=x$1.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);for(x$1=round(new x$1.constructor(x$1),++dp,rm);x$1.c.length<dp;)x$1.c.push(0)}return stringify(x$1,!0,!!n$4)},P.toFixed=function(dp,rm){var x$1=this,n$4=x$1.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP)throw Error(INVALID_DP);for(x$1=round(new x$1.constructor(x$1),dp+x$1.e+1,rm),dp=dp+x$1.e+1;x$1.c.length<dp;)x$1.c.push(0)}return stringify(x$1,!1,!!n$4)},P.toJSON=P.toString=function(){var x$1=this,Big$1=x$1.constructor;return stringify(x$1,x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!!x$1.c[0])},typeof Symbol<`u`&&(P[Symbol.for(`nodejs.util.inspect.custom`)]=P.toJSON),P.toNumber=function(){var n$4=+stringify(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(n$4.toString()))throw Error(NAME+`Imprecise conversion`);return n$4},P.toPrecision=function(sd,rm){var x$1=this,Big$1=x$1.constructor,n$4=x$1.c[0];if(sd!==UNDEFINED){if(sd!==~~sd||sd<1||sd>MAX_DP)throw Error(INVALID$3+`precision`);for(x$1=round(new Big$1(x$1),sd,rm);x$1.c.length<sd;)x$1.c.push(0)}return stringify(x$1,sd<=x$1.e||x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!!n$4)},P.valueOf=function(){var x$1=this,Big$1=x$1.constructor;if(Big$1.strict===!0)throw Error(NAME+`valueOf disallowed`);return stringify(x$1,x$1.e<=Big$1.NE||x$1.e>=Big$1.PE,!0)};var Big=_Big_(),big_default=Big;const messages$1={"bigint.base":`"{{#label}}" must be a valid bigint`,"bigint.greater":`"{{#label}}" must be greater than {{#limit}}`,"bigint.less":`"{{#label}}" must be less than {{#limit}}`,"bigint.max":`"{{#label}}" must be less than or equal to {{#limit}}`,"bigint.min":`"{{#label}}" must be greater than or equal to {{#limit}}`,"bigint.multiple":`"{{#label}}" must be a multiple of {{#limit}}`,"bigint.negative":`"{{#label}}" must be a negative bigint`,"bigint.positive":`"{{#label}}" must be a positive bigint`},compare$13=(value,limit,operator$1)=>{switch(operator$1){case`>`:return value.gt(limit);case`<`:return value.lt(limit);case`>=`:return value.gte(limit);case`<=`:return value.lte(limit);case`multiple`:return value.mod(limit).eq(0);default:return!1}},bigint=function(joi){return{type:`bigint`,base:joi.any(),coerce:{from:[`string`,`number`],method(value,helpers$8){if(typeof value==`bigint`)return{value};try{let asBig=big_default(value.toString());return asBig.eq(asBig.round(0))?{value:BigInt(asBig.toString())}:{value,errors:[helpers$8.error(`bigint.base`,{value:String(value)})]}}catch{return{value,errors:[helpers$8.error(`bigint.base`,{value:String(value)})]}}}},messages:messages$1,validate(value,{error}){return typeof value==`bigint`?{value}:{value,errors:error(`bigint.base`,{value:String(value)})}},rules:{compare:{method:!1,validate(value,helpers$8,{limit},{name:name$2,operator:operator$1}){let isEmpty$13=value==null,isRequired=helpers$8.schema._flags.presence===`required`;if(isEmpty$13&&!isRequired)return null;if(isEmpty$13&&isRequired)return{value,errors:[helpers$8.error(`any.required`,{label:helpers$8.schema._flags.label})]};let big=big_default(value.toString()),threshold=big_default(limit.toString()),valid$2=compare$13(big,threshold,operator$1);return valid$2?value:helpers$8.error(`bigint.`+name$2,{limit:limit.toString(),value:value.toString()})},args:[{name:`limit`,ref:!0,assert:value=>[`bigint`,`number`,`string`].includes(typeof value),message:`must be a bigint`}]},greater:{method(limit){return this.$_addRule({name:`greater`,method:`compare`,args:{limit},operator:`>`})}},less:{method(limit){return this.$_addRule({name:`less`,method:`compare`,args:{limit},operator:`<`})}},max:{method(limit){return this.$_addRule({name:`max`,method:`compare`,args:{limit},operator:`<=`})}},min:{method(limit){return this.$_addRule({name:`min`,method:`compare`,args:{limit},operator:`>=`})}},multiple:{method(limit){return this.$_addRule({name:`multiple`,method:`compare`,args:{limit},operator:`multiple`})}},negative:{method(){return this.$_addRule(`negative`)},validate(value,helpers$8){return value>=0n?helpers$8.error(`bigint.negative`,{value:value.toString()}):value}},positive:{method(){return this.$_addRule(`positive`)},validate(value,helpers$8){return value<=0n?helpers$8.error(`bigint.positive`,{value:value.toString()}):value}}},cast:{string:{from:value=>typeof value==`bigint`,to(value){return value.toString()}}}}};var LuxonError=class extends Error{},InvalidDateTimeError=class extends LuxonError{constructor(reason){super(`Invalid DateTime: ${reason.toMessage()}`)}},InvalidIntervalError=class extends LuxonError{constructor(reason){super(`Invalid Interval: ${reason.toMessage()}`)}},InvalidDurationError=class extends LuxonError{constructor(reason){super(`Invalid Duration: ${reason.toMessage()}`)}},ConflictingSpecificationError=class extends LuxonError{},InvalidUnitError=class extends LuxonError{constructor(unit){super(`Invalid unit ${unit}`)}},InvalidArgumentError=class extends LuxonError{},ZoneIsAbstractError=class extends LuxonError{constructor(){super(`Zone is an abstract class`)}};const n=`numeric`,s=`short`,l=`long`,DATE_SHORT={year:n,month:n,day:n},DATE_MED={year:n,month:s,day:n},DATE_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s},DATE_FULL={year:n,month:l,day:n},DATE_HUGE={year:n,month:l,day:n,weekday:l},TIME_SIMPLE={hour:n,minute:n},TIME_WITH_SECONDS={hour:n,minute:n,second:n},TIME_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,timeZoneName:s},TIME_WITH_LONG_OFFSET={hour:n,minute:n,second:n,timeZoneName:l},TIME_24_SIMPLE={hour:n,minute:n,hourCycle:`h23`},TIME_24_WITH_SECONDS={hour:n,minute:n,second:n,hourCycle:`h23`},TIME_24_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,hourCycle:`h23`,timeZoneName:s},TIME_24_WITH_LONG_OFFSET={hour:n,minute:n,second:n,hourCycle:`h23`,timeZoneName:l},DATETIME_SHORT={year:n,month:n,day:n,hour:n,minute:n},DATETIME_SHORT_WITH_SECONDS={year:n,month:n,day:n,hour:n,minute:n,second:n},DATETIME_MED={year:n,month:s,day:n,hour:n,minute:n},DATETIME_MED_WITH_SECONDS={year:n,month:s,day:n,hour:n,minute:n,second:n},DATETIME_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s,hour:n,minute:n},DATETIME_FULL={year:n,month:l,day:n,hour:n,minute:n,timeZoneName:s},DATETIME_FULL_WITH_SECONDS={year:n,month:l,day:n,hour:n,minute:n,second:n,timeZoneName:s},DATETIME_HUGE={year:n,month:l,day:n,weekday:l,hour:n,minute:n,timeZoneName:l},DATETIME_HUGE_WITH_SECONDS={year:n,month:l,day:n,weekday:l,hour:n,minute:n,second:n,timeZoneName:l};var Zone=class{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(ts,opts){throw new ZoneIsAbstractError}formatOffset(ts,format){throw new ZoneIsAbstractError}offset(ts){throw new ZoneIsAbstractError}equals(otherZone){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}};let singleton$1=null;var SystemZone=class SystemZone extends Zone{static get instance(){return singleton$1===null&&(singleton$1=new SystemZone),singleton$1}get type(){return`system`}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){return-new Date(ts).getTimezoneOffset()}equals(otherZone){return otherZone.type===`system`}get isValid(){return!0}};const dtfCache=new Map;function makeDTF(zoneName){let dtf=dtfCache.get(zoneName);return dtf===void 0&&(dtf=new Intl.DateTimeFormat(`en-US`,{hour12:!1,timeZone:zoneName,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,era:`short`}),dtfCache.set(zoneName,dtf)),dtf}const typeToPos={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function hackyOffset(dtf,date){let formatted=dtf.format(date).replace(/\u200E/g,``),parsed=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),[,fMonth,fDay,fYear,fadOrBc,fHour,fMinute,fSecond]=parsed;return[fYear,fMonth,fDay,fadOrBc,fHour,fMinute,fSecond]}function partsOffset(dtf,date){let formatted=dtf.formatToParts(date),filled=[];for(let i$4=0;i$4<formatted.length;i$4++){let{type,value}=formatted[i$4],pos=typeToPos[type];type===`era`?filled[pos]=value:isUndefined(pos)||(filled[pos]=parseInt(value,10))}return filled}const ianaZoneCache=new Map;var IANAZone=class IANAZone extends Zone{static create(name$2){let zone=ianaZoneCache.get(name$2);return zone===void 0&&ianaZoneCache.set(name$2,zone=new IANAZone(name$2)),zone}static resetCache(){ianaZoneCache.clear(),dtfCache.clear()}static isValidSpecifier(s$6){return this.isValidZone(s$6)}static isValidZone(zone){if(!zone)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:zone}).format(),!0}catch{return!1}}constructor(name$2){super(),this.zoneName=name$2,this.valid=IANAZone.isValidZone(name$2)}get type(){return`iana`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale,this.name)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){if(!this.valid)return NaN;let date=new Date(ts);if(isNaN(date))return NaN;let dtf=makeDTF(this.name),[year,month,day,adOrBc,hour,minute,second]=dtf.formatToParts?partsOffset(dtf,date):hackyOffset(dtf,date);adOrBc===`BC`&&(year=-Math.abs(year)+1);let adjustedHour=hour===24?0:hour,asUTC=objToLocalTS({year,month,day,hour:adjustedHour,minute,second,millisecond:0}),asTS=+date,over=asTS%1e3;return asTS-=over>=0?over:1e3+over,(asUTC-asTS)/(60*1e3)}equals(otherZone){return otherZone.type===`iana`&&otherZone.name===this.name}get isValid(){return this.valid}};let intlLFCache={};function getCachedLF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlLFCache[key];return dtf||(dtf=new Intl.ListFormat(locString,opts),intlLFCache[key]=dtf),dtf}const intlDTCache=new Map;function getCachedDTF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlDTCache.get(key);return dtf===void 0&&(dtf=new Intl.DateTimeFormat(locString,opts),intlDTCache.set(key,dtf)),dtf}const intlNumCache=new Map;function getCachedINF(locString,opts={}){let key=JSON.stringify([locString,opts]),inf=intlNumCache.get(key);return inf===void 0&&(inf=new Intl.NumberFormat(locString,opts),intlNumCache.set(key,inf)),inf}const intlRelCache=new Map;function getCachedRTF(locString,opts={}){let{base:base$3,...cacheKeyOpts}=opts,key=JSON.stringify([locString,cacheKeyOpts]),inf=intlRelCache.get(key);return inf===void 0&&(inf=new Intl.RelativeTimeFormat(locString,opts),intlRelCache.set(key,inf)),inf}let sysLocaleCache=null;function systemLocale(){return sysLocaleCache||(sysLocaleCache=new Intl.DateTimeFormat().resolvedOptions().locale,sysLocaleCache)}const intlResolvedOptionsCache=new Map;function getCachedIntResolvedOptions(locString){let opts=intlResolvedOptionsCache.get(locString);return opts===void 0&&(opts=new Intl.DateTimeFormat(locString).resolvedOptions(),intlResolvedOptionsCache.set(locString,opts)),opts}const weekInfoCache=new Map;function getCachedWeekInfo(locString){let data=weekInfoCache.get(locString);if(!data){let locale=new Intl.Locale(locString);data=`getWeekInfo`in locale?locale.getWeekInfo():locale.weekInfo,`minimalDays`in data||(data={...fallbackWeekSettings,...data}),weekInfoCache.set(locString,data)}return data}function parseLocaleString(localeStr){let xIndex=localeStr.indexOf(`-x-`);xIndex!==-1&&(localeStr=localeStr.substring(0,xIndex));let uIndex=localeStr.indexOf(`-u-`);if(uIndex===-1)return[localeStr];{let options,selectedStr;try{options=getCachedDTF(localeStr).resolvedOptions(),selectedStr=localeStr}catch{let smaller=localeStr.substring(0,uIndex);options=getCachedDTF(smaller).resolvedOptions(),selectedStr=smaller}let{numberingSystem,calendar}=options;return[selectedStr,numberingSystem,calendar]}}function intlConfigString(localeStr,numberingSystem,outputCalendar){return outputCalendar||numberingSystem?(localeStr.includes(`-u-`)||(localeStr+=`-u`),outputCalendar&&(localeStr+=`-ca-${outputCalendar}`),numberingSystem&&(localeStr+=`-nu-${numberingSystem}`),localeStr):localeStr}function mapMonths(f$3){let ms=[];for(let i$4=1;i$4<=12;i$4++){let dt=DateTime.utc(2009,i$4,1);ms.push(f$3(dt))}return ms}function mapWeekdays(f$3){let ms=[];for(let i$4=1;i$4<=7;i$4++){let dt=DateTime.utc(2016,11,13+i$4);ms.push(f$3(dt))}return ms}function listStuff(loc,length,englishFn,intlFn){let mode=loc.listingMode();return mode===`error`?null:mode===`en`?englishFn(length):intlFn(length)}function supportsFastNumbers(loc){return loc.numberingSystem&&loc.numberingSystem!==`latn`?!1:loc.numberingSystem===`latn`||!loc.locale||loc.locale.startsWith(`en`)||getCachedIntResolvedOptions(loc.locale).numberingSystem===`latn`}var PolyNumberFormatter=class{constructor(intl,forceSimple,opts){this.padTo=opts.padTo||0,this.floor=opts.floor||!1;let{padTo,floor:floor$1,...otherOpts}=opts;if(!forceSimple||Object.keys(otherOpts).length>0){let intlOpts={useGrouping:!1,...opts};opts.padTo>0&&(intlOpts.minimumIntegerDigits=opts.padTo),this.inf=getCachedINF(intl,intlOpts)}}format(i$4){if(this.inf){let fixed=this.floor?Math.floor(i$4):i$4;return this.inf.format(fixed)}else{let fixed=this.floor?Math.floor(i$4):roundTo(i$4,3);return padStart(fixed,this.padTo)}}},PolyDateFormatter=class{constructor(dt,intl,opts){this.opts=opts,this.originalZone=void 0;let z$1;if(this.opts.timeZone)this.dt=dt;else if(dt.zone.type===`fixed`){let gmtOffset=-1*(dt.offset/60),offsetZ=gmtOffset>=0?`Etc/GMT+${gmtOffset}`:`Etc/GMT${gmtOffset}`;dt.offset!==0&&IANAZone.create(offsetZ).valid?(z$1=offsetZ,this.dt=dt):(z$1=`UTC`,this.dt=dt.offset===0?dt:dt.setZone(`UTC`).plus({minutes:dt.offset}),this.originalZone=dt.zone)}else dt.zone.type===`system`?this.dt=dt:dt.zone.type===`iana`?(this.dt=dt,z$1=dt.zone.name):(z$1=`UTC`,this.dt=dt.setZone(`UTC`).plus({minutes:dt.offset}),this.originalZone=dt.zone);let intlOpts={...this.opts};intlOpts.timeZone=intlOpts.timeZone||z$1,this.dtf=getCachedDTF(intl,intlOpts)}format(){return this.originalZone?this.formatToParts().map(({value})=>value).join(``):this.dtf.format(this.dt.toJSDate())}formatToParts(){let parts=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?parts.map(part=>{if(part.type===`timeZoneName`){let offsetName=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...part,value:offsetName}}else return part}):parts}resolvedOptions(){return this.dtf.resolvedOptions()}},PolyRelFormatter=class{constructor(intl,isEnglish,opts){this.opts={style:`long`,...opts},!isEnglish&&hasRelative()&&(this.rtf=getCachedRTF(intl,opts))}format(count,unit){return this.rtf?this.rtf.format(count,unit):formatRelativeTime(unit,count,this.opts.numeric,this.opts.style!==`long`)}formatToParts(count,unit){return this.rtf?this.rtf.formatToParts(count,unit):[]}};const fallbackWeekSettings={firstDay:1,minimalDays:4,weekend:[6,7]};var Locale=class Locale{static fromOpts(opts){return Locale.create(opts.locale,opts.numberingSystem,opts.outputCalendar,opts.weekSettings,opts.defaultToEN)}static create(locale,numberingSystem,outputCalendar,weekSettings,defaultToEN=!1){let specifiedLocale=locale||Settings.defaultLocale,localeR=specifiedLocale||(defaultToEN?`en-US`:systemLocale()),numberingSystemR=numberingSystem||Settings.defaultNumberingSystem,outputCalendarR=outputCalendar||Settings.defaultOutputCalendar,weekSettingsR=validateWeekSettings(weekSettings)||Settings.defaultWeekSettings;return new Locale(localeR,numberingSystemR,outputCalendarR,weekSettingsR,specifiedLocale)}static resetCache(){sysLocaleCache=null,intlDTCache.clear(),intlNumCache.clear(),intlRelCache.clear(),intlResolvedOptionsCache.clear(),weekInfoCache.clear()}static fromObject({locale,numberingSystem,outputCalendar,weekSettings}={}){return Locale.create(locale,numberingSystem,outputCalendar,weekSettings)}constructor(locale,numbering,outputCalendar,weekSettings,specifiedLocale){let[parsedLocale,parsedNumberingSystem,parsedOutputCalendar]=parseLocaleString(locale);this.locale=parsedLocale,this.numberingSystem=numbering||parsedNumberingSystem||null,this.outputCalendar=outputCalendar||parsedOutputCalendar||null,this.weekSettings=weekSettings,this.intl=intlConfigString(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=specifiedLocale,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached??=supportsFastNumbers(this),this.fastNumbersCached}listingMode(){let isActuallyEn=this.isEnglish(),hasNoWeirdness=(this.numberingSystem===null||this.numberingSystem===`latn`)&&(this.outputCalendar===null||this.outputCalendar===`gregory`);return isActuallyEn&&hasNoWeirdness?`en`:`intl`}clone(alts){return!alts||Object.getOwnPropertyNames(alts).length===0?this:Locale.create(alts.locale||this.specifiedLocale,alts.numberingSystem||this.numberingSystem,alts.outputCalendar||this.outputCalendar,validateWeekSettings(alts.weekSettings)||this.weekSettings,alts.defaultToEN||!1)}redefaultToEN(alts={}){return this.clone({...alts,defaultToEN:!0})}redefaultToSystem(alts={}){return this.clone({...alts,defaultToEN:!1})}months(length,format=!1){return listStuff(this,length,months,()=>{let monthSpecialCase=this.intl===`ja`||this.intl.startsWith(`ja-`);format&=!monthSpecialCase;let intl=format?{month:length,day:`numeric`}:{month:length},formatStr=format?`format`:`standalone`;if(!this.monthsCache[formatStr][length]){let mapper=monthSpecialCase?dt=>this.dtFormatter(dt,intl).format():dt=>this.extract(dt,intl,`month`);this.monthsCache[formatStr][length]=mapMonths(mapper)}return this.monthsCache[formatStr][length]})}weekdays(length,format=!1){return listStuff(this,length,weekdays,()=>{let intl=format?{weekday:length,year:`numeric`,month:`long`,day:`numeric`}:{weekday:length},formatStr=format?`format`:`standalone`;return this.weekdaysCache[formatStr][length]||(this.weekdaysCache[formatStr][length]=mapWeekdays(dt=>this.extract(dt,intl,`weekday`))),this.weekdaysCache[formatStr][length]})}meridiems(){return listStuff(this,void 0,()=>meridiems,()=>{if(!this.meridiemCache){let intl={hour:`numeric`,hourCycle:`h12`};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map(dt=>this.extract(dt,intl,`dayperiod`))}return this.meridiemCache})}eras(length){return listStuff(this,length,eras,()=>{let intl={era:length};return this.eraCache[length]||(this.eraCache[length]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map(dt=>this.extract(dt,intl,`era`))),this.eraCache[length]})}extract(dt,intlOpts,field){let df=this.dtFormatter(dt,intlOpts),results=df.formatToParts(),matching=results.find(m$3=>m$3.type.toLowerCase()===field);return matching?matching.value:null}numberFormatter(opts={}){return new PolyNumberFormatter(this.intl,opts.forceSimple||this.fastNumbers,opts)}dtFormatter(dt,intlOpts={}){return new PolyDateFormatter(dt,this.intl,intlOpts)}relFormatter(opts={}){return new PolyRelFormatter(this.intl,this.isEnglish(),opts)}listFormatter(opts={}){return getCachedLF(this.intl,opts)}isEnglish(){return this.locale===`en`||this.locale.toLowerCase()===`en-us`||getCachedIntResolvedOptions(this.intl).locale.startsWith(`en-us`)}getWeekSettings(){return this.weekSettings?this.weekSettings:hasLocaleWeekInfo()?getCachedWeekInfo(this.locale):fallbackWeekSettings}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(other){return this.locale===other.locale&&this.numberingSystem===other.numberingSystem&&this.outputCalendar===other.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}};let singleton=null;var FixedOffsetZone=class FixedOffsetZone extends Zone{static get utcInstance(){return singleton===null&&(singleton=new FixedOffsetZone(0)),singleton}static instance(offset$2){return offset$2===0?FixedOffsetZone.utcInstance:new FixedOffsetZone(offset$2)}static parseSpecifier(s$6){if(s$6){let r$2=s$6.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r$2)return new FixedOffsetZone(signedOffset(r$2[1],r$2[2]))}return null}constructor(offset$2){super(),this.fixed=offset$2}get type(){return`fixed`}get name(){return this.fixed===0?`UTC`:`UTC${formatOffset(this.fixed,`narrow`)}`}get ianaName(){return this.fixed===0?`Etc/UTC`:`Etc/GMT${formatOffset(-this.fixed,`narrow`)}`}offsetName(){return this.name}formatOffset(ts,format){return formatOffset(this.fixed,format)}get isUniversal(){return!0}offset(){return this.fixed}equals(otherZone){return otherZone.type===`fixed`&&otherZone.fixed===this.fixed}get isValid(){return!0}},InvalidZone=class extends Zone{constructor(zoneName){super(),this.zoneName=zoneName}get type(){return`invalid`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return``}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function normalizeZone(input,defaultZone$2){if(isUndefined(input)||input===null)return defaultZone$2;if(input instanceof Zone)return input;if(isString(input)){let lowered=input.toLowerCase();return lowered===`default`?defaultZone$2:lowered===`local`||lowered===`system`?SystemZone.instance:lowered===`utc`||lowered===`gmt`?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(lowered)||IANAZone.create(input)}else if(isNumber(input))return FixedOffsetZone.instance(input);else if(typeof input==`object`&&`offset`in input&&typeof input.offset==`function`)return input;else return new InvalidZone(input)}const numberingSystems={arab:`[٠-٩]`,arabext:`[۰-۹]`,bali:`[᭐-᭙]`,beng:`[০-৯]`,deva:`[०-९]`,fullwide:`[0-9]`,gujr:`[૦-૯]`,hanidec:`[〇|一|二|三|四|五|六|七|八|九]`,khmr:`[០-៩]`,knda:`[೦-೯]`,laoo:`[໐-໙]`,limb:`[᥆-᥏]`,mlym:`[൦-൯]`,mong:`[᠐-᠙]`,mymr:`[၀-၉]`,orya:`[୦-୯]`,tamldec:`[௦-௯]`,telu:`[౦-౯]`,thai:`[๐-๙]`,tibt:`[༠-༩]`,latn:`\\d`},numberingSystemsUTF16={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]},hanidecChars=numberingSystems.hanidec.replace(/[\[|\]]/g,``).split(``);function parseDigits(str){let value=parseInt(str,10);if(isNaN(value)){value=``;for(let i$4=0;i$4<str.length;i$4++){let code$2=str.charCodeAt(i$4);if(str[i$4].search(numberingSystems.hanidec)!==-1)value+=hanidecChars.indexOf(str[i$4]);else for(let key in numberingSystemsUTF16){let[min$1,max$3]=numberingSystemsUTF16[key];code$2>=min$1&&code$2<=max$3&&(value+=code$2-min$1)}}return parseInt(value,10)}else return value}const digitRegexCache=new Map;function resetDigitRegexCache(){digitRegexCache.clear()}function digitRegex({numberingSystem},append=``){let ns=numberingSystem||`latn`,appendCache=digitRegexCache.get(ns);appendCache===void 0&&(appendCache=new Map,digitRegexCache.set(ns,appendCache));let regex=appendCache.get(append);return regex===void 0&&(regex=RegExp(`${numberingSystems[ns]}${append}`),appendCache.set(append,regex)),regex}let now=()=>Date.now(),defaultZone=`system`,defaultLocale=null,defaultNumberingSystem=null,defaultOutputCalendar=null,twoDigitCutoffYear=60,throwOnInvalid,defaultWeekSettings=null;var Settings=class{static get now(){return now}static set now(n$4){now=n$4}static set defaultZone(zone){defaultZone=zone}static get defaultZone(){return normalizeZone(defaultZone,SystemZone.instance)}static get defaultLocale(){return defaultLocale}static set defaultLocale(locale){defaultLocale=locale}static get defaultNumberingSystem(){return defaultNumberingSystem}static set defaultNumberingSystem(numberingSystem){defaultNumberingSystem=numberingSystem}static get defaultOutputCalendar(){return defaultOutputCalendar}static set defaultOutputCalendar(outputCalendar){defaultOutputCalendar=outputCalendar}static get defaultWeekSettings(){return defaultWeekSettings}static set defaultWeekSettings(weekSettings){defaultWeekSettings=validateWeekSettings(weekSettings)}static get twoDigitCutoffYear(){return twoDigitCutoffYear}static set twoDigitCutoffYear(cutoffYear){twoDigitCutoffYear=cutoffYear%100}static get throwOnInvalid(){return throwOnInvalid}static set throwOnInvalid(t$7){throwOnInvalid=t$7}static resetCaches(){Locale.resetCache(),IANAZone.resetCache(),DateTime.resetCache(),resetDigitRegexCache()}},Invalid=class{constructor(reason,explanation){this.reason=reason,this.explanation=explanation}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};const nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(unit,value){return new Invalid(`unit out of range`,`you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`)}function dayOfWeek(year,month,day){let d$1=new Date(Date.UTC(year,month-1,day));year<100&&year>=0&&d$1.setUTCFullYear(d$1.getUTCFullYear()-1900);let js=d$1.getUTCDay();return js===0?7:js}function computeOrdinal(year,month,day){return day+(isLeapYear(year)?leapLadder:nonLeapLadder)[month-1]}function uncomputeOrdinal(year,ordinal){let table$2=isLeapYear(year)?leapLadder:nonLeapLadder,month0=table$2.findIndex(i$4=>i$4<ordinal),day=ordinal-table$2[month0];return{month:month0+1,day}}function isoWeekdayToLocal(isoWeekday,startOfWeek){return(isoWeekday-startOfWeek+7)%7+1}function gregorianToWeek(gregObj,minDaysInFirstWeek=4,startOfWeek=1){let{year,month,day}=gregObj,ordinal=computeOrdinal(year,month,day),weekday=isoWeekdayToLocal(dayOfWeek(year,month,day),startOfWeek),weekNumber=Math.floor((ordinal-weekday+14-minDaysInFirstWeek)/7),weekYear;return weekNumber<1?(weekYear=year-1,weekNumber=weeksInWeekYear(weekYear,minDaysInFirstWeek,startOfWeek)):weekNumber>weeksInWeekYear(year,minDaysInFirstWeek,startOfWeek)?(weekYear=year+1,weekNumber=1):weekYear=year,{weekYear,weekNumber,weekday,...timeObject(gregObj)}}function weekToGregorian(weekData,minDaysInFirstWeek=4,startOfWeek=1){let{weekYear,weekNumber,weekday}=weekData,weekdayOfJan4=isoWeekdayToLocal(dayOfWeek(weekYear,1,minDaysInFirstWeek),startOfWeek),yearInDays=daysInYear(weekYear),ordinal=weekNumber*7+weekday-weekdayOfJan4-7+minDaysInFirstWeek,year;ordinal<1?(year=weekYear-1,ordinal+=daysInYear(year)):ordinal>yearInDays?(year=weekYear+1,ordinal-=daysInYear(weekYear)):year=weekYear;let{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(weekData)}}function gregorianToOrdinal(gregData){let{year,month,day}=gregData,ordinal=computeOrdinal(year,month,day);return{year,ordinal,...timeObject(gregData)}}function ordinalToGregorian(ordinalData){let{year,ordinal}=ordinalData,{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(ordinalData)}}function usesLocalWeekValues(obj,loc){let hasLocaleWeekData=!isUndefined(obj.localWeekday)||!isUndefined(obj.localWeekNumber)||!isUndefined(obj.localWeekYear);if(hasLocaleWeekData){let hasIsoWeekData=!isUndefined(obj.weekday)||!isUndefined(obj.weekNumber)||!isUndefined(obj.weekYear);if(hasIsoWeekData)throw new ConflictingSpecificationError(`Cannot mix locale-based week fields with ISO-based week fields`);return isUndefined(obj.localWeekday)||(obj.weekday=obj.localWeekday),isUndefined(obj.localWeekNumber)||(obj.weekNumber=obj.localWeekNumber),isUndefined(obj.localWeekYear)||(obj.weekYear=obj.localWeekYear),delete obj.localWeekday,delete obj.localWeekNumber,delete obj.localWeekYear,{minDaysInFirstWeek:loc.getMinDaysInFirstWeek(),startOfWeek:loc.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function hasInvalidWeekData(obj,minDaysInFirstWeek=4,startOfWeek=1){let validYear=isInteger(obj.weekYear),validWeek=integerBetween(obj.weekNumber,1,weeksInWeekYear(obj.weekYear,minDaysInFirstWeek,startOfWeek)),validWeekday=integerBetween(obj.weekday,1,7);return validYear?validWeek?validWeekday?!1:unitOutOfRange(`weekday`,obj.weekday):unitOutOfRange(`week`,obj.weekNumber):unitOutOfRange(`weekYear`,obj.weekYear)}function hasInvalidOrdinalData(obj){let validYear=isInteger(obj.year),validOrdinal=integerBetween(obj.ordinal,1,daysInYear(obj.year));return validYear?validOrdinal?!1:unitOutOfRange(`ordinal`,obj.ordinal):unitOutOfRange(`year`,obj.year)}function hasInvalidGregorianData(obj){let validYear=isInteger(obj.year),validMonth=integerBetween(obj.month,1,12),validDay=integerBetween(obj.day,1,daysInMonth(obj.year,obj.month));return validYear?validMonth?validDay?!1:unitOutOfRange(`day`,obj.day):unitOutOfRange(`month`,obj.month):unitOutOfRange(`year`,obj.year)}function hasInvalidTimeData(obj){let{hour,minute,second,millisecond}=obj,validHour=integerBetween(hour,0,23)||hour===24&&minute===0&&second===0&&millisecond===0,validMinute=integerBetween(minute,0,59),validSecond=integerBetween(second,0,59),validMillisecond=integerBetween(millisecond,0,999);return validHour?validMinute?validSecond?validMillisecond?!1:unitOutOfRange(`millisecond`,millisecond):unitOutOfRange(`second`,second):unitOutOfRange(`minute`,minute):unitOutOfRange(`hour`,hour)}function isUndefined(o$2){return o$2===void 0}function isNumber(o$2){return typeof o$2==`number`}function isInteger(o$2){return typeof o$2==`number`&&o$2%1==0}function isString(o$2){return typeof o$2==`string`}function isDate(o$2){return Object.prototype.toString.call(o$2)===`[object Date]`}function hasRelative(){try{return typeof Intl<`u`&&!!Intl.RelativeTimeFormat}catch{return!1}}function hasLocaleWeekInfo(){try{return typeof Intl<`u`&&!!Intl.Locale&&(`weekInfo`in Intl.Locale.prototype||`getWeekInfo`in Intl.Locale.prototype)}catch{return!1}}function maybeArray(thing){return Array.isArray(thing)?thing:[thing]}function bestBy(arr,by,compare$16){if(arr.length!==0)return arr.reduce((best,next)=>{let pair=[by(next),next];return best&&compare$16(best[0],pair[0])===best[0]?best:pair},null)[1]}function pick(obj,keys$10){return keys$10.reduce((a$2,k)=>(a$2[k]=obj[k],a$2),{})}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}function validateWeekSettings(settings){if(settings==null)return null;if(typeof settings!=`object`)throw new InvalidArgumentError(`Week settings must be an object`);if(!integerBetween(settings.firstDay,1,7)||!integerBetween(settings.minimalDays,1,7)||!Array.isArray(settings.weekend)||settings.weekend.some(v$1=>!integerBetween(v$1,1,7)))throw new InvalidArgumentError(`Invalid week settings`);return{firstDay:settings.firstDay,minimalDays:settings.minimalDays,weekend:Array.from(settings.weekend)}}function integerBetween(thing,bottom,top){return isInteger(thing)&&thing>=bottom&&thing<=top}function floorMod(x$1,n$4){return x$1-n$4*Math.floor(x$1/n$4)}function padStart(input,n$4=2){let isNeg=input<0,padded;return padded=isNeg?`-`+(``+-input).padStart(n$4,`0`):(``+input).padStart(n$4,`0`),padded}function parseInteger(string){if(!(isUndefined(string)||string===null||string===``))return parseInt(string,10)}function parseFloating(string){if(!(isUndefined(string)||string===null||string===``))return parseFloat(string)}function parseMillis(fraction){if(!(isUndefined(fraction)||fraction===null||fraction===``)){let f$3=parseFloat(`0.`+fraction)*1e3;return Math.floor(f$3)}}function roundTo(number,digits,rounding=`round`){let factor=10**digits;switch(rounding){case`expand`:return number>0?Math.ceil(number*factor)/factor:Math.floor(number*factor)/factor;case`trunc`:return Math.trunc(number*factor)/factor;case`round`:return Math.round(number*factor)/factor;case`floor`:return Math.floor(number*factor)/factor;case`ceil`:return Math.ceil(number*factor)/factor;default:throw RangeError(`Value rounding ${rounding} is out of range`)}}function isLeapYear(year){return year%4==0&&(year%100!=0||year%400==0)}function daysInYear(year){return isLeapYear(year)?366:365}function daysInMonth(year,month){let modMonth=floorMod(month-1,12)+1,modYear=year+(month-modMonth)/12;return modMonth===2?isLeapYear(modYear)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][modMonth-1]}function objToLocalTS(obj){let d$1=Date.UTC(obj.year,obj.month-1,obj.day,obj.hour,obj.minute,obj.second,obj.millisecond);return obj.year<100&&obj.year>=0&&(d$1=new Date(d$1),d$1.setUTCFullYear(obj.year,obj.month-1,obj.day)),+d$1}function firstWeekOffset(year,minDaysInFirstWeek,startOfWeek){let fwdlw=isoWeekdayToLocal(dayOfWeek(year,1,minDaysInFirstWeek),startOfWeek);return-fwdlw+minDaysInFirstWeek-1}function weeksInWeekYear(weekYear,minDaysInFirstWeek=4,startOfWeek=1){let weekOffset=firstWeekOffset(weekYear,minDaysInFirstWeek,startOfWeek),weekOffsetNext=firstWeekOffset(weekYear+1,minDaysInFirstWeek,startOfWeek);return(daysInYear(weekYear)-weekOffset+weekOffsetNext)/7}function untruncateYear(year){return year>99?year:year>Settings.twoDigitCutoffYear?1900+year:2e3+year}function parseZoneInfo(ts,offsetFormat,locale,timeZone=null){let date=new Date(ts),intlOpts={hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};timeZone&&(intlOpts.timeZone=timeZone);let modified={timeZoneName:offsetFormat,...intlOpts},parsed=new Intl.DateTimeFormat(locale,modified).formatToParts(date).find(m$3=>m$3.type.toLowerCase()===`timezonename`);return parsed?parsed.value:null}function signedOffset(offHourStr,offMinuteStr){let offHour=parseInt(offHourStr,10);Number.isNaN(offHour)&&(offHour=0);let offMin=parseInt(offMinuteStr,10)||0,offMinSigned=offHour<0||Object.is(offHour,-0)?-offMin:offMin;return offHour*60+offMinSigned}function asNumber(value){let numericValue=Number(value);if(typeof value==`boolean`||value===``||!Number.isFinite(numericValue))throw new InvalidArgumentError(`Invalid unit value ${value}`);return numericValue}function normalizeObject(obj,normalizer){let normalized={};for(let u in obj)if(hasOwnProperty(obj,u)){let v$1=obj[u];if(v$1==null)continue;normalized[normalizer(u)]=asNumber(v$1)}return normalized}function formatOffset(offset$2,format){let hours=Math.trunc(Math.abs(offset$2/60)),minutes=Math.trunc(Math.abs(offset$2%60)),sign$2=offset$2>=0?`+`:`-`;switch(format){case`short`:return`${sign$2}${padStart(hours,2)}:${padStart(minutes,2)}`;case`narrow`:return`${sign$2}${hours}${minutes>0?`:${minutes}`:``}`;case`techie`:return`${sign$2}${padStart(hours,2)}${padStart(minutes,2)}`;default:throw RangeError(`Value format ${format} is out of range for property format`)}}function timeObject(obj){return pick(obj,[`hour`,`minute`,`second`,`millisecond`])}const monthsLong=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],monthsShort=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],monthsNarrow=[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`];function months(length){switch(length){case`narrow`:return[...monthsNarrow];case`short`:return[...monthsShort];case`long`:return[...monthsLong];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}}const weekdaysLong=[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`,`Sunday`],weekdaysShort=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],weekdaysNarrow=[`M`,`T`,`W`,`T`,`F`,`S`,`S`];function weekdays(length){switch(length){case`narrow`:return[...weekdaysNarrow];case`short`:return[...weekdaysShort];case`long`:return[...weekdaysLong];case`numeric`:return[`1`,`2`,`3`,`4`,`5`,`6`,`7`];default:return null}}const meridiems=[`AM`,`PM`],erasLong=[`Before Christ`,`Anno Domini`],erasShort=[`BC`,`AD`],erasNarrow=[`B`,`A`];function eras(length){switch(length){case`narrow`:return[...erasNarrow];case`short`:return[...erasShort];case`long`:return[...erasLong];default:return null}}function meridiemForDateTime(dt){return meridiems[dt.hour<12?0:1]}function weekdayForDateTime(dt,length){return weekdays(length)[dt.weekday-1]}function monthForDateTime(dt,length){return months(length)[dt.month-1]}function eraForDateTime(dt,length){return eras(length)[dt.year<0?0:1]}function formatRelativeTime(unit,count,numeric$1=`always`,narrow=!1){let units={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.`]},lastable=[`hours`,`minutes`,`seconds`].indexOf(unit)===-1;if(numeric$1===`auto`&&lastable){let isDay=unit===`days`;switch(count){case 1:return isDay?`tomorrow`:`next ${units[unit][0]}`;case-1:return isDay?`yesterday`:`last ${units[unit][0]}`;case 0:return isDay?`today`:`this ${units[unit][0]}`}}let isInPast=Object.is(count,-0)||count<0,fmtValue=Math.abs(count),singular=fmtValue===1,lilUnits=units[unit],fmtUnit=narrow?singular?lilUnits[1]:lilUnits[2]||lilUnits[1]:singular?units[unit][0]:unit;return isInPast?`${fmtValue} ${fmtUnit} ago`:`in ${fmtValue} ${fmtUnit}`}function stringifyTokens(splits,tokenToString){let s$6=``;for(let token of splits)token.literal?s$6+=token.val:s$6+=tokenToString(token.val);return s$6}const macroTokenToFormatOpts={D:DATE_SHORT,DD:DATE_MED,DDD:DATE_FULL,DDDD:DATE_HUGE,t:TIME_SIMPLE,tt:TIME_WITH_SECONDS,ttt:TIME_WITH_SHORT_OFFSET,tttt:TIME_WITH_LONG_OFFSET,T:TIME_24_SIMPLE,TT:TIME_24_WITH_SECONDS,TTT:TIME_24_WITH_SHORT_OFFSET,TTTT:TIME_24_WITH_LONG_OFFSET,f:DATETIME_SHORT,ff:DATETIME_MED,fff:DATETIME_FULL,ffff:DATETIME_HUGE,F:DATETIME_SHORT_WITH_SECONDS,FF:DATETIME_MED_WITH_SECONDS,FFF:DATETIME_FULL_WITH_SECONDS,FFFF:DATETIME_HUGE_WITH_SECONDS};var Formatter=class Formatter{static create(locale,opts={}){return new Formatter(locale,opts)}static parseFormat(fmt){let current=null,currentFull=``,bracketed=!1,splits=[];for(let i$4=0;i$4<fmt.length;i$4++){let c$1=fmt.charAt(i$4);c$1===`'`?((currentFull.length>0||bracketed)&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull===``?`'`:currentFull}),current=null,currentFull=``,bracketed=!bracketed):bracketed||c$1===current?currentFull+=c$1:(currentFull.length>0&&splits.push({literal:/^\s+$/.test(currentFull),val:currentFull}),currentFull=c$1,current=c$1)}return currentFull.length>0&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull}),splits}static macroTokenToFormatOpts(token){return macroTokenToFormatOpts[token]}constructor(locale,formatOpts){this.opts=formatOpts,this.loc=locale,this.systemLoc=null}formatWithSystemDefault(dt,opts){this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem());let df=this.systemLoc.dtFormatter(dt,{...this.opts,...opts});return df.format()}dtFormatter(dt,opts={}){return this.loc.dtFormatter(dt,{...this.opts,...opts})}formatDateTime(dt,opts){return this.dtFormatter(dt,opts).format()}formatDateTimeParts(dt,opts){return this.dtFormatter(dt,opts).formatToParts()}formatInterval(interval,opts){let df=this.dtFormatter(interval.start,opts);return df.dtf.formatRange(interval.start.toJSDate(),interval.end.toJSDate())}resolvedOptions(dt,opts){return this.dtFormatter(dt,opts).resolvedOptions()}num(n$4,p$1=0,signDisplay=void 0){if(this.opts.forceSimple)return padStart(n$4,p$1);let opts={...this.opts};return p$1>0&&(opts.padTo=p$1),signDisplay&&(opts.signDisplay=signDisplay),this.loc.numberFormatter(opts).format(n$4)}formatDateTimeFromString(dt,fmt){let knownEnglish=this.loc.listingMode()===`en`,useDateTimeFormatter=this.loc.outputCalendar&&this.loc.outputCalendar!==`gregory`,string=(opts,extract)=>this.loc.extract(dt,opts,extract),formatOffset$2=opts=>dt.isOffsetFixed&&dt.offset===0&&opts.allowZ?`Z`:dt.isValid?dt.zone.formatOffset(dt.ts,opts.format):``,meridiem=()=>knownEnglish?meridiemForDateTime(dt):string({hour:`numeric`,hourCycle:`h12`},`dayperiod`),month=(length,standalone)=>knownEnglish?monthForDateTime(dt,length):string(standalone?{month:length}:{month:length,day:`numeric`},`month`),weekday=(length,standalone)=>knownEnglish?weekdayForDateTime(dt,length):string(standalone?{weekday:length}:{weekday:length,month:`long`,day:`numeric`},`weekday`),maybeMacro=token=>{let formatOpts=Formatter.macroTokenToFormatOpts(token);return formatOpts?this.formatWithSystemDefault(dt,formatOpts):token},era=length=>knownEnglish?eraForDateTime(dt,length):string({era:length},`era`),tokenToString=token=>{switch(token){case`S`:return this.num(dt.millisecond);case`u`:case`SSS`:return this.num(dt.millisecond,3);case`s`:return this.num(dt.second);case`ss`:return this.num(dt.second,2);case`uu`:return this.num(Math.floor(dt.millisecond/10),2);case`uuu`:return this.num(Math.floor(dt.millisecond/100));case`m`:return this.num(dt.minute);case`mm`:return this.num(dt.minute,2);case`h`:return this.num(dt.hour%12==0?12:dt.hour%12);case`hh`:return this.num(dt.hour%12==0?12:dt.hour%12,2);case`H`:return this.num(dt.hour);case`HH`:return this.num(dt.hour,2);case`Z`:return formatOffset$2({format:`narrow`,allowZ:this.opts.allowZ});case`ZZ`:return formatOffset$2({format:`short`,allowZ:this.opts.allowZ});case`ZZZ`:return formatOffset$2({format:`techie`,allowZ:this.opts.allowZ});case`ZZZZ`:return dt.zone.offsetName(dt.ts,{format:`short`,locale:this.loc.locale});case`ZZZZZ`:return dt.zone.offsetName(dt.ts,{format:`long`,locale:this.loc.locale});case`z`:return dt.zoneName;case`a`:return meridiem();case`d`:return useDateTimeFormatter?string({day:`numeric`},`day`):this.num(dt.day);case`dd`:return useDateTimeFormatter?string({day:`2-digit`},`day`):this.num(dt.day,2);case`c`:return this.num(dt.weekday);case`ccc`:return weekday(`short`,!0);case`cccc`:return weekday(`long`,!0);case`ccccc`:return weekday(`narrow`,!0);case`E`:return this.num(dt.weekday);case`EEE`:return weekday(`short`,!1);case`EEEE`:return weekday(`long`,!1);case`EEEEE`:return weekday(`narrow`,!1);case`L`:return useDateTimeFormatter?string({month:`numeric`,day:`numeric`},`month`):this.num(dt.month);case`LL`:return useDateTimeFormatter?string({month:`2-digit`,day:`numeric`},`month`):this.num(dt.month,2);case`LLL`:return month(`short`,!0);case`LLLL`:return month(`long`,!0);case`LLLLL`:return month(`narrow`,!0);case`M`:return useDateTimeFormatter?string({month:`numeric`},`month`):this.num(dt.month);case`MM`:return useDateTimeFormatter?string({month:`2-digit`},`month`):this.num(dt.month,2);case`MMM`:return month(`short`,!1);case`MMMM`:return month(`long`,!1);case`MMMMM`:return month(`narrow`,!1);case`y`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year);case`yy`:return useDateTimeFormatter?string({year:`2-digit`},`year`):this.num(dt.year.toString().slice(-2),2);case`yyyy`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year,4);case`yyyyyy`:return useDateTimeFormatter?string({year:`numeric`},`year`):this.num(dt.year,6);case`G`:return era(`short`);case`GG`:return era(`long`);case`GGGGG`:return era(`narrow`);case`kk`:return this.num(dt.weekYear.toString().slice(-2),2);case`kkkk`:return this.num(dt.weekYear,4);case`W`:return this.num(dt.weekNumber);case`WW`:return this.num(dt.weekNumber,2);case`n`:return this.num(dt.localWeekNumber);case`nn`:return this.num(dt.localWeekNumber,2);case`ii`:return this.num(dt.localWeekYear.toString().slice(-2),2);case`iiii`:return this.num(dt.localWeekYear,4);case`o`:return this.num(dt.ordinal);case`ooo`:return this.num(dt.ordinal,3);case`q`:return this.num(dt.quarter);case`qq`:return this.num(dt.quarter,2);case`X`:return this.num(Math.floor(dt.ts/1e3));case`x`:return this.num(dt.ts);default:return maybeMacro(token)}};return stringifyTokens(Formatter.parseFormat(fmt),tokenToString)}formatDurationFromString(dur,fmt){let invertLargest=this.opts.signMode===`negativeLargestOnly`?-1:1,tokenToField=token=>{switch(token[0]){case`S`:return`milliseconds`;case`s`:return`seconds`;case`m`:return`minutes`;case`h`:return`hours`;case`d`:return`days`;case`w`:return`weeks`;case`M`:return`months`;case`y`:return`years`;default:return null}},tokenToString=(lildur,info)=>token=>{let mapped=tokenToField(token);if(mapped){let inversionFactor=info.isNegativeDuration&&mapped!==info.largestUnit?invertLargest:1,signDisplay;return signDisplay=this.opts.signMode===`negativeLargestOnly`&&mapped!==info.largestUnit?`never`:this.opts.signMode===`all`?`always`:`auto`,this.num(lildur.get(mapped)*inversionFactor,token.length,signDisplay)}else return token},tokens=Formatter.parseFormat(fmt),realTokens=tokens.reduce((found,{literal,val})=>literal?found:found.concat(val),[]),collapsed=dur.shiftTo(...realTokens.map(tokenToField).filter(t$7=>t$7)),durationInfo={isNegativeDuration:collapsed<0,largestUnit:Object.keys(collapsed.values)[0]};return stringifyTokens(tokens,tokenToString(collapsed,durationInfo))}};const ianaRegex=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function combineRegexes(...regexes){let full=regexes.reduce((f$3,r$2)=>f$3+r$2.source,``);return RegExp(`^${full}$`)}function combineExtractors(...extractors){return m$3=>extractors.reduce(([mergedVals,mergedZone,cursor],ex)=>{let[val,zone,next]=ex(m$3,cursor);return[{...mergedVals,...val},zone||mergedZone,next]},[{},null,1]).slice(0,2)}function parse$7(s$6,...patterns){if(s$6==null)return[null,null];for(let[regex,extractor]of patterns){let m$3=regex.exec(s$6);if(m$3)return extractor(m$3)}return[null,null]}function simpleParse(...keys$10){return(match$2,cursor)=>{let ret={},i$4;for(i$4=0;i$4<keys$10.length;i$4++)ret[keys$10[i$4]]=parseInteger(match$2[cursor+i$4]);return[ret,null,cursor+i$4]}}const offsetRegex=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,isoExtendedZone=`(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`,isoTimeBaseRegex=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,isoTimeRegex=RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`),isoTimeExtensionRegex=RegExp(`(?:[Tt]${isoTimeRegex.source})?`),isoYmdRegex=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,isoWeekRegex=/(\d{4})-?W(\d\d)(?:-?(\d))?/,isoOrdinalRegex=/(\d{4})-?(\d{3})/,extractISOWeekData=simpleParse(`weekYear`,`weekNumber`,`weekDay`),extractISOOrdinalData=simpleParse(`year`,`ordinal`),sqlYmdRegex=/(\d{4})-(\d\d)-(\d\d)/,sqlTimeRegex=RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`),sqlTimeExtensionRegex=RegExp(`(?: ${sqlTimeRegex.source})?`);function int(match$2,pos,fallback){let m$3=match$2[pos];return isUndefined(m$3)?fallback:parseInteger(m$3)}function extractISOYmd(match$2,cursor){let item={year:int(match$2,cursor),month:int(match$2,cursor+1,1),day:int(match$2,cursor+2,1)};return[item,null,cursor+3]}function extractISOTime(match$2,cursor){let item={hours:int(match$2,cursor,0),minutes:int(match$2,cursor+1,0),seconds:int(match$2,cursor+2,0),milliseconds:parseMillis(match$2[cursor+3])};return[item,null,cursor+4]}function extractISOOffset(match$2,cursor){let local=!match$2[cursor]&&!match$2[cursor+1],fullOffset=signedOffset(match$2[cursor+1],match$2[cursor+2]),zone=local?null:FixedOffsetZone.instance(fullOffset);return[{},zone,cursor+3]}function extractIANAZone(match$2,cursor){let zone=match$2[cursor]?IANAZone.create(match$2[cursor]):null;return[{},zone,cursor+1]}const isoTimeOnly=RegExp(`^T?${isoTimeBaseRegex.source}$`),isoDuration=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(match$2){let[s$6,yearStr,monthStr,weekStr,dayStr,hourStr,minuteStr,secondStr,millisecondsStr]=match$2,hasNegativePrefix=s$6[0]===`-`,negativeSeconds=secondStr&&secondStr[0]===`-`,maybeNegate=(num,force=!1)=>num!==void 0&&(force||num&&hasNegativePrefix)?-num:num;return[{years:maybeNegate(parseFloating(yearStr)),months:maybeNegate(parseFloating(monthStr)),weeks:maybeNegate(parseFloating(weekStr)),days:maybeNegate(parseFloating(dayStr)),hours:maybeNegate(parseFloating(hourStr)),minutes:maybeNegate(parseFloating(minuteStr)),seconds:maybeNegate(parseFloating(secondStr),secondStr===`-0`),milliseconds:maybeNegate(parseMillis(millisecondsStr),negativeSeconds)}]}const obsOffsets={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){let result={year:yearStr.length===2?untruncateYear(parseInteger(yearStr)):parseInteger(yearStr),month:monthsShort.indexOf(monthStr)+1,day:parseInteger(dayStr),hour:parseInteger(hourStr),minute:parseInteger(minuteStr)};return secondStr&&(result.second=parseInteger(secondStr)),weekdayStr&&(result.weekday=weekdayStr.length>3?weekdaysLong.indexOf(weekdayStr)+1:weekdaysShort.indexOf(weekdayStr)+1),result}const rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(match$2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr,obsOffset,milOffset,offHourStr,offMinuteStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),offset$2;return offset$2=obsOffset?obsOffsets[obsOffset]:milOffset?0:signedOffset(offHourStr,offMinuteStr),[result,new FixedOffsetZone(offset$2)]}function preprocessRFC2822(s$6){return s$6.replace(/\([^()]*\)|[\n\t]/g,` `).replace(/(\s\s+)/g,` `).trim()}const rfc1123=/^(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$/,rfc850=/^(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$/,ascii=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(match$2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr);return[result,FixedOffsetZone.utcInstance]}function extractASCII(match$2){let[,weekdayStr,monthStr,dayStr,hourStr,minuteStr,secondStr,yearStr]=match$2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr);return[result,FixedOffsetZone.utcInstance]}const isoYmdWithTimeExtensionRegex=combineRegexes(isoYmdRegex,isoTimeExtensionRegex),isoWeekWithTimeExtensionRegex=combineRegexes(isoWeekRegex,isoTimeExtensionRegex),isoOrdinalWithTimeExtensionRegex=combineRegexes(isoOrdinalRegex,isoTimeExtensionRegex),isoTimeCombinedRegex=combineRegexes(isoTimeRegex),extractISOYmdTimeAndOffset=combineExtractors(extractISOYmd,extractISOTime,extractISOOffset,extractIANAZone),extractISOWeekTimeAndOffset=combineExtractors(extractISOWeekData,extractISOTime,extractISOOffset,extractIANAZone),extractISOOrdinalDateAndTime=combineExtractors(extractISOOrdinalData,extractISOTime,extractISOOffset,extractIANAZone),extractISOTimeAndOffset=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseISODate(s$6){return parse$7(s$6,[isoYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[isoWeekWithTimeExtensionRegex,extractISOWeekTimeAndOffset],[isoOrdinalWithTimeExtensionRegex,extractISOOrdinalDateAndTime],[isoTimeCombinedRegex,extractISOTimeAndOffset])}function parseRFC2822Date(s$6){return parse$7(preprocessRFC2822(s$6),[rfc2822,extractRFC2822])}function parseHTTPDate(s$6){return parse$7(s$6,[rfc1123,extractRFC1123Or850],[rfc850,extractRFC1123Or850],[ascii,extractASCII])}function parseISODuration(s$6){return parse$7(s$6,[isoDuration,extractISODuration])}const extractISOTimeOnly=combineExtractors(extractISOTime);function parseISOTimeOnly(s$6){return parse$7(s$6,[isoTimeOnly,extractISOTimeOnly])}const sqlYmdWithTimeExtensionRegex=combineRegexes(sqlYmdRegex,sqlTimeExtensionRegex),sqlTimeCombinedRegex=combineRegexes(sqlTimeRegex),extractISOTimeOffsetAndIANAZone=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseSQL(s$6){return parse$7(s$6,[sqlYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[sqlTimeCombinedRegex,extractISOTimeOffsetAndIANAZone])}const INVALID$2=`Invalid Duration`,lowOrderMatrix={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},casualMatrix={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...lowOrderMatrix},daysInYearAccurate=146097/400,daysInMonthAccurate=146097/4800,accurateMatrix={years:{quarters:4,months:12,weeks:daysInYearAccurate/7,days:daysInYearAccurate,hours:daysInYearAccurate*24,minutes:daysInYearAccurate*24*60,seconds:daysInYearAccurate*24*60*60,milliseconds:daysInYearAccurate*24*60*60*1e3},quarters:{months:3,weeks:daysInYearAccurate/28,days:daysInYearAccurate/4,hours:daysInYearAccurate*24/4,minutes:daysInYearAccurate*24*60/4,seconds:daysInYearAccurate*24*60*60/4,milliseconds:daysInYearAccurate*24*60*60*1e3/4},months:{weeks:daysInMonthAccurate/7,days:daysInMonthAccurate,hours:daysInMonthAccurate*24,minutes:daysInMonthAccurate*24*60,seconds:daysInMonthAccurate*24*60*60,milliseconds:daysInMonthAccurate*24*60*60*1e3},...lowOrderMatrix},orderedUnits$1=[`years`,`quarters`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`],reverseUnits=orderedUnits$1.slice(0).reverse();function clone$1(dur,alts,clear=!1){let conf={values:clear?alts.values:{...dur.values,...alts.values||{}},loc:dur.loc.clone(alts.loc),conversionAccuracy:alts.conversionAccuracy||dur.conversionAccuracy,matrix:alts.matrix||dur.matrix};return new Duration(conf)}function durationToMillis(matrix,vals){let sum=vals.milliseconds??0;for(let unit of reverseUnits.slice(1))vals[unit]&&(sum+=vals[unit]*matrix[unit].milliseconds);return sum}function normalizeValues(matrix,vals){let factor=durationToMillis(matrix,vals)<0?-1:1;orderedUnits$1.reduceRight((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let previousVal=vals[previous]*factor,conv=matrix[current][previous],rollUp=Math.floor(previousVal/conv);vals[current]+=rollUp*factor,vals[previous]-=rollUp*conv*factor}return current},null),orderedUnits$1.reduce((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let fraction=vals[previous]%1;vals[previous]-=fraction,vals[current]+=fraction*matrix[previous][current]}return current},null)}function removeZeroes(vals){let newVals={};for(let[key,value]of Object.entries(vals))value!==0&&(newVals[key]=value);return newVals}var Duration=class Duration{constructor(config){let accurate=config.conversionAccuracy===`longterm`||!1,matrix=accurate?accurateMatrix:casualMatrix;config.matrix&&(matrix=config.matrix),this.values=config.values,this.loc=config.loc||Locale.create(),this.conversionAccuracy=accurate?`longterm`:`casual`,this.invalid=config.invalid||null,this.matrix=matrix,this.isLuxonDuration=!0}static fromMillis(count,opts){return Duration.fromObject({milliseconds:count},opts)}static fromObject(obj,opts={}){if(typeof obj!=`object`||!obj)throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj===null?`null`:typeof obj}`);return new Duration({values:normalizeObject(obj,Duration.normalizeUnit),loc:Locale.fromObject(opts),conversionAccuracy:opts.conversionAccuracy,matrix:opts.matrix})}static fromDurationLike(durationLike){if(isNumber(durationLike))return Duration.fromMillis(durationLike);if(Duration.isDuration(durationLike))return durationLike;if(typeof durationLike==`object`)return Duration.fromObject(durationLike);throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`)}static fromISO(text,opts){let[parsed]=parseISODuration(text);return parsed?Duration.fromObject(parsed,opts):Duration.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static fromISOTime(text,opts){let[parsed]=parseISOTimeOnly(text);return parsed?Duration.fromObject(parsed,opts):Duration.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the Duration is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDurationError(invalid$1);return new Duration({invalid:invalid$1})}static normalizeUnit(unit){let normalized={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`}[unit&&unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}static isDuration(o$2){return o$2&&o$2.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(fmt,opts={}){let fmtOpts={...opts,floor:opts.round!==!1&&opts.floor!==!1};return this.isValid?Formatter.create(this.loc,fmtOpts).formatDurationFromString(this,fmt):INVALID$2}toHuman(opts={}){if(!this.isValid)return INVALID$2;let showZeros=opts.showZeros!==!1,l$4=orderedUnits$1.map(unit=>{let val=this.values[unit];return isUndefined(val)||val===0&&!showZeros?null:this.loc.numberFormatter({style:`unit`,unitDisplay:`long`,...opts,unit:unit.slice(0,-1)}).format(val)}).filter(n$4=>n$4);return this.loc.listFormatter({type:`conjunction`,style:opts.listStyle||`narrow`,...opts}).format(l$4)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let s$6=`P`;return this.years!==0&&(s$6+=this.years+`Y`),(this.months!==0||this.quarters!==0)&&(s$6+=this.months+this.quarters*3+`M`),this.weeks!==0&&(s$6+=this.weeks+`W`),this.days!==0&&(s$6+=this.days+`D`),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(s$6+=`T`),this.hours!==0&&(s$6+=this.hours+`H`),this.minutes!==0&&(s$6+=this.minutes+`M`),(this.seconds!==0||this.milliseconds!==0)&&(s$6+=roundTo(this.seconds+this.milliseconds/1e3,3)+`S`),s$6===`P`&&(s$6+=`T0S`),s$6}toISOTime(opts={}){if(!this.isValid)return null;let millis=this.toMillis();if(millis<0||millis>=864e5)return null;opts={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:`extended`,...opts,includeOffset:!1};let dateTime=DateTime.fromMillis(millis,{zone:`UTC`});return dateTime.toISOTime(opts)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?durationToMillis(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1),result={};for(let k of orderedUnits$1)(hasOwnProperty(dur.values,k)||hasOwnProperty(this.values,k))&&(result[k]=dur.get(k)+this.get(k));return clone$1(this,{values:result},!0)}minus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1);return this.plus(dur.negate())}mapUnits(fn$1){if(!this.isValid)return this;let result={};for(let k of Object.keys(this.values))result[k]=asNumber(fn$1(this.values[k],k));return clone$1(this,{values:result},!0)}get(unit){return this[Duration.normalizeUnit(unit)]}set(values$3){if(!this.isValid)return this;let mixed={...this.values,...normalizeObject(values$3,Duration.normalizeUnit)};return clone$1(this,{values:mixed})}reconfigure({locale,numberingSystem,conversionAccuracy,matrix}={}){let loc=this.loc.clone({locale,numberingSystem}),opts={loc,matrix,conversionAccuracy};return clone$1(this,opts)}as(unit){return this.isValid?this.shiftTo(unit).get(unit):NaN}normalize(){if(!this.isValid)return this;let vals=this.toObject();return normalizeValues(this.matrix,vals),clone$1(this,{values:vals},!0)}rescale(){if(!this.isValid)return this;let vals=removeZeroes(this.normalize().shiftToAll().toObject());return clone$1(this,{values:vals},!0)}shiftTo(...units){if(!this.isValid||units.length===0)return this;units=units.map(u=>Duration.normalizeUnit(u));let built={},accumulated={},vals=this.toObject(),lastUnit;for(let k of orderedUnits$1)if(units.indexOf(k)>=0){lastUnit=k;let own=0;for(let ak in accumulated)own+=this.matrix[ak][k]*accumulated[ak],accumulated[ak]=0;isNumber(vals[k])&&(own+=vals[k]);let i$4=Math.trunc(own);built[k]=i$4,accumulated[k]=(own*1e3-i$4*1e3)/1e3}else isNumber(vals[k])&&(accumulated[k]=vals[k]);for(let key in accumulated)accumulated[key]!==0&&(built[lastUnit]+=key===lastUnit?accumulated[key]:accumulated[key]/this.matrix[lastUnit][key]);return normalizeValues(this.matrix,built),clone$1(this,{values:built},!0)}shiftToAll(){return this.isValid?this.shiftTo(`years`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`):this}negate(){if(!this.isValid)return this;let negated={};for(let k of Object.keys(this.values))negated[k]=this.values[k]===0?0:-this.values[k];return clone$1(this,{values:negated},!0)}removeZeros(){if(!this.isValid)return this;let vals=removeZeroes(this.values);return clone$1(this,{values:vals},!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(other){if(!this.isValid||!other.isValid||!this.loc.equals(other.loc))return!1;function eq$9(v1,v2){return v1===void 0||v1===0?v2===void 0||v2===0:v1===v2}for(let u of orderedUnits$1)if(!eq$9(this.values[u],other.values[u]))return!1;return!0}};const INVALID$1=`Invalid Interval`;function validateStartEnd(start,end){return!start||!start.isValid?Interval.invalid(`missing or invalid start`):!end||!end.isValid?Interval.invalid(`missing or invalid end`):end<start?Interval.invalid(`end before start`,`The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`):null}var Interval=class Interval{constructor(config){this.s=config.start,this.e=config.end,this.invalid=config.invalid||null,this.isLuxonInterval=!0}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the Interval is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidIntervalError(invalid$1);return new Interval({invalid:invalid$1})}static fromDateTimes(start,end){let builtStart=friendlyDateTime(start),builtEnd=friendlyDateTime(end),validateError=validateStartEnd(builtStart,builtEnd);return validateError??new Interval({start:builtStart,end:builtEnd})}static after(start,duration$1){let dur=Duration.fromDurationLike(duration$1),dt=friendlyDateTime(start);return Interval.fromDateTimes(dt,dt.plus(dur))}static before(end,duration$1){let dur=Duration.fromDurationLike(duration$1),dt=friendlyDateTime(end);return Interval.fromDateTimes(dt.minus(dur),dt)}static fromISO(text,opts){let[s$6,e$2]=(text||``).split(`/`,2);if(s$6&&e$2){let start,startIsValid;try{start=DateTime.fromISO(s$6,opts),startIsValid=start.isValid}catch{startIsValid=!1}let end,endIsValid;try{end=DateTime.fromISO(e$2,opts),endIsValid=end.isValid}catch{endIsValid=!1}if(startIsValid&&endIsValid)return Interval.fromDateTimes(start,end);if(startIsValid){let dur=Duration.fromISO(e$2,opts);if(dur.isValid)return Interval.after(start,dur)}else if(endIsValid){let dur=Duration.fromISO(s$6,opts);if(dur.isValid)return Interval.before(end,dur)}}return Interval.invalid(`unparsable`,`the input "${text}" can't be parsed as ISO 8601`)}static isInterval(o$2){return o$2&&o$2.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):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(unit=`milliseconds`){return this.isValid?this.toDuration(unit).get(unit):NaN}count(unit=`milliseconds`,opts){if(!this.isValid)return NaN;let start=this.start.startOf(unit,opts),end;return end=opts?.useLocaleWeeks?this.end.reconfigure({locale:start.locale}):this.end,end=end.startOf(unit,opts),Math.floor(end.diff(start,unit).get(unit))+(end.valueOf()!==this.end.valueOf())}hasSame(unit){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,unit):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(dateTime){return this.isValid?this.s>dateTime:!1}isBefore(dateTime){return this.isValid?this.e<=dateTime:!1}contains(dateTime){return this.isValid?this.s<=dateTime&&this.e>dateTime:!1}set({start,end}={}){return this.isValid?Interval.fromDateTimes(start||this.s,end||this.e):this}splitAt(...dateTimes){if(!this.isValid)return[];let sorted=dateTimes.map(friendlyDateTime).filter(d$1=>this.contains(d$1)).sort((a$2,b)=>a$2.toMillis()-b.toMillis()),results=[],{s:s$6}=this,i$4=0;for(;s$6<this.e;){let added=sorted[i$4]||this.e,next=+added>+this.e?this.e:added;results.push(Interval.fromDateTimes(s$6,next)),s$6=next,i$4+=1}return results}splitBy(duration$1){let dur=Duration.fromDurationLike(duration$1);if(!this.isValid||!dur.isValid||dur.as(`milliseconds`)===0)return[];let{s:s$6}=this,idx=1,next,results=[];for(;s$6<this.e;){let added=this.start.plus(dur.mapUnits(x$1=>x$1*idx));next=+added>+this.e?this.e:added,results.push(Interval.fromDateTimes(s$6,next)),s$6=next,idx+=1}return results}divideEqually(numberOfParts){return this.isValid?this.splitBy(this.length()/numberOfParts).slice(0,numberOfParts):[]}overlaps(other){return this.e>other.s&&this.s<other.e}abutsStart(other){return this.isValid?+this.e==+other.s:!1}abutsEnd(other){return this.isValid?+other.e==+this.s:!1}engulfs(other){return this.isValid?this.s<=other.s&&this.e>=other.e:!1}equals(other){return!this.isValid||!other.isValid?!1:this.s.equals(other.s)&&this.e.equals(other.e)}intersection(other){if(!this.isValid)return this;let s$6=this.s>other.s?this.s:other.s,e$2=this.e<other.e?this.e:other.e;return s$6>=e$2?null:Interval.fromDateTimes(s$6,e$2)}union(other){if(!this.isValid)return this;let s$6=this.s<other.s?this.s:other.s,e$2=this.e>other.e?this.e:other.e;return Interval.fromDateTimes(s$6,e$2)}static merge(intervals){let[found,final]=intervals.sort((a$2,b)=>a$2.s-b.s).reduce(([sofar,current],item)=>current?current.overlaps(item)||current.abutsStart(item)?[sofar,current.union(item)]:[sofar.concat([current]),item]:[sofar,item],[[],null]);return final&&found.push(final),found}static xor(intervals){let start=null,currentCount=0,results=[],ends=intervals.map(i$4=>[{time:i$4.s,type:`s`},{time:i$4.e,type:`e`}]),flattened=Array.prototype.concat(...ends),arr=flattened.sort((a$2,b)=>a$2.time-b.time);for(let i$4 of arr)currentCount+=i$4.type===`s`?1:-1,currentCount===1?start=i$4.time:(start&&+start!=+i$4.time&&results.push(Interval.fromDateTimes(start,i$4.time)),start=null);return Interval.merge(results)}difference(...intervals){return Interval.xor([this].concat(intervals)).map(i$4=>this.intersection(i$4)).filter(i$4=>i$4&&!i$4.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:INVALID$1}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.s.loc.clone(opts),formatOpts).formatInterval(this):INVALID$1}toISO(opts){return this.isValid?`${this.s.toISO(opts)}/${this.e.toISO(opts)}`:INVALID$1}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:INVALID$1}toISOTime(opts){return this.isValid?`${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`:INVALID$1}toFormat(dateFormat,{separator=` – `}={}){return this.isValid?`${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`:INVALID$1}toDuration(unit,opts){return this.isValid?this.e.diff(this.s,unit,opts):Duration.invalid(this.invalidReason)}mapEndpoints(mapFn){return Interval.fromDateTimes(mapFn(this.s),mapFn(this.e))}},Info=class{static hasDST(zone=Settings.defaultZone){let proto=DateTime.now().setZone(zone).set({month:12});return!zone.isUniversal&&proto.offset!==proto.set({month:6}).offset}static isValidIANAZone(zone){return IANAZone.isValidZone(zone)}static normalizeZone(input){return normalizeZone(input,Settings.defaultZone)}static getStartOfWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getWeekendDays().slice()}static months(length=`long`,{locale=null,numberingSystem=null,locObj=null,outputCalendar=`gregory`}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length)}static monthsFormat(length=`long`,{locale=null,numberingSystem=null,locObj=null,outputCalendar=`gregory`}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length,!0)}static weekdays(length=`long`,{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length)}static weekdaysFormat(length=`long`,{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length,!0)}static meridiems({locale=null}={}){return Locale.create(locale).meridiems()}static eras(length=`short`,{locale=null}={}){return Locale.create(locale,null,`gregory`).eras(length)}static features(){return{relative:hasRelative(),localeWeek:hasLocaleWeekInfo()}}};function dayDiff(earlier,later){let utcDayStart=dt=>dt.toUTC(0,{keepLocalTime:!0}).startOf(`day`).valueOf(),ms=utcDayStart(later)-utcDayStart(earlier);return Math.floor(Duration.fromMillis(ms).as(`days`))}function highOrderDiffs(cursor,later,units){let differs=[[`years`,(a$2,b)=>b.year-a$2.year],[`quarters`,(a$2,b)=>b.quarter-a$2.quarter+(b.year-a$2.year)*4],[`months`,(a$2,b)=>b.month-a$2.month+(b.year-a$2.year)*12],[`weeks`,(a$2,b)=>{let days=dayDiff(a$2,b);return(days-days%7)/7}],[`days`,dayDiff]],results={},earlier=cursor,lowestOrder,highWater;for(let[unit,differ]of differs)units.indexOf(unit)>=0&&(lowestOrder=unit,results[unit]=differ(cursor,later),highWater=earlier.plus(results),highWater>later?(results[unit]--,cursor=earlier.plus(results),cursor>later&&(highWater=cursor,results[unit]--,cursor=earlier.plus(results))):cursor=highWater);return[cursor,results,highWater,lowestOrder]}function diff$2(earlier,later,units,opts){let[cursor,results,highWater,lowestOrder]=highOrderDiffs(earlier,later,units),remainingMillis=later-cursor,lowerOrderUnits=units.filter(u=>[`hours`,`minutes`,`seconds`,`milliseconds`].indexOf(u)>=0);lowerOrderUnits.length===0&&(highWater<later&&(highWater=cursor.plus({[lowestOrder]:1})),highWater!==cursor&&(results[lowestOrder]=(results[lowestOrder]||0)+remainingMillis/(highWater-cursor)));let duration$1=Duration.fromObject(results,opts);return lowerOrderUnits.length>0?Duration.fromMillis(remainingMillis,opts).shiftTo(...lowerOrderUnits).plus(duration$1):duration$1}const MISSING_FTP=`missing Intl.DateTimeFormat.formatToParts support`;function intUnit(regex,post=i$4=>i$4){return{regex,deser:([s$6])=>post(parseDigits(s$6))}}const NBSP=`\xA0`,spaceOrNBSP=`[ ${NBSP}]`,spaceOrNBSPRegExp=new RegExp(spaceOrNBSP,`g`);function fixListRegex(s$6){return s$6.replace(/\./g,`\\.?`).replace(spaceOrNBSPRegExp,spaceOrNBSP)}function stripInsensitivities(s$6){return s$6.replace(/\./g,``).replace(spaceOrNBSPRegExp,` `).toLowerCase()}function oneOf(strings,startIndex){return strings===null?null:{regex:RegExp(strings.map(fixListRegex).join(`|`)),deser:([s$6])=>strings.findIndex(i$4=>stripInsensitivities(s$6)===stripInsensitivities(i$4))+startIndex}}function offset(regex,groups){return{regex,deser:([,h$1,m$3])=>signedOffset(h$1,m$3),groups}}function simple(regex){return{regex,deser:([s$6])=>s$6}}function escapeToken(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,`\\$&`)}function unitForToken(token,loc){let one=digitRegex(loc),two$1=digitRegex(loc,`{2}`),three=digitRegex(loc,`{3}`),four=digitRegex(loc,`{4}`),six=digitRegex(loc,`{6}`),oneOrTwo=digitRegex(loc,`{1,2}`),oneToThree=digitRegex(loc,`{1,3}`),oneToSix=digitRegex(loc,`{1,6}`),oneToNine=digitRegex(loc,`{1,9}`),twoToFour=digitRegex(loc,`{2,4}`),fourToSix=digitRegex(loc,`{4,6}`),literal=t$7=>({regex:RegExp(escapeToken(t$7.val)),deser:([s$6])=>s$6,literal:!0}),unitate=t$7=>{if(token.literal)return literal(t$7);switch(t$7.val){case`G`:return oneOf(loc.eras(`short`),0);case`GG`:return oneOf(loc.eras(`long`),0);case`y`:return intUnit(oneToSix);case`yy`:return intUnit(twoToFour,untruncateYear);case`yyyy`:return intUnit(four);case`yyyyy`:return intUnit(fourToSix);case`yyyyyy`:return intUnit(six);case`M`:return intUnit(oneOrTwo);case`MM`:return intUnit(two$1);case`MMM`:return oneOf(loc.months(`short`,!0),1);case`MMMM`:return oneOf(loc.months(`long`,!0),1);case`L`:return intUnit(oneOrTwo);case`LL`:return intUnit(two$1);case`LLL`:return oneOf(loc.months(`short`,!1),1);case`LLLL`:return oneOf(loc.months(`long`,!1),1);case`d`:return intUnit(oneOrTwo);case`dd`:return intUnit(two$1);case`o`:return intUnit(oneToThree);case`ooo`:return intUnit(three);case`HH`:return intUnit(two$1);case`H`:return intUnit(oneOrTwo);case`hh`:return intUnit(two$1);case`h`:return intUnit(oneOrTwo);case`mm`:return intUnit(two$1);case`m`:return intUnit(oneOrTwo);case`q`:return intUnit(oneOrTwo);case`qq`:return intUnit(two$1);case`s`:return intUnit(oneOrTwo);case`ss`:return intUnit(two$1);case`S`:return intUnit(oneToThree);case`SSS`:return intUnit(three);case`u`:return simple(oneToNine);case`uu`:return simple(oneOrTwo);case`uuu`:return intUnit(one);case`a`:return oneOf(loc.meridiems(),0);case`kkkk`:return intUnit(four);case`kk`:return intUnit(twoToFour,untruncateYear);case`W`:return intUnit(oneOrTwo);case`WW`:return intUnit(two$1);case`E`:case`c`:return intUnit(one);case`EEE`:return oneOf(loc.weekdays(`short`,!1),1);case`EEEE`:return oneOf(loc.weekdays(`long`,!1),1);case`ccc`:return oneOf(loc.weekdays(`short`,!0),1);case`cccc`:return oneOf(loc.weekdays(`long`,!0),1);case`Z`:case`ZZ`:return offset(RegExp(`([+-]${oneOrTwo.source})(?::(${two$1.source}))?`),2);case`ZZZ`:return offset(RegExp(`([+-]${oneOrTwo.source})(${two$1.source})?`),2);case`z`:return simple(/[a-z_+-/]{1,256}?/i);case` `:return simple(/[^\S\n\r]/);default:return literal(t$7)}},unit=unitate(token)||{invalidReason:MISSING_FTP};return unit.token=token,unit}const partTypeStyleToTokenVal={year:{"2-digit":`yy`,numeric:`yyyyy`},month:{numeric:`M`,"2-digit":`MM`,short:`MMM`,long:`MMMM`},day:{numeric:`d`,"2-digit":`dd`},weekday:{short:`EEE`,long:`EEEE`},dayperiod:`a`,dayPeriod:`a`,hour12:{numeric:`h`,"2-digit":`hh`},hour24:{numeric:`H`,"2-digit":`HH`},minute:{numeric:`m`,"2-digit":`mm`},second:{numeric:`s`,"2-digit":`ss`},timeZoneName:{long:`ZZZZZ`,short:`ZZZ`}};function tokenForPart(part,formatOpts,resolvedOpts){let{type,value}=part;if(type===`literal`){let isSpace=/^\s+$/.test(value);return{literal:!isSpace,val:isSpace?` `:value}}let style=formatOpts[type],actualType=type;type===`hour`&&(actualType=formatOpts.hour12==null?formatOpts.hourCycle==null?resolvedOpts.hour12?`hour12`:`hour24`:formatOpts.hourCycle===`h11`||formatOpts.hourCycle===`h12`?`hour12`:`hour24`:formatOpts.hour12?`hour12`:`hour24`);let val=partTypeStyleToTokenVal[actualType];if(typeof val==`object`&&(val=val[style]),val)return{literal:!1,val}}function buildRegex(units){let re$5=units.map(u=>u.regex).reduce((f$3,r$2)=>`${f$3}(${r$2.source})`,``);return[`^${re$5}$`,units]}function match(input,regex,handlers){let matches=input.match(regex);if(matches){let all$1={},matchIndex=1;for(let i$4 in handlers)if(hasOwnProperty(handlers,i$4)){let h$1=handlers[i$4],groups=h$1.groups?h$1.groups+1:1;!h$1.literal&&h$1.token&&(all$1[h$1.token.val[0]]=h$1.deser(matches.slice(matchIndex,matchIndex+groups))),matchIndex+=groups}return[matches,all$1]}else return[matches,{}]}function dateTimeFromMatches(matches){let toField=token=>{switch(token){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}},zone=null,specificOffset;isUndefined(matches.z)||(zone=IANAZone.create(matches.z)),isUndefined(matches.Z)||(zone||=new FixedOffsetZone(matches.Z),specificOffset=matches.Z),isUndefined(matches.q)||(matches.M=(matches.q-1)*3+1),isUndefined(matches.h)||(matches.h<12&&matches.a===1?matches.h+=12:matches.h===12&&matches.a===0&&(matches.h=0)),matches.G===0&&matches.y&&(matches.y=-matches.y),isUndefined(matches.u)||(matches.S=parseMillis(matches.u));let vals=Object.keys(matches).reduce((r$2,k)=>{let f$3=toField(k);return f$3&&(r$2[f$3]=matches[k]),r$2},{});return[vals,zone,specificOffset]}let dummyDateTimeCache=null;function getDummyDateTime(){return dummyDateTimeCache||=DateTime.fromMillis(1555555555555),dummyDateTimeCache}function maybeExpandMacroToken(token,locale){if(token.literal)return token;let formatOpts=Formatter.macroTokenToFormatOpts(token.val),tokens=formatOptsToTokens(formatOpts,locale);return tokens==null||tokens.includes(void 0)?token:tokens}function expandMacroTokens(tokens,locale){return Array.prototype.concat(...tokens.map(t$7=>maybeExpandMacroToken(t$7,locale)))}var TokenParser=class{constructor(locale,format){if(this.locale=locale,this.format=format,this.tokens=expandMacroTokens(Formatter.parseFormat(format),locale),this.units=this.tokens.map(t$7=>unitForToken(t$7,locale)),this.disqualifyingUnit=this.units.find(t$7=>t$7.invalidReason),!this.disqualifyingUnit){let[regexString,handlers]=buildRegex(this.units);this.regex=RegExp(regexString,`i`),this.handlers=handlers}}explainFromTokens(input){if(this.isValid){let[rawMatches,matches]=match(input,this.regex,this.handlers),[result,zone,specificOffset]=matches?dateTimeFromMatches(matches):[null,null,void 0];if(hasOwnProperty(matches,`a`)&&hasOwnProperty(matches,`H`))throw new ConflictingSpecificationError(`Can't include meridiem when specifying 24-hour format`);return{input,tokens:this.tokens,regex:this.regex,rawMatches,matches,result,zone,specificOffset}}else return{input,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function explainFromTokens(locale,input,format){let parser=new TokenParser(locale,format);return parser.explainFromTokens(input)}function parseFromTokens(locale,input,format){let{result,zone,specificOffset,invalidReason}=explainFromTokens(locale,input,format);return[result,zone,specificOffset,invalidReason]}function formatOptsToTokens(formatOpts,locale){if(!formatOpts)return null;let formatter=Formatter.create(locale,formatOpts),df=formatter.dtFormatter(getDummyDateTime()),parts=df.formatToParts(),resolvedOpts=df.resolvedOptions();return parts.map(p$1=>tokenForPart(p$1,formatOpts,resolvedOpts))}const INVALID=`Invalid DateTime`,MAX_DATE=864e13;function unsupportedZone(zone){return new Invalid(`unsupported zone`,`the zone "${zone.name}" is not supported`)}function possiblyCachedWeekData(dt){return dt.weekData===null&&(dt.weekData=gregorianToWeek(dt.c)),dt.weekData}function possiblyCachedLocalWeekData(dt){return dt.localWeekData===null&&(dt.localWeekData=gregorianToWeek(dt.c,dt.loc.getMinDaysInFirstWeek(),dt.loc.getStartOfWeek())),dt.localWeekData}function clone(inst,alts){let current={ts:inst.ts,zone:inst.zone,c:inst.c,o:inst.o,loc:inst.loc,invalid:inst.invalid};return new DateTime({...current,...alts,old:current})}function fixOffset(localTS,o$2,tz){let utcGuess=localTS-o$2*60*1e3,o2=tz.offset(utcGuess);if(o$2===o2)return[utcGuess,o$2];utcGuess-=(o2-o$2)*60*1e3;let o3=tz.offset(utcGuess);return o2===o3?[utcGuess,o2]:[localTS-Math.min(o2,o3)*60*1e3,Math.max(o2,o3)]}function tsToObj(ts,offset$2){ts+=offset$2*60*1e3;let d$1=new Date(ts);return{year:d$1.getUTCFullYear(),month:d$1.getUTCMonth()+1,day:d$1.getUTCDate(),hour:d$1.getUTCHours(),minute:d$1.getUTCMinutes(),second:d$1.getUTCSeconds(),millisecond:d$1.getUTCMilliseconds()}}function objToTS(obj,offset$2,zone){return fixOffset(objToLocalTS(obj),offset$2,zone)}function adjustTime(inst,dur){let oPre=inst.o,year=inst.c.year+Math.trunc(dur.years),month=inst.c.month+Math.trunc(dur.months)+Math.trunc(dur.quarters)*3,c$1={...inst.c,year,month,day:Math.min(inst.c.day,daysInMonth(year,month))+Math.trunc(dur.days)+Math.trunc(dur.weeks)*7},millisToAdd=Duration.fromObject({years:dur.years-Math.trunc(dur.years),quarters:dur.quarters-Math.trunc(dur.quarters),months:dur.months-Math.trunc(dur.months),weeks:dur.weeks-Math.trunc(dur.weeks),days:dur.days-Math.trunc(dur.days),hours:dur.hours,minutes:dur.minutes,seconds:dur.seconds,milliseconds:dur.milliseconds}).as(`milliseconds`),localTS=objToLocalTS(c$1),[ts,o$2]=fixOffset(localTS,oPre,inst.zone);return millisToAdd!==0&&(ts+=millisToAdd,o$2=inst.zone.offset(ts)),{ts,o:o$2}}function parseDataToDateTime(parsed,parsedZone,opts,format,text,specificOffset){let{setZone,zone}=opts;if(parsed&&Object.keys(parsed).length!==0||parsedZone){let interpretationZone=parsedZone||zone,inst=DateTime.fromObject(parsed,{...opts,zone:interpretationZone,specificOffset});return setZone?inst:inst.setZone(zone)}else return DateTime.invalid(new Invalid(`unparsable`,`the input "${text}" can't be parsed as ${format}`))}function toTechFormat(dt,format,allowZ=!0){return dt.isValid?Formatter.create(Locale.create(`en-US`),{allowZ,forceSimple:!0}).formatDateTimeFromString(dt,format):null}function toISODate(o$2,extended,precision){let longFormat=o$2.c.year>9999||o$2.c.year<0,c$1=``;if(longFormat&&o$2.c.year>=0&&(c$1+=`+`),c$1+=padStart(o$2.c.year,longFormat?6:4),precision===`year`)return c$1;if(extended){if(c$1+=`-`,c$1+=padStart(o$2.c.month),precision===`month`)return c$1;c$1+=`-`}else if(c$1+=padStart(o$2.c.month),precision===`month`)return c$1;return c$1+=padStart(o$2.c.day),c$1}function toISOTime(o$2,extended,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision){let showSeconds=!suppressSeconds||o$2.c.millisecond!==0||o$2.c.second!==0,c$1=``;switch(precision){case`day`:case`month`:case`year`:break;default:if(c$1+=padStart(o$2.c.hour),precision===`hour`)break;if(extended){if(c$1+=`:`,c$1+=padStart(o$2.c.minute),precision===`minute`)break;showSeconds&&(c$1+=`:`,c$1+=padStart(o$2.c.second))}else{if(c$1+=padStart(o$2.c.minute),precision===`minute`)break;showSeconds&&(c$1+=padStart(o$2.c.second))}if(precision===`second`)break;showSeconds&&(!suppressMilliseconds||o$2.c.millisecond!==0)&&(c$1+=`.`,c$1+=padStart(o$2.c.millisecond,3))}return includeOffset&&(o$2.isOffsetFixed&&o$2.offset===0&&!extendedZone?c$1+=`Z`:o$2.o<0?(c$1+=`-`,c$1+=padStart(Math.trunc(-o$2.o/60)),c$1+=`:`,c$1+=padStart(Math.trunc(-o$2.o%60))):(c$1+=`+`,c$1+=padStart(Math.trunc(o$2.o/60)),c$1+=`:`,c$1+=padStart(Math.trunc(o$2.o%60)))),extendedZone&&(c$1+=`[`+o$2.zone.ianaName+`]`),c$1}const defaultUnitValues={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},defaultWeekUnitValues={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},defaultOrdinalUnitValues={ordinal:1,hour:0,minute:0,second:0,millisecond:0},orderedUnits=[`year`,`month`,`day`,`hour`,`minute`,`second`,`millisecond`],orderedWeekUnits=[`weekYear`,`weekNumber`,`weekday`,`hour`,`minute`,`second`,`millisecond`],orderedOrdinalUnits=[`year`,`ordinal`,`hour`,`minute`,`second`,`millisecond`];function normalizeUnit(unit){let normalized={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`}[unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}function normalizeUnitWithLocalWeeks(unit){switch(unit.toLowerCase()){case`localweekday`:case`localweekdays`:return`localWeekday`;case`localweeknumber`:case`localweeknumbers`:return`localWeekNumber`;case`localweekyear`:case`localweekyears`:return`localWeekYear`;default:return normalizeUnit(unit)}}function guessOffsetForZone(zone){if(zoneOffsetTs===void 0&&(zoneOffsetTs=Settings.now()),zone.type!==`iana`)return zone.offset(zoneOffsetTs);let zoneName=zone.name,offsetGuess=zoneOffsetGuessCache.get(zoneName);return offsetGuess===void 0&&(offsetGuess=zone.offset(zoneOffsetTs),zoneOffsetGuessCache.set(zoneName,offsetGuess)),offsetGuess}function quickDT(obj,opts){let zone=normalizeZone(opts.zone,Settings.defaultZone);if(!zone.isValid)return DateTime.invalid(unsupportedZone(zone));let loc=Locale.fromObject(opts),ts,o$2;if(isUndefined(obj.year))ts=Settings.now();else{for(let u of orderedUnits)isUndefined(obj[u])&&(obj[u]=defaultUnitValues[u]);let invalid$1=hasInvalidGregorianData(obj)||hasInvalidTimeData(obj);if(invalid$1)return DateTime.invalid(invalid$1);let offsetProvis=guessOffsetForZone(zone);[ts,o$2]=objToTS(obj,offsetProvis,zone)}return new DateTime({ts,zone,loc,o:o$2})}function diffRelative(start,end,opts){let round$2=isUndefined(opts.round)?!0:opts.round,rounding=isUndefined(opts.rounding)?`trunc`:opts.rounding,format=(c$1,unit)=>{c$1=roundTo(c$1,round$2||opts.calendary?0:2,opts.calendary?`round`:rounding);let formatter=end.loc.clone(opts).relFormatter(opts);return formatter.format(c$1,unit)},differ=unit=>opts.calendary?end.hasSame(start,unit)?0:end.startOf(unit).diff(start.startOf(unit),unit).get(unit):end.diff(start,unit).get(unit);if(opts.unit)return format(differ(opts.unit),opts.unit);for(let unit of opts.units){let count=differ(unit);if(Math.abs(count)>=1)return format(count,unit)}return format(start>end?-0:0,opts.units[opts.units.length-1])}function lastOpts(argList){let opts={},args$1;return argList.length>0&&typeof argList[argList.length-1]==`object`?(opts=argList[argList.length-1],args$1=Array.from(argList).slice(0,argList.length-1)):args$1=Array.from(argList),[opts,args$1]}let zoneOffsetTs;const zoneOffsetGuessCache=new Map;var DateTime=class DateTime{constructor(config){let zone=config.zone||Settings.defaultZone,invalid$1=config.invalid||(Number.isNaN(config.ts)?new Invalid(`invalid input`):null)||(zone.isValid?null:unsupportedZone(zone));this.ts=isUndefined(config.ts)?Settings.now():config.ts;let c$1=null,o$2=null;if(!invalid$1){let unchanged=config.old&&config.old.ts===this.ts&&config.old.zone.equals(zone);if(unchanged)[c$1,o$2]=[config.old.c,config.old.o];else{let ot=isNumber(config.o)&&!config.old?config.o:zone.offset(this.ts);c$1=tsToObj(this.ts,ot),invalid$1=Number.isNaN(c$1.year)?new Invalid(`invalid input`):null,c$1=invalid$1?null:c$1,o$2=invalid$1?null:ot}}this._zone=zone,this.loc=config.loc||Locale.create(),this.invalid=invalid$1,this.weekData=null,this.localWeekData=null,this.c=c$1,this.o=o$2,this.isLuxonDateTime=!0}static now(){return new DateTime({})}static local(){let[opts,args$1]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args$1;return quickDT({year,month,day,hour,minute,second,millisecond},opts)}static utc(){let[opts,args$1]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args$1;return opts.zone=FixedOffsetZone.utcInstance,quickDT({year,month,day,hour,minute,second,millisecond},opts)}static fromJSDate(date,options={}){let ts=isDate(date)?date.valueOf():NaN;if(Number.isNaN(ts))return DateTime.invalid(`invalid input`);let zoneToUse=normalizeZone(options.zone,Settings.defaultZone);return zoneToUse.isValid?new DateTime({ts,zone:zoneToUse,loc:Locale.fromObject(options)}):DateTime.invalid(unsupportedZone(zoneToUse))}static fromMillis(milliseconds,options={}){if(isNumber(milliseconds))return milliseconds<-MAX_DATE||milliseconds>MAX_DATE?DateTime.invalid(`Timestamp out of range`):new DateTime({ts:milliseconds,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`)}static fromSeconds(seconds,options={}){if(isNumber(seconds))return new DateTime({ts:seconds*1e3,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromSeconds requires a numerical input`)}static fromObject(obj,opts={}){obj||={};let zoneToUse=normalizeZone(opts.zone,Settings.defaultZone);if(!zoneToUse.isValid)return DateTime.invalid(unsupportedZone(zoneToUse));let loc=Locale.fromObject(opts),normalized=normalizeObject(obj,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,loc),tsNow=Settings.now(),offsetProvis=isUndefined(opts.specificOffset)?zoneToUse.offset(tsNow):opts.specificOffset,containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError(`Can't mix ordinal dates with month/day`);let useWeekData=definiteWeekDef||normalized.weekday&&!containsGregor,units,defaultValues,objNow=tsToObj(tsNow,offsetProvis);useWeekData?(units=orderedWeekUnits,defaultValues=defaultWeekUnitValues,objNow=gregorianToWeek(objNow,minDaysInFirstWeek,startOfWeek)):containsOrdinal?(units=orderedOrdinalUnits,defaultValues=defaultOrdinalUnitValues,objNow=gregorianToOrdinal(objNow)):(units=orderedUnits,defaultValues=defaultUnitValues);let foundFirst=!1;for(let u of units){let v$1=normalized[u];isUndefined(v$1)?foundFirst?normalized[u]=defaultValues[u]:normalized[u]=objNow[u]:foundFirst=!0}let higherOrderInvalid=useWeekData?hasInvalidWeekData(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?hasInvalidOrdinalData(normalized):hasInvalidGregorianData(normalized),invalid$1=higherOrderInvalid||hasInvalidTimeData(normalized);if(invalid$1)return DateTime.invalid(invalid$1);let gregorian=useWeekData?weekToGregorian(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?ordinalToGregorian(normalized):normalized,[tsFinal,offsetFinal]=objToTS(gregorian,offsetProvis,zoneToUse),inst=new DateTime({ts:tsFinal,zone:zoneToUse,o:offsetFinal,loc});return normalized.weekday&&containsGregor&&obj.weekday!==inst.weekday?DateTime.invalid(`mismatched weekday`,`you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`):inst.isValid?inst:DateTime.invalid(inst.invalid)}static fromISO(text,opts={}){let[vals,parsedZone]=parseISODate(text);return parseDataToDateTime(vals,parsedZone,opts,`ISO 8601`,text)}static fromRFC2822(text,opts={}){let[vals,parsedZone]=parseRFC2822Date(text);return parseDataToDateTime(vals,parsedZone,opts,`RFC 2822`,text)}static fromHTTP(text,opts={}){let[vals,parsedZone]=parseHTTPDate(text);return parseDataToDateTime(vals,parsedZone,opts,`HTTP`,opts)}static fromFormat(text,fmt,opts={}){if(isUndefined(text)||isUndefined(fmt))throw new InvalidArgumentError(`fromFormat requires an input string and a format`);let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0}),[vals,parsedZone,specificOffset,invalid$1]=parseFromTokens(localeToUse,text,fmt);return invalid$1?DateTime.invalid(invalid$1):parseDataToDateTime(vals,parsedZone,opts,`format ${fmt}`,text,specificOffset)}static fromString(text,fmt,opts={}){return DateTime.fromFormat(text,fmt,opts)}static fromSQL(text,opts={}){let[vals,parsedZone]=parseSQL(text);return parseDataToDateTime(vals,parsedZone,opts,`SQL`,text)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError(`need to specify a reason the DateTime is invalid`);let invalid$1=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(invalid$1);return new DateTime({invalid:invalid$1})}static isDateTime(o$2){return o$2&&o$2.isLuxonDateTime||!1}static parseFormatForOpts(formatOpts,localeOpts={}){let tokenList=formatOptsToTokens(formatOpts,Locale.fromObject(localeOpts));return tokenList?tokenList.map(t$7=>t$7?t$7.val:null).join(``):null}static expandFormat(fmt,localeOpts={}){let expanded=expandMacroTokens(Formatter.parseFormat(fmt),Locale.fromObject(localeOpts));return expanded.map(t$7=>t$7.val).join(``)}static resetCache(){zoneOffsetTs=void 0,zoneOffsetGuessCache.clear()}get(unit){return this[unit]}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?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?possiblyCachedLocalWeekData(this).weekday:NaN}get localWeekNumber(){return this.isValid?possiblyCachedLocalWeekData(this).weekNumber:NaN}get localWeekYear(){return this.isValid?possiblyCachedLocalWeekData(this).weekYear:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months(`short`,{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months(`long`,{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays(`short`,{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays(`long`,{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:`short`,locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:`long`,locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let dayMs=864e5,minuteMs=6e4,localTS=objToLocalTS(this.c),oEarlier=this.zone.offset(localTS-dayMs),oLater=this.zone.offset(localTS+dayMs),o1=this.zone.offset(localTS-oEarlier*minuteMs),o2=this.zone.offset(localTS-oLater*minuteMs);if(o1===o2)return[this];let ts1=localTS-o1*minuteMs,ts2=localTS-o2*minuteMs,c1=tsToObj(ts1,o1),c2=tsToObj(ts2,o2);return c1.hour===c2.hour&&c1.minute===c2.minute&&c1.second===c2.second&&c1.millisecond===c2.millisecond?[clone(this,{ts:ts1}),clone(this,{ts:ts2})]:[this]}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?weeksInWeekYear(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(opts={}){let{locale,numberingSystem,calendar}=Formatter.create(this.loc.clone(opts),opts).resolvedOptions(this);return{locale,numberingSystem,outputCalendar:calendar}}toUTC(offset$2=0,opts={}){return this.setZone(FixedOffsetZone.instance(offset$2),opts)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(zone,{keepLocalTime=!1,keepCalendarTime=!1}={}){if(zone=normalizeZone(zone,Settings.defaultZone),zone.equals(this.zone))return this;if(zone.isValid){let newTS=this.ts;if(keepLocalTime||keepCalendarTime){let offsetGuess=zone.offset(this.ts),asObj=this.toObject();[newTS]=objToTS(asObj,offsetGuess,zone)}return clone(this,{ts:newTS,zone})}else return DateTime.invalid(unsupportedZone(zone))}reconfigure({locale,numberingSystem,outputCalendar}={}){let loc=this.loc.clone({locale,numberingSystem,outputCalendar});return clone(this,{loc})}setLocale(locale){return this.reconfigure({locale})}set(values$3){if(!this.isValid)return this;let normalized=normalizeObject(values$3,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,this.loc),settingWeekStuff=!isUndefined(normalized.weekYear)||!isUndefined(normalized.weekNumber)||!isUndefined(normalized.weekday),containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError(`Can't mix ordinal dates with month/day`);let mixed;settingWeekStuff?mixed=weekToGregorian({...gregorianToWeek(this.c,minDaysInFirstWeek,startOfWeek),...normalized},minDaysInFirstWeek,startOfWeek):isUndefined(normalized.ordinal)?(mixed={...this.toObject(),...normalized},isUndefined(normalized.day)&&(mixed.day=Math.min(daysInMonth(mixed.year,mixed.month),mixed.day))):mixed=ordinalToGregorian({...gregorianToOrdinal(this.c),...normalized});let[ts,o$2]=objToTS(mixed,this.o,this.zone);return clone(this,{ts,o:o$2})}plus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1);return clone(this,adjustTime(this,dur))}minus(duration$1){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration$1).negate();return clone(this,adjustTime(this,dur))}startOf(unit,{useLocaleWeeks=!1}={}){if(!this.isValid)return this;let o$2={},normalizedUnit=Duration.normalizeUnit(unit);switch(normalizedUnit){case`years`:o$2.month=1;case`quarters`:case`months`:o$2.day=1;case`weeks`:case`days`:o$2.hour=0;case`hours`:o$2.minute=0;case`minutes`:o$2.second=0;case`seconds`:o$2.millisecond=0;break}if(normalizedUnit===`weeks`)if(useLocaleWeeks){let startOfWeek=this.loc.getStartOfWeek(),{weekday}=this;weekday<startOfWeek&&(o$2.weekNumber=this.weekNumber-1),o$2.weekday=startOfWeek}else o$2.weekday=1;if(normalizedUnit===`quarters`){let q=Math.ceil(this.month/3);o$2.month=(q-1)*3+1}return this.set(o$2)}endOf(unit,opts){return this.isValid?this.plus({[unit]:1}).startOf(unit,opts).minus(1):this}toFormat(fmt,opts={}){return this.isValid?Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this,fmt):INVALID}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),formatOpts).formatDateTime(this):INVALID}toLocaleParts(opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),opts).formatDateTimeParts(this):[]}toISO({format=`extended`,suppressSeconds=!1,suppressMilliseconds=!1,includeOffset=!0,extendedZone=!1,precision=`milliseconds`}={}){if(!this.isValid)return null;precision=normalizeUnit(precision);let ext=format===`extended`,c$1=toISODate(this,ext,precision);return orderedUnits.indexOf(precision)>=3&&(c$1+=`T`),c$1+=toISOTime(this,ext,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision),c$1}toISODate({format=`extended`,precision=`day`}={}){return this.isValid?toISODate(this,format===`extended`,normalizeUnit(precision)):null}toISOWeekDate(){return toTechFormat(this,`kkkk-'W'WW-c`)}toISOTime({suppressMilliseconds=!1,suppressSeconds=!1,includeOffset=!0,includePrefix=!1,extendedZone=!1,format=`extended`,precision=`milliseconds`}={}){if(!this.isValid)return null;precision=normalizeUnit(precision);let c$1=includePrefix&&orderedUnits.indexOf(precision)>=3?`T`:``;return c$1+toISOTime(this,format===`extended`,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision)}toRFC2822(){return toTechFormat(this,`EEE, dd LLL yyyy HH:mm:ss ZZZ`,!1)}toHTTP(){return toTechFormat(this.toUTC(),`EEE, dd LLL yyyy HH:mm:ss 'GMT'`)}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset=!0,includeZone=!1,includeOffsetSpace=!0}={}){let fmt=`HH:mm:ss.SSS`;return(includeZone||includeOffset)&&(includeOffsetSpace&&(fmt+=` `),includeZone?fmt+=`z`:includeOffset&&(fmt+=`ZZ`)),toTechFormat(this,fmt,!0)}toSQL(opts={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(opts)}`:null}toString(){return this.isValid?this.toISO():INVALID}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(opts={}){if(!this.isValid)return{};let base$3={...this.c};return opts.includeConfig&&(base$3.outputCalendar=this.outputCalendar,base$3.numberingSystem=this.loc.numberingSystem,base$3.locale=this.loc.locale),base$3}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(otherDateTime,unit=`milliseconds`,opts={}){if(!this.isValid||!otherDateTime.isValid)return Duration.invalid(`created by diffing an invalid DateTime`);let durOpts={locale:this.locale,numberingSystem:this.numberingSystem,...opts},units=maybeArray(unit).map(Duration.normalizeUnit),otherIsLater=otherDateTime.valueOf()>this.valueOf(),earlier=otherIsLater?this:otherDateTime,later=otherIsLater?otherDateTime:this,diffed=diff$2(earlier,later,units,durOpts);return otherIsLater?diffed.negate():diffed}diffNow(unit=`milliseconds`,opts={}){return this.diff(DateTime.now(),unit,opts)}until(otherDateTime){return this.isValid?Interval.fromDateTimes(this,otherDateTime):this}hasSame(otherDateTime,unit,opts){if(!this.isValid)return!1;let inputMs=otherDateTime.valueOf(),adjustedToZone=this.setZone(otherDateTime.zone,{keepLocalTime:!0});return adjustedToZone.startOf(unit,opts)<=inputMs&&inputMs<=adjustedToZone.endOf(unit,opts)}equals(other){return this.isValid&&other.isValid&&this.valueOf()===other.valueOf()&&this.zone.equals(other.zone)&&this.loc.equals(other.loc)}toRelative(options={}){if(!this.isValid)return null;let base$3=options.base||DateTime.fromObject({},{zone:this.zone}),padding=options.padding?this<base$3?-options.padding:options.padding:0,units=[`years`,`months`,`days`,`hours`,`minutes`,`seconds`],unit=options.unit;return Array.isArray(options.unit)&&(units=options.unit,unit=void 0),diffRelative(base$3,this.plus(padding),{...options,numeric:`always`,units,unit})}toRelativeCalendar(options={}){return this.isValid?diffRelative(options.base||DateTime.fromObject({},{zone:this.zone}),this,{...options,numeric:`auto`,units:[`years`,`months`,`days`],calendary:!0}):null}static min(...dateTimes){if(!dateTimes.every(DateTime.isDateTime))throw new InvalidArgumentError(`min requires all arguments be DateTimes`);return bestBy(dateTimes,i$4=>i$4.valueOf(),Math.min)}static max(...dateTimes){if(!dateTimes.every(DateTime.isDateTime))throw new InvalidArgumentError(`max requires all arguments be DateTimes`);return bestBy(dateTimes,i$4=>i$4.valueOf(),Math.max)}static fromFormatExplain(text,fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return explainFromTokens(localeToUse,text,fmt)}static fromStringExplain(text,fmt,options={}){return DateTime.fromFormatExplain(text,fmt,options)}static buildFormatParser(fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return new TokenParser(localeToUse,fmt)}static fromFormatParser(text,formatParser,opts={}){if(isUndefined(text)||isUndefined(formatParser))throw new InvalidArgumentError(`fromFormatParser requires an input string and a format parser`);let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});if(!localeToUse.equals(formatParser.locale))throw new InvalidArgumentError(`fromFormatParser called with a locale of ${localeToUse}, but the format parser was created for ${formatParser.locale}`);let{result,zone,specificOffset,invalidReason}=formatParser.explainFromTokens(text);return invalidReason?DateTime.invalid(invalidReason):parseDataToDateTime(result,zone,opts,`format ${formatParser.format}`,text,specificOffset)}static get DATE_SHORT(){return DATE_SHORT}static get DATE_MED(){return DATE_MED}static get DATE_MED_WITH_WEEKDAY(){return DATE_MED_WITH_WEEKDAY}static get DATE_FULL(){return DATE_FULL}static get DATE_HUGE(){return DATE_HUGE}static get TIME_SIMPLE(){return TIME_SIMPLE}static get TIME_WITH_SECONDS(){return TIME_WITH_SECONDS}static get TIME_WITH_SHORT_OFFSET(){return TIME_WITH_SHORT_OFFSET}static get TIME_WITH_LONG_OFFSET(){return TIME_WITH_LONG_OFFSET}static get TIME_24_SIMPLE(){return TIME_24_SIMPLE}static get TIME_24_WITH_SECONDS(){return TIME_24_WITH_SECONDS}static get TIME_24_WITH_SHORT_OFFSET(){return TIME_24_WITH_SHORT_OFFSET}static get TIME_24_WITH_LONG_OFFSET(){return TIME_24_WITH_LONG_OFFSET}static get DATETIME_SHORT(){return DATETIME_SHORT}static get DATETIME_SHORT_WITH_SECONDS(){return DATETIME_SHORT_WITH_SECONDS}static get DATETIME_MED(){return DATETIME_MED}static get DATETIME_MED_WITH_SECONDS(){return DATETIME_MED_WITH_SECONDS}static get DATETIME_MED_WITH_WEEKDAY(){return DATETIME_MED_WITH_WEEKDAY}static get DATETIME_FULL(){return DATETIME_FULL}static get DATETIME_FULL_WITH_SECONDS(){return DATETIME_FULL_WITH_SECONDS}static get DATETIME_HUGE(){return DATETIME_HUGE}static get DATETIME_HUGE_WITH_SECONDS(){return DATETIME_HUGE_WITH_SECONDS}};function friendlyDateTime(dateTimeish){if(DateTime.isDateTime(dateTimeish))return dateTimeish;if(dateTimeish&&dateTimeish.valueOf&&isNumber(dateTimeish.valueOf()))return DateTime.fromJSDate(dateTimeish);if(dateTimeish&&typeof dateTimeish==`object`)return DateTime.fromObject(dateTimeish);throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`)}var require_dayjs_min=__commonJSMin((exports,module)=>{(function(t$7,e$2){typeof exports==`object`&&module!==void 0?module.exports=e$2():typeof define==`function`&&define.amd?define(e$2):(t$7=typeof globalThis<`u`?globalThis:t$7||self).dayjs=e$2()})(exports,function(){"use strict";var t$7=1e3,e$2=6e4,n$4=36e5,r$2=`millisecond`,i$4=`second`,s$6=`minute`,u=`hour`,a$2=`day`,o$2=`week`,c$1=`month`,f$3=`quarter`,h$1=`year`,d$1=`date`,l$4=`Invalid Date`,$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y$1=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M$1={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(t$8){var e$3=[`th`,`st`,`nd`,`rd`],n$5=t$8%100;return`[`+t$8+(e$3[(n$5-20)%10]||e$3[n$5]||e$3[0])+`]`}},m$3=function(t$8,e$3,n$5){var r$3=String(t$8);return!r$3||r$3.length>=e$3?t$8:``+Array(e$3+1-r$3.length).join(n$5)+t$8},v$1={s:m$3,z:function(t$8){var e$3=-t$8.utcOffset(),n$5=Math.abs(e$3),r$3=Math.floor(n$5/60),i$5=n$5%60;return(e$3<=0?`+`:`-`)+m$3(r$3,2,`0`)+`:`+m$3(i$5,2,`0`)},m:function t$8(e$3,n$5){if(e$3.date()<n$5.date())return-t$8(n$5,e$3);var r$3=12*(n$5.year()-e$3.year())+(n$5.month()-e$3.month()),i$5=e$3.clone().add(r$3,c$1),s$7=n$5-i$5<0,u$1=e$3.clone().add(r$3+(s$7?-1:1),c$1);return+(-(r$3+(n$5-i$5)/(s$7?i$5-u$1:u$1-i$5))||0)},a:function(t$8){return t$8<0?Math.ceil(t$8)||0:Math.floor(t$8)},p:function(t$8){return{M:c$1,y:h$1,w:o$2,d:a$2,D:d$1,h:u,m:s$6,s:i$4,ms:r$2,Q:f$3}[t$8]||String(t$8||``).toLowerCase().replace(/s$/,``)},u:function(t$8){return t$8===void 0}},g$2=`en`,D={};D[g$2]=M$1;var p$1=`$isDayjsObject`,S=function(t$8){return t$8 instanceof _||!(!t$8||!t$8[p$1])},w$1=function t$8(e$3,n$5,r$3){var i$5;if(!e$3)return g$2;if(typeof e$3==`string`){var s$7=e$3.toLowerCase();D[s$7]&&(i$5=s$7),n$5&&(D[s$7]=n$5,i$5=s$7);var u$1=e$3.split(`-`);if(!i$5&&u$1.length>1)return t$8(u$1[0])}else{var a$3=e$3.name;D[a$3]=e$3,i$5=a$3}return!r$3&&i$5&&(g$2=i$5),i$5||!r$3&&g$2},O=function(t$8,e$3){if(S(t$8))return t$8.clone();var n$5=typeof e$3==`object`?e$3:{};return n$5.date=t$8,n$5.args=arguments,new _(n$5)},b=v$1;b.l=w$1,b.i=S,b.w=function(t$8,e$3){return O(t$8,{locale:e$3.$L,utc:e$3.$u,x:e$3.$x,$offset:e$3.$offset})};var _=function(){function M$2(t$8){this.$L=w$1(t$8.locale,null,!0),this.parse(t$8),this.$x=this.$x||t$8.x||{},this[p$1]=!0}var m$4=M$2.prototype;return m$4.parse=function(t$8){this.$d=function(t$9){var e$3=t$9.date,n$5=t$9.utc;if(e$3===null)return new Date(NaN);if(b.u(e$3))return new Date;if(e$3 instanceof Date)return new Date(e$3);if(typeof e$3==`string`&&!/Z$/i.test(e$3)){var r$3=e$3.match($);if(r$3){var i$5=r$3[2]-1||0,s$7=(r$3[7]||`0`).substring(0,3);return n$5?new Date(Date.UTC(r$3[1],i$5,r$3[3]||1,r$3[4]||0,r$3[5]||0,r$3[6]||0,s$7)):new Date(r$3[1],i$5,r$3[3]||1,r$3[4]||0,r$3[5]||0,r$3[6]||0,s$7)}}return new Date(e$3)}(t$8),this.init()},m$4.init=function(){var t$8=this.$d;this.$y=t$8.getFullYear(),this.$M=t$8.getMonth(),this.$D=t$8.getDate(),this.$W=t$8.getDay(),this.$H=t$8.getHours(),this.$m=t$8.getMinutes(),this.$s=t$8.getSeconds(),this.$ms=t$8.getMilliseconds()},m$4.$utils=function(){return b},m$4.isValid=function(){return this.$d.toString()!==l$4},m$4.isSame=function(t$8,e$3){var n$5=O(t$8);return this.startOf(e$3)<=n$5&&n$5<=this.endOf(e$3)},m$4.isAfter=function(t$8,e$3){return O(t$8)<this.startOf(e$3)},m$4.isBefore=function(t$8,e$3){return this.endOf(e$3)<O(t$8)},m$4.$g=function(t$8,e$3,n$5){return b.u(t$8)?this[e$3]:this.set(n$5,t$8)},m$4.unix=function(){return Math.floor(this.valueOf()/1e3)},m$4.valueOf=function(){return this.$d.getTime()},m$4.startOf=function(t$8,e$3){var n$5=this,r$3=!!b.u(e$3)||e$3,f$4=b.p(t$8),l$5=function(t$9,e$4){var i$5=b.w(n$5.$u?Date.UTC(n$5.$y,e$4,t$9):new Date(n$5.$y,e$4,t$9),n$5);return r$3?i$5:i$5.endOf(a$2)},$$1=function(t$9,e$4){return b.w(n$5.toDate()[t$9].apply(n$5.toDate(`s`),(r$3?[0,0,0,0]:[23,59,59,999]).slice(e$4)),n$5)},y$2=this.$W,M$3=this.$M,m$5=this.$D,v$2=`set`+(this.$u?`UTC`:``);switch(f$4){case h$1:return r$3?l$5(1,0):l$5(31,11);case c$1:return r$3?l$5(1,M$3):l$5(0,M$3+1);case o$2:var g$3=this.$locale().weekStart||0,D$1=(y$2<g$3?y$2+7:y$2)-g$3;return l$5(r$3?m$5-D$1:m$5+(6-D$1),M$3);case a$2:case d$1:return $$1(v$2+`Hours`,0);case u:return $$1(v$2+`Minutes`,1);case s$6:return $$1(v$2+`Seconds`,2);case i$4:return $$1(v$2+`Milliseconds`,3);default:return this.clone()}},m$4.endOf=function(t$8){return this.startOf(t$8,!1)},m$4.$set=function(t$8,e$3){var n$5,o$3=b.p(t$8),f$4=`set`+(this.$u?`UTC`:``),l$5=(n$5={},n$5[a$2]=f$4+`Date`,n$5[d$1]=f$4+`Date`,n$5[c$1]=f$4+`Month`,n$5[h$1]=f$4+`FullYear`,n$5[u]=f$4+`Hours`,n$5[s$6]=f$4+`Minutes`,n$5[i$4]=f$4+`Seconds`,n$5[r$2]=f$4+`Milliseconds`,n$5)[o$3],$$1=o$3===a$2?this.$D+(e$3-this.$W):e$3;if(o$3===c$1||o$3===h$1){var y$2=this.clone().set(d$1,1);y$2.$d[l$5]($$1),y$2.init(),this.$d=y$2.set(d$1,Math.min(this.$D,y$2.daysInMonth())).$d}else l$5&&this.$d[l$5]($$1);return this.init(),this},m$4.set=function(t$8,e$3){return this.clone().$set(t$8,e$3)},m$4.get=function(t$8){return this[b.p(t$8)]()},m$4.add=function(r$3,f$4){var d$2,l$5=this;r$3=Number(r$3);var $$1=b.p(f$4),y$2=function(t$8){var e$3=O(l$5);return b.w(e$3.date(e$3.date()+Math.round(t$8*r$3)),l$5)};if($$1===c$1)return this.set(c$1,this.$M+r$3);if($$1===h$1)return this.set(h$1,this.$y+r$3);if($$1===a$2)return y$2(1);if($$1===o$2)return y$2(7);var M$3=(d$2={},d$2[s$6]=e$2,d$2[u]=n$4,d$2[i$4]=t$7,d$2)[$$1]||1,m$5=this.$d.getTime()+r$3*M$3;return b.w(m$5,this)},m$4.subtract=function(t$8,e$3){return this.add(-1*t$8,e$3)},m$4.format=function(t$8){var e$3=this,n$5=this.$locale();if(!this.isValid())return n$5.invalidDate||l$4;var r$3=t$8||`YYYY-MM-DDTHH:mm:ssZ`,i$5=b.z(this),s$7=this.$H,u$1=this.$m,a$3=this.$M,o$3=n$5.weekdays,c$2=n$5.months,f$4=n$5.meridiem,h$2=function(t$9,n$6,i$6,s$8){return t$9&&(t$9[n$6]||t$9(e$3,r$3))||i$6[n$6].slice(0,s$8)},d$2=function(t$9){return b.s(s$7%12||12,t$9,`0`)},$$1=f$4||function(t$9,e$4,n$6){var r$4=t$9<12?`AM`:`PM`;return n$6?r$4.toLowerCase():r$4};return r$3.replace(y$1,function(t$9,r$4){return r$4||function(t$10){switch(t$10){case`YY`:return String(e$3.$y).slice(-2);case`YYYY`:return b.s(e$3.$y,4,`0`);case`M`:return a$3+1;case`MM`:return b.s(a$3+1,2,`0`);case`MMM`:return h$2(n$5.monthsShort,a$3,c$2,3);case`MMMM`:return h$2(c$2,a$3);case`D`:return e$3.$D;case`DD`:return b.s(e$3.$D,2,`0`);case`d`:return String(e$3.$W);case`dd`:return h$2(n$5.weekdaysMin,e$3.$W,o$3,2);case`ddd`:return h$2(n$5.weekdaysShort,e$3.$W,o$3,3);case`dddd`:return o$3[e$3.$W];case`H`:return String(s$7);case`HH`:return b.s(s$7,2,`0`);case`h`:return d$2(1);case`hh`:return d$2(2);case`a`:return $$1(s$7,u$1,!0);case`A`:return $$1(s$7,u$1,!1);case`m`:return String(u$1);case`mm`:return b.s(u$1,2,`0`);case`s`:return String(e$3.$s);case`ss`:return b.s(e$3.$s,2,`0`);case`SSS`:return b.s(e$3.$ms,3,`0`);case`Z`:return i$5}return null}(t$9)||i$5.replace(`:`,``)})},m$4.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m$4.diff=function(r$3,d$2,l$5){var $$1,y$2=this,M$3=b.p(d$2),m$5=O(r$3),v$2=(m$5.utcOffset()-this.utcOffset())*e$2,g$3=this-m$5,D$1=function(){return b.m(y$2,m$5)};switch(M$3){case h$1:$$1=D$1()/12;break;case c$1:$$1=D$1();break;case f$3:$$1=D$1()/3;break;case o$2:$$1=(g$3-v$2)/6048e5;break;case a$2:$$1=(g$3-v$2)/864e5;break;case u:$$1=g$3/n$4;break;case s$6:$$1=g$3/e$2;break;case i$4:$$1=g$3/t$7;break;default:$$1=g$3}return l$5?$$1:b.a($$1)},m$4.daysInMonth=function(){return this.endOf(c$1).$D},m$4.$locale=function(){return D[this.$L]},m$4.locale=function(t$8,e$3){if(!t$8)return this.$L;var n$5=this.clone(),r$3=w$1(t$8,e$3,!0);return r$3&&(n$5.$L=r$3),n$5},m$4.clone=function(){return b.w(this.$d,this)},m$4.toDate=function(){return new Date(this.valueOf())},m$4.toJSON=function(){return this.isValid()?this.toISOString():null},m$4.toISOString=function(){return this.$d.toISOString()},m$4.toString=function(){return this.$d.toUTCString()},M$2}(),k=_.prototype;return O.prototype=k,[[`$ms`,r$2],[`$s`,i$4],[`$m`,s$6],[`$H`,u],[`$W`,a$2],[`$M`,c$1],[`$y`,h$1],[`$D`,d$1]].forEach(function(t$8){k[t$8[1]]=function(e$3){return this.$g(e$3,t$8[0],t$8[1])}}),O.extend=function(t$8,e$3){return t$8.$i||(t$8(e$3,_,O),t$8.$i=!0),O},O.locale=w$1,O.isDayjs=S,O.unix=function(t$8){return O(1e3*t$8)},O.en=D[g$2],O.Ls=D,O.p={},O})});const isInstanceOf=(value,type,ctor)=>{if(ctor!==void 0&&value instanceof ctor||ctor!==void 0&&typeof ctor[Symbol.hasInstance]==`function`&&ctor[Symbol.hasInstance](value))return!0;if(typeof value==`object`&&value){let valueWithConstructor=value,constructorName=valueWithConstructor.constructor?.name;return constructorName===type}return!1},isLuxonDateTime=value=>value instanceof DateTime?!0:typeof value!=`object`||!value||!(`isLuxonDateTime`in value)?!1:value.isLuxonDateTime===!0,isPlainObject=value=>typeof value==`object`&&!!value&&!Array.isArray(value),isDateObjectUnits=value=>{if(!isPlainObject(value))return!1;let keys$10=Object.keys(value);if(keys$10.length===0)return!1;let valids=[`year`,`month`,`day`,`ordinal`,`weekYear`,`localWeekYear`,`weekNumber`,`localWeekNumber`,`weekday`,`localWeekday`,`hour`,`minute`,`second`,`millisecond`],invalidKeys=keys$10.filter(key=>!valids.includes(key));return invalidKeys.length>0?!1:keys$10.every(key=>{let val=value[key];return typeof val==`number`||val===void 0})};var import_dayjs_min=__toESM(require_dayjs_min());Settings.defaultZone=`utc`,Settings.defaultLocale=`en`,Settings.defaultWeekSettings={firstDay:7,minimalDays:4,weekend:[6,7]},Settings.throwOnInvalid=!1;const removeComments=str=>(str=str.replace(/\/\/.*$/gm,``),str=str.replace(/\/\*[\s\S]*?\*\//g,``),str),extractFunctionBody=fn$1=>{let fnString=fn$1.toString();if(fnString.includes(`[native code]`))throw Error(`Cannot extract body from native function`);let cleanedString=removeComments(fnString),arrowMatch=cleanedString.match(/^\s*(?:async\s+)?(?:\([^)]*\)|[^=]+)\s*=>\s*(.+)$/s);if(arrowMatch&&!arrowMatch[1].trim().startsWith(`{`)){let expression$2=arrowMatch[1].trim().replace(/;?\s*$/,``);if(expression$2.startsWith(`(`)&&expression$2.endsWith(`)`)){let unwrapped=expression$2.slice(1,-1).trim();if(unwrapped.startsWith(`{`)&&unwrapped.endsWith(`}`))return`return ${unwrapped}`}return`return ${expression$2}`}let braceCount=0,inString=!1,stringChar=``,inTemplate=!1,escaped=!1,firstBrace=-1,lastBrace=-1;for(let[i$4,char]of Array.from(cleanedString).entries()){if(escaped){escaped=!1;continue}if(char===`\\`){escaped=!0;continue}if(!inString&&!inTemplate){if(char===`"`||char===`'`){inString=!0,stringChar=char;continue}if(char==="`"){inTemplate=!0;continue}}else if(inString&&char===stringChar){inString=!1;continue}else if(inTemplate&&char==="`"){inTemplate=!1;continue}if(!inString&&!inTemplate){if(char===`{`)firstBrace===-1&&(firstBrace=i$4),braceCount++;else if(char===`}`&&(braceCount--,braceCount===0&&firstBrace!==-1)){lastBrace=i$4;break}}}if(firstBrace===-1||lastBrace===-1||firstBrace>=lastBrace)throw Error(`Unable to extract function body - no valid braces found`);let body=cleanedString.slice(firstBrace+1,lastBrace).trim();if(/\breturn\b/.test(body))return body;let beforeBrace=cleanedString.slice(0,firstBrace).trim();if(beforeBrace.endsWith(`=>`)||beforeBrace.endsWith(`=> (`)||beforeBrace.endsWith(`=>(`)){let objectLiteralPattern=/^\s*(?:[a-zA-Z_$][\w$]*\s*:|["'`][^"'`]+["'`]\s*:|get\s+|set\s+|\[)/;if(objectLiteralPattern.test(body))return`return {${body}}`}return`return ${body}`},compileCallback=body=>{try{return Function(`dt`,`helpers`,body)}catch(error){throw Error(`Failed to compile callback: ${error instanceof Error?error.message:String(error)}`)}},messages$2={"datetime.base":`{{#label}} must be a datetime value`,"datetime.exactly":`{{#label}} must be a datetime exactly equal to {{#limit}}`,"datetime.equals":`{{#label}} must be a datetime equal to {{#limit}}`,"datetime.after":`{{#label}} must be a datetime after {{#limit}}`,"datetime.greater":`{{#label}} must be a datetime after {{#limit}}`,"datetime.before":`{{#label}} must be a datetime before {{#limit}}`,"datetime.less":`{{#label}} must be a datetime before {{#limit}}`,"datetime.afterOrEqual":`{{#label}} must be a datetime after or equal to {{#limit}}`,"datetime.min":`{{#label}} must be a datetime after or equal to {{#limit}}`,"datetime.beforeOrEqual":`{{#label}} must be a datetime before or equal to {{#limit}}`,"datetime.max":`{{#label}} must be a datetime before or equal to {{#limit}}`,"datetime.weekend":`{{#label}} is not a weekend`,"datetime.weekday":`{{#label}} is not a weekday`},compare$12=(value,limit,operator$1)=>{switch(value=toDateTime(value),limit=toDateTime(limit),operator$1){case`===`:return value.equals(limit);case`=`:return value.hasSame(limit,`millisecond`);case`>`:return value>limit;case`<`:return value<limit;case`>=`:return value>=limit;case`<=`:return value<=limit;default:return!1}},backToDateTime=value=>value instanceof DateTime?value:DateTime.fromObject(value.c,{zone:value.zone}).setLocale(value.loc.locale),toDateTime=(value,format)=>{if(isLuxonDateTime(value))return value instanceof DateTime?value:backToDateTime(value);if(isInstanceOf(value,`Date`,Date))return DateTime.fromJSDate(value);if(isInstanceOf(value,`Dayjs`)||import_dayjs_min.default.isDayjs(value))return DateTime.fromJSDate(value.toDate());if(isDateObjectUnits(value))return DateTime.fromObject(value,{zone:`utc`});if(typeof value==`number`){let day=(0,import_dayjs_min.default)(value);if(day.isValid())return DateTime.fromJSDate(day.toDate(),{zone:`utc`})}if(typeof value==`string`){if(format){let dateTime=DateTime.fromFormat(value,format,{zone:`utc`});if(dateTime.isValid)return dateTime}let isoDateTime=DateTime.fromISO(value,{setZone:!0});if(isoDateTime.isValid)return isoDateTime;let luxonMethods=[DateTime.fromRFC2822,DateTime.fromHTTP,DateTime.fromSQL];for(let method$1 of luxonMethods){let dateTime=method$1(value,{zone:`utc`});if(dateTime.isValid)return dateTime}let day=(0,import_dayjs_min.default)(value);if(day.isValid())return DateTime.fromJSDate(day.toDate(),{zone:`utc`})}return!1},coerce$2=(value,helpers$8)=>{let isEmpty$13=value==null,isRequired=helpers$8.schema._flags.presence===`required`;if(isEmpty$13&&!isRequired)return{value:null};if(isEmpty$13&&isRequired)return{value,errors:[helpers$8.error(`any.required`,{label:helpers$8.schema._flags.label})]};let converted=toDateTime(value);if(converted){let{schema:schema$2,prefs}=helpers$8;if(prefs.convert){let returnable=converted;if(schema$2._flags.setZone&&Array.isArray(schema$2._flags.setZone))if(Array.isArray(schema$2._flags.setZone[0]))Array.from(schema$2._flags.setZone).forEach(f$3=>{if(!f$3)return;let[zone,opts]=Array.from(f$3);switch(zone){case`utc`:case`UTC`:returnable=returnable.toUTC();break;case`local`:returnable=returnable.toLocal();break;default:returnable=returnable.setZone(zone,opts);break}});else{let[zone,opts]=Array.from(schema$2._flags.setZone);switch(zone){case`utc`:case`UTC`:returnable=returnable.toUTC();break;case`local`:returnable=returnable.toLocal();break;default:returnable=returnable.setZone(zone,opts);break}}if(schema$2._flags.setLocale&&(returnable=returnable.setLocale(schema$2._flags.setLocale)),schema$2._flags.toFormat){if(Array.isArray(schema$2._flags.toFormat)){let fmt=Array.from(schema$2._flags.toFormat),method$1=fmt.shift(),processedArgs=fmt.map(arg=>{if(typeof arg==`string`&&arg.includes(`return`)){let compiledFn=compileCallback(arg);return compiledFn(returnable,helpers$8)}return arg});returnable=returnable[method$1](...processedArgs)}else if(typeof schema$2._flags.toFormat==`string`)if(schema$2._flags.toFormat.includes(`return`)){let compiledFn=compileCallback(schema$2._flags.toFormat),result=compiledFn(returnable,helpers$8);returnable=returnable.toFormat(result)}else returnable=returnable.toFormat(schema$2._flags.toFormat)}return{value:returnable}}return{value:converted}}return{value,errors:[helpers$8.error(`datetime.base`,{value:String(value)})]}},datetime=function(joi){return{type:`datetime`,base:joi.any(),coerce:{from:[`string`,`number`,`date`,`object`],method:coerce$2},rules:{compare:{method:!1,validate(value,helpers$8,{limit},{name:name$2,operator:operator$1}){let src$1=toDateTime(value),threshold=toDateTime(limit);if(!src$1||!threshold)return helpers$8.error(`datetime.base`,{value:isLuxonDateTime(value)?value.toLocaleString(DateTime.DATETIME_MED):String(value)});let valid$2=compare$12(src$1,threshold,operator$1);return valid$2?value:helpers$8.error(`datetime.`+name$2,{limit:threshold.toLocaleString(DateTime.DATETIME_MED),value:src$1.toLocaleString(DateTime.DATETIME_MED)})},args:[{name:`limit`,ref:!0,assert:value=>isLuxonDateTime(toDateTime(value)),message:`must be a datetime`}]},exactly:{method(limit){return this.$_addRule({name:`exactly`,method:`compare`,args:{limit},operator:`===`})}},equals:{method(limit){return this.$_addRule({name:`equals`,method:`compare`,args:{limit},operator:`=`})}},after:{method(limit){return this.$_addRule({name:`after`,method:`compare`,args:{limit},operator:`>`})}},greater:{method(limit){return this.$_addRule({name:`greater`,method:`compare`,args:{limit},operator:`>`})}},before:{method(limit){return this.$_addRule({name:`before`,method:`compare`,args:{limit},operator:`<`})}},less:{method(limit){return this.$_addRule({name:`less`,method:`compare`,args:{limit},operator:`<`})}},afterOrEqual:{method(limit){return this.$_addRule({name:`afterOrEqual`,method:`compare`,args:{limit},operator:`>=`})}},min:{method(limit){return this.$_addRule({name:`min`,method:`compare`,args:{limit},operator:`>=`})}},beforeOrEqual:{method(limit){return this.$_addRule({name:`beforeOrEqual`,method:`compare`,args:{limit},operator:`<=`})}},max:{method(limit){return this.$_addRule({name:`max`,method:`compare`,args:{limit},operator:`<=`})}},weekend:{method(){return this.$_addRule({name:`weekend`})},validate(value,helpers$8){let confirmable=toDateTime(value);return confirmable.isWeekend?value:helpers$8.error(`datetime.weekend`,{value:confirmable.toLocaleString(DateTime.DATE_MED)})}},weekday:{method(){return this.$_addRule({name:`weekday`})},validate(value,helpers$8){let confirmable=toDateTime(value);return confirmable.isWeekend?helpers$8.error(`datetime.weekday`,{value:confirmable.toLocaleString(DateTime.DATE_MED)}):value}},toUTC:{method(){return this.$_setFlag(`setZone`,[`utc`])}},toLocal:{method(){return this.$_setFlag(`setZone`,[`local`])}},setZone:{method(zone,opts){return this.$_setFlag(`setZone`,[zone,opts])}},toFormat:{method(format){let processedFormat=typeof format==`function`?extractFunctionBody(format):format;return this.$_setFlag(`toFormat`,processedFormat,{clone:!0})}},toLocalizedString:{method(formatOpts){let processedOpts=typeof formatOpts==`function`?extractFunctionBody(formatOpts):formatOpts;return this.$_setFlag(`toFormat`,[`toLocaleString`,processedOpts],{clone:!0})}},toISO:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISO`,processedOpts]:[`toISO`],{clone:!0})}},toISODate:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISODate`,processedOpts]:[`toISODate`],{clone:!0})}},toISOWeekDate:{method(){return this.$_setFlag(`toFormat`,[`toISOWeekDate`],{clone:!0})}},toISOTime:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toISOTime`,processedOpts]:[`toISOTime`],{clone:!0})}},toRFC2822:{method(){return this.$_setFlag(`toFormat`,[`toRFC2822`],{clone:!0})}},toHTTP:{method(){return this.$_setFlag(`toFormat`,[`toHTTP`],{clone:!0})}},toSQLDate:{method(){return this.$_setFlag(`toFormat`,[`toSQLDate`],{clone:!0})}},toSQLTime:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toSQLTime`,processedOpts]:[`toSQLTime`],{clone:!0})}},toSQL:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toSQL`,processedOpts]:[`toSQL`],{clone:!0})}},toMillis:{method(){return this.$_setFlag(`toFormat`,[`toMillis`],{clone:!0})}},toSeconds:{method(){return this.$_setFlag(`toFormat`,[`toSeconds`],{clone:!0})}},toUnixInteger:{method(){return this.$_setFlag(`toFormat`,[`toUnixInteger`],{clone:!0})}},toJSON:{method(){return this.$_setFlag(`toFormat`,[`toJSON`],{clone:!0})}},toBSON:{method(){return this.$_setFlag(`toFormat`,[`toBSON`],{clone:!0})}},toObject:{method(opts){let config=typeof opts==`function`?extractFunctionBody(opts):opts?.includeConfig===void 0?{includeConfig:!1}:{includeConfig:opts.includeConfig};return this.$_setFlag(`toFormat`,[`toObject`,config],{clone:!0})}},toJSDate:{method(){return this.$_setFlag(`toFormat`,[`toJSDate`],{clone:!0})}},toRelative:{method(opts){let processedOpts=opts&&typeof opts==`function`?extractFunctionBody(opts):opts;return this.$_setFlag(`toFormat`,processedOpts?[`toRelative`,processedOpts]:[`toRelative`],{clone:!0})}},setLocale:{method(locale){return this.$_setFlag(`setLocale`,locale)}}},messages:messages$2}},generate=(root$11,schema$2,args$1)=>(schema$2.$_root=root$11,!schema$2._definition.args||!args$1.length?schema$2:schema$2._definition.args(schema$2,...args$1)),knownMessages={"alternatives.all":`{{#label}} does not match all of the required types`,"alternatives.any":`{{#label}} does not match any of the allowed types`,"alternatives.match":`{{#label}} does not match any of the allowed types`,"alternatives.one":`{{#label}} matches more than one allowed type`,"alternatives.types":`{{#label}} must be one of {{#types}}`,"any.custom":`{{#label}} failed custom validation because {{#error.message}}`,"any.default":`{{#label}} threw an error when running default method`,"any.failover":`{{#label}} threw an error when running failover method`,"any.invalid":`{{#label}} contains an invalid value`,"any.only":`{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}`,"any.ref":`{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}`,"any.required":`{{#label}} is required`,"any.unknown":`{{#label}} is not allowed`,"array.base":`{{#label}} must be an array`,"array.excludes":`{{#label}} contains an excluded value`,"array.hasKnown":`{{#label}} does not contain at least one required match for type {:#patternLabel}`,"array.hasUnknown":`{{#label}} does not contain at least one required match`,"array.includes":`{{#label}} does not match any of the allowed types`,"array.includesRequiredBoth":`{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)`,"array.includesRequiredKnowns":`{{#label}} does not contain {{#knownMisses}}`,"array.includesRequiredUnknowns":`{{#label}} does not contain {{#unknownMisses}} required value(s)`,"array.length":`{{#label}} must contain {{#limit}} items`,"array.max":`{{#label}} must contain less than or equal to {{#limit}} items`,"array.min":`{{#label}} must contain at least {{#limit}} items`,"array.orderedLength":`{{#label}} must contain at most {{#limit}} items`,"array.sort":`{{#label}} must be sorted in {#order} order by {{#by}}`,"array.sort.mismatching":`{{#label}} cannot be sorted due to mismatching types`,"array.sort.unsupported":`{{#label}} cannot be sorted due to unsupported type {#type}`,"array.sparse":`{{#label}} must not be a sparse array item`,"array.unique":`{{#label}} contains a duplicate value`,"binary.base":`{{#label}} must be a buffer or a string`,"binary.length":`{{#label}} must be {{#limit}} bytes`,"binary.max":`{{#label}} must be less than or equal to {{#limit}} bytes`,"binary.min":`{{#label}} must be at least {{#limit}} bytes`,"boolean.base":`{{#label}} must be a boolean`,"date.base":`{{#label}} must be a valid date`,"date.format":`{{#label}} must be in {msg("date.format." + #format) || #format} format`,"date.greater":`{{#label}} must be greater than {{:#limit}}`,"date.less":`{{#label}} must be less than {{:#limit}}`,"date.max":`{{#label}} must be less than or equal to {{:#limit}}`,"date.min":`{{#label}} must be greater than or equal to {{:#limit}}`,"date.format.iso":`ISO 8601 date`,"date.format.javascript":`timestamp or number of milliseconds`,"date.format.unix":`timestamp or number of seconds`,"function.arity":`{{#label}} must have an arity of {{#n}}`,"function.class":`{{#label}} must be a class`,"function.maxArity":`{{#label}} must have an arity lesser or equal to {{#n}}`,"function.minArity":`{{#label}} must have an arity greater or equal to {{#n}}`,"object.and":`{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}`,"object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":`{{#label}} must be of type {{#type}}`,"object.instance":`{{#label}} must be an instance of {{:#type}}`,"object.length":`{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}`,"object.max":`{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}`,"object.min":`{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}`,"object.missing":`{{#label}} must contain at least one of {{#peersWithLabels}}`,"object.nand":`{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}`,"object.oxor":`{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}`,"object.pattern.match":`{{#label}} keys failed to match pattern requirements`,"object.refType":`{{#label}} must be a Joi reference`,"object.regex":`{{#label}} must be a RegExp object`,"object.rename.multiple":`{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}`,"object.rename.override":`{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists`,"object.schema":`{{#label}} must be a Joi schema of {{#type}} type`,"object.unknown":`{{#label}} is not allowed`,"object.with":`{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}`,"object.without":`{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}`,"object.xor":`{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}`,"number.base":`{{#label}} must be a number`,"number.greater":`{{#label}} must be greater than {{#limit}}`,"number.infinity":`{{#label}} cannot be infinity`,"number.integer":`{{#label}} must be an integer`,"number.less":`{{#label}} must be less than {{#limit}}`,"number.max":`{{#label}} must be less than or equal to {{#limit}}`,"number.min":`{{#label}} must be greater than or equal to {{#limit}}`,"number.multiple":`{{#label}} must be a multiple of {{#multiple}}`,"number.negative":`{{#label}} must be a negative number`,"number.port":`{{#label}} must be a valid port`,"number.positive":`{{#label}} must be a positive number`,"number.precision":`{{#label}} must have no more than {{#limit}} decimal places`,"number.unsafe":`{{#label}} must be a safe number`,"string.alphanum":`{{#label}} must only contain alpha-numeric characters`,"string.base":`{{#label}} must be a string`,"string.base64":`{{#label}} must be a valid base64 string`,"string.creditCard":`{{#label}} must be a credit card`,"string.dataUri":`{{#label}} must be a valid dataUri string`,"string.domain":`{{#label}} must contain a valid domain name`,"string.email":`{{#label}} must be a valid email`,"string.empty":`{{#label}} is not allowed to be empty`,"string.guid":`{{#label}} must be a valid GUID`,"string.hex":`{{#label}} must only contain hexadecimal characters`,"string.hexAlign":`{{#label}} hex decoded representation must be byte aligned`,"string.hostname":`{{#label}} must be a valid hostname`,"string.ip":`{{#label}} must be a valid ip address with a {{#cidr}} CIDR`,"string.ipVersion":`{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR`,"string.isoDate":`{{#label}} must be in iso format`,"string.isoDuration":`{{#label}} must be a valid ISO 8601 duration`,"string.length":`{{#label}} length must be {{#limit}} characters long`,"string.lowercase":`{{#label}} must only contain lowercase characters`,"string.max":`{{#label}} length must be less than or equal to {{#limit}} characters long`,"string.min":`{{#label}} length must be at least {{#limit}} characters long`,"string.normalize":`{{#label}} must be unicode normalized in the {{#form}} form`,"string.token":`{{#label}} must only contain alpha-numeric and underscore characters`,"string.pattern.base":`{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}`,"string.pattern.name":`{{#label}} with value {:[.]} fails to match the {{#name}} pattern`,"string.pattern.invert.base":`{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}`,"string.pattern.invert.name":`{{#label}} with value {:[.]} matches the inverted {{#name}} pattern`,"string.trim":`{{#label}} must not have leading or trailing whitespace`,"string.uri":`{{#label}} must be a valid uri`,"string.uriCustomScheme":`{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern`,"string.uriRelativeOnly":`{{#label}} must be a valid relative uri`,"string.uppercase":`{{#label}} must only contain uppercase characters`,"symbol.base":`{{#label}} must be a symbol`,"symbol.map":`{{#label}} must be one of {{#map}}`,...messages$1,...messages$2,...messages,...knexMessages,...fqdnMessages};countries.forEach((name$2,iso)=>{knownMessages[`country.${iso}`]=name$2});let globalI18nCallback;const i18n=toPatch=>{let root$11=toPatch,joi=Object.assign({},root$11),joiTypes=joi.types(),originalMessages=new Map;Object.entries(knownMessages).forEach(([key,value])=>{originalMessages.set(key,value)});let doUpdateI18n=callback=>{globalI18nCallback=callback;let $t=term=>{if(globalI18nCallback)try{let ret=globalI18nCallback(term);if(typeof ret==`string`)return ret}catch{}return originalMessages.get(term)||term},applyMessagesToSchema=(schema$2,messages$3)=>schema$2.messages({"any.custom":$t(`any.custom`),"any.default":$t(`any.default`),"any.failover":$t(`any.failover`),"any.invalid":$t(`any.invalid`),"any.only":$t(`any.only`),"any.ref":$t(`any.ref`),"any.required":$t(`any.required`),"any.unknown":$t(`any.unknown`),...messages$3});Object.defineProperty(root$11,`$i18n`,{value:term=>$t(term),writable:!1,enumerable:!0,configurable:!0}),Object.keys(joiTypes).forEach(type=>{let t$7=type;if(typeof root$11[t$7]!=`function`)return;let baseSchema=root$11[t$7]();root$11[t$7]=(...args$1)=>{let schema$2=generate(root$11,baseSchema,args$1),knexTranslations=Object.fromEntries(Object.entries(knexMessages).map(([k])=>[k,$t(k)]));switch(type){case`alternatives`:return applyMessagesToSchema(schema$2,{"alternatives.all":$t(`alternatives.all`),"alternatives.any":$t(`alternatives.any`),"alternatives.match":$t(`alternatives.match`),"alternatives.one":$t(`alternatives.one`),"alternatives.types":$t(`alternatives.types`),...knexTranslations});case`any`:return applyMessagesToSchema(schema$2,{"any.custom":$t(`any.custom`),"any.default":$t(`any.default`),"any.failover":$t(`any.failover`),"any.invalid":$t(`any.invalid`),"any.only":$t(`any.only`),"any.ref":$t(`any.ref`),"any.required":$t(`any.required`),"any.unknown":$t(`any.unknown`),...knexTranslations});case`array`:return applyMessagesToSchema(schema$2,{"array.base":$t(`array.base`),"array.excludes":$t(`array.excludes`),"array.hasKnown":$t(`array.hasKnown`),"array.hasUnknown":$t(`array.hasUnknown`),"array.includes":$t(`array.includes`),"array.includesRequiredBoth":$t(`array.includesRequiredBoth`),"array.includesRequiredKnowns":$t(`array.includesRequiredKnowns`),"array.includesRequiredUnknowns":$t(`array.includesRequiredUnknowns`),"array.length":$t(`array.length`),"array.max":$t(`array.max`),"array.min":$t(`array.min`),"array.orderedLength":$t(`array.orderedLength`),"array.sort":$t(`array.sort`),"array.sort.mismatching":$t(`array.sort.mismatching`),"array.sort.unsupported":$t(`array.sort.unsupported`),"array.sparse":$t(`array.sparse`),"array.unique":$t(`array.unique`),...knexTranslations});case`binary`:return applyMessagesToSchema(schema$2,{"binary.base":$t(`binary.base`),"binary.length":$t(`binary.length`),"binary.max":$t(`binary.max`),"binary.min":$t(`binary.min`),...knexTranslations});case`boolean`:return applyMessagesToSchema(schema$2,{"boolean.base":$t(`boolean.base`),...knexTranslations});case`date`:return applyMessagesToSchema(schema$2,{"date.base":$t(`date.base`),"date.format":$t(`date.format`),"date.greater":$t(`date.greater`),"date.less":$t(`date.less`),"date.max":$t(`date.max`),"date.min":$t(`date.min`),"date.format.iso":$t(`date.format.iso`),"date.format.javascript":$t(`date.format.javascript`),"date.format.unix":$t(`date.format.unix`),...knexTranslations});case`function`:return applyMessagesToSchema(schema$2,{"function.arity":$t(`function.arity`),"function.class":$t(`function.class`),"function.maxArity":$t(`function.maxArity`),"function.minArity":$t(`function.minArity`),...knexTranslations});case`object`:case`keys`:return applyMessagesToSchema(schema$2,{"object.and":$t(`object.and`),"object.assert":$t(`object.assert`),"object.base":$t(`object.base`),"object.instance":$t(`object.instance`),"object.length":$t(`object.length`),"object.max":$t(`object.max`),"object.min":$t(`object.min`),"object.missing":$t(`object.missing`),"object.nand":$t(`object.nand`),"object.oxor":$t(`object.oxor`),"object.pattern.match":$t(`object.pattern.match`),"object.refType":$t(`object.refType`),"object.regex":$t(`object.regex`),"object.rename.multiple":$t(`object.rename.multiple`),"object.rename.override":$t(`object.rename.override`),"object.schema":$t(`object.schema`),"object.unknown":$t(`object.unknown`),"object.with":$t(`object.with`),"object.without":$t(`object.without`),"object.xor":$t(`object.xor`),...knexTranslations});case`number`:return applyMessagesToSchema(schema$2,{"number.base":$t(`number.base`),"number.greater":$t(`number.greater`),"number.infinity":$t(`number.infinity`),"number.integer":$t(`number.integer`),"number.less":$t(`number.less`),"number.max":$t(`number.max`),"number.min":$t(`number.min`),"number.multiple":$t(`number.multiple`),"number.negative":$t(`number.negative`),"number.port":$t(`number.port`),"number.positive":$t(`number.positive`),"number.precision":$t(`number.precision`),"number.unsafe":$t(`number.unsafe`),...knexTranslations});case`string`:return applyMessagesToSchema(schema$2,{"string.alphanum":$t(`string.alphanum`),"string.base":$t(`string.base`),"string.base64":$t(`string.base64`),"string.creditCard":$t(`string.creditCard`),"string.dataUri":$t(`string.dataUri`),"string.domain":$t(`string.domain`),"string.email":$t(`string.email`),"string.empty":$t(`string.empty`),"string.guid":$t(`string.guid`),"string.hex":$t(`string.hex`),"string.hexAlign":$t(`string.hexAlign`),"string.hostname":$t(`string.hostname`),"string.ip":$t(`string.ip`),"string.ipVersion":$t(`string.ipVersion`),"string.isoDate":$t(`string.isoDate`),"string.isoDuration":$t(`string.isoDuration`),"string.length":$t(`string.length`),"string.lowercase":$t(`string.lowercase`),"string.max":$t(`string.max`),"string.min":$t(`string.min`),"string.normalize":$t(`string.normalize`),"string.token":$t(`string.token`),"string.pattern.base":$t(`string.pattern.base`),"string.pattern.name":$t(`string.pattern.name`),"string.pattern.invert.base":$t(`string.pattern.invert.base`),"string.pattern.invert.name":$t(`string.pattern.invert.name`),"string.trim":$t(`string.trim`),"string.uri":$t(`string.uri`),"string.uriCustomScheme":$t(`string.uriCustomScheme`),"string.uriRelativeOnly":$t(`string.uriRelativeOnly`),"string.uppercase":$t(`string.uppercase`),...fqdnMessages,...knexTranslations});case`symbol`:return applyMessagesToSchema(schema$2,{"symbol.base":$t(`symbol.base`),"symbol.map":$t(`symbol.map`),...knexTranslations});case`bigint`:return applyMessagesToSchema(schema$2,{"bigint.base":$t(`bigint.base`),"bigint.greater":$t(`bigint.greater`),"bigint.less":$t(`bigint.less`),"bigint.max":$t(`bigint.max`),"bigint.min":$t(`bigint.min`),"bigint.multiple":$t(`bigint.multiple`),"bigint.negative":$t(`bigint.negative`),"bigint.positive":$t(`bigint.positive`),...knexTranslations});case`datetime`:return applyMessagesToSchema(schema$2,{"datetime.base":$t(`datetime.base`),"datetime.exactly":$t(`datetime.exactly`),"datetime.equals":$t(`datetime.equals`),"datetime.after":$t(`datetime.after`),"datetime.greater":$t(`datetime.greater`),"datetime.before":$t(`datetime.before`),"datetime.less":$t(`datetime.less`),"datetime.afterOrEqual":$t(`datetime.afterOrEqual`),"datetime.min":$t(`datetime.min`),"datetime.beforeOrEqual":$t(`datetime.beforeOrEqual`),"datetime.max":$t(`datetime.max`),"datetime.weekend":$t(`datetime.weekend`),"datetime.weekday":$t(`datetime.weekday`),...knexTranslations});case`phone`:return applyMessagesToSchema(schema$2,{"phone.base":$t(`phone.base`),"phone.invalid":$t(`phone.invalid`),"phone.fixedLine":$t(`phone.fixedLine`),"phone.mobile":$t(`phone.mobile`),"phone.strictFixedLine":$t(`phone.strictFixedLine`),"phone.strictMobile":$t(`phone.strictMobile`),"phone.fixedLineOrMobile":$t(`phone.fixedLineOrMobile`),"phone.tollFree":$t(`phone.tollFree`),"phone.premiumRate":$t(`phone.premiumRate`),"phone.sharedCost":$t(`phone.sharedCost`),"phone.voip":$t(`phone.voip`),"phone.personalNumber":$t(`phone.personalNumber`),"phone.pager":$t(`phone.pager`),"phone.uan":$t(`phone.uan`),"phone.voicemail":$t(`phone.voicemail`),"phone.unknown":$t(`phone.unknown`),"phone.types":$t(`phone.types`),...knexTranslations});default:return applyMessagesToSchema(schema$2,{...knexTranslations})}}})};return Object.defineProperty(root$11,`$setI18n`,{value:callback=>(doUpdateI18n(callback),root$11),writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(root$11,`$clearI18n`,{value:()=>(doUpdateI18n(),root$11),writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(root$11,`$i18n`,{value:term=>{try{return originalMessages.get(term)||term}catch{return term}},writable:!1,enumerable:!0,configurable:!0}),root$11},patch=root$11=>(root$11=json(root$11),root$11=i18n(root$11),root$11);var require_constants=__commonJSMin((exports,module)=>{let SEMVER_SPEC_VERSION=`2.0.0`,MAX_LENGTH$2=256,MAX_SAFE_INTEGER$1=2**53-1||9007199254740991,MAX_SAFE_COMPONENT_LENGTH$1=16,MAX_SAFE_BUILD_LENGTH$1=MAX_LENGTH$2-6,RELEASE_TYPES=[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`];module.exports={MAX_LENGTH:MAX_LENGTH$2,MAX_SAFE_COMPONENT_LENGTH:MAX_SAFE_COMPONENT_LENGTH$1,MAX_SAFE_BUILD_LENGTH:MAX_SAFE_BUILD_LENGTH$1,MAX_SAFE_INTEGER:MAX_SAFE_INTEGER$1,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),require_debug=__commonJSMin((exports,module)=>{init_dist$1();let debug$4=typeof process$1==`object`&&process$1.env&&process$1.env.NODE_DEBUG&&/\bsemver\b/i.test(process$1.env.NODE_DEBUG)?(...args$1)=>console.error(`SEMVER`,...args$1):()=>{};module.exports=debug$4}),require_re=__commonJSMin((exports,module)=>{let{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH:MAX_LENGTH$1}=require_constants(),debug$3=require_debug();exports=module.exports={};let re$4=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t$4=exports.t={},R=0,LETTERDASHNUMBER=`[a-zA-Z0-9-]`,safeRegexReplacements=[[`\\s`,1],[`\\d`,MAX_LENGTH$1],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max$3]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max$3}}`).split(`${token}+`).join(`${token}{1,${max$3}}`);return value},createToken=(name$2,value,isGlobal)=>{let safe=makeSafeRegex(value),index$2=R++;debug$3(name$2,index$2,value),t$4[name$2]=index$2,src[index$2]=value,safeSrc[index$2]=safe,re$4[index$2]=new RegExp(value,isGlobal?`g`:void 0),safeRe[index$2]=new RegExp(safe,isGlobal?`g`:void 0)};createToken(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),createToken(`NUMERICIDENTIFIERLOOSE`,`\\d+`),createToken(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`),createToken(`MAINVERSION`,`(${src[t$4.NUMERICIDENTIFIER]})\\.(${src[t$4.NUMERICIDENTIFIER]})\\.(${src[t$4.NUMERICIDENTIFIER]})`),createToken(`MAINVERSIONLOOSE`,`(${src[t$4.NUMERICIDENTIFIERLOOSE]})\\.(${src[t$4.NUMERICIDENTIFIERLOOSE]})\\.(${src[t$4.NUMERICIDENTIFIERLOOSE]})`),createToken(`PRERELEASEIDENTIFIER`,`(?:${src[t$4.NONNUMERICIDENTIFIER]}|${src[t$4.NUMERICIDENTIFIER]})`),createToken(`PRERELEASEIDENTIFIERLOOSE`,`(?:${src[t$4.NONNUMERICIDENTIFIER]}|${src[t$4.NUMERICIDENTIFIERLOOSE]})`),createToken(`PRERELEASE`,`(?:-(${src[t$4.PRERELEASEIDENTIFIER]}(?:\\.${src[t$4.PRERELEASEIDENTIFIER]})*))`),createToken(`PRERELEASELOOSE`,`(?:-?(${src[t$4.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t$4.PRERELEASEIDENTIFIERLOOSE]})*))`),createToken(`BUILDIDENTIFIER`,`${LETTERDASHNUMBER}+`),createToken(`BUILD`,`(?:\\+(${src[t$4.BUILDIDENTIFIER]}(?:\\.${src[t$4.BUILDIDENTIFIER]})*))`),createToken(`FULLPLAIN`,`v?${src[t$4.MAINVERSION]}${src[t$4.PRERELEASE]}?${src[t$4.BUILD]}?`),createToken(`FULL`,`^${src[t$4.FULLPLAIN]}$`),createToken(`LOOSEPLAIN`,`[v=\\s]*${src[t$4.MAINVERSIONLOOSE]}${src[t$4.PRERELEASELOOSE]}?${src[t$4.BUILD]}?`),createToken(`LOOSE`,`^${src[t$4.LOOSEPLAIN]}$`),createToken(`GTLT`,`((?:<|>)?=?)`),createToken(`XRANGEIDENTIFIERLOOSE`,`${src[t$4.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),createToken(`XRANGEIDENTIFIER`,`${src[t$4.NUMERICIDENTIFIER]}|x|X|\\*`),createToken(`XRANGEPLAIN`,`[v=\\s]*(${src[t$4.XRANGEIDENTIFIER]})(?:\\.(${src[t$4.XRANGEIDENTIFIER]})(?:\\.(${src[t$4.XRANGEIDENTIFIER]})(?:${src[t$4.PRERELEASE]})?${src[t$4.BUILD]}?)?)?`),createToken(`XRANGEPLAINLOOSE`,`[v=\\s]*(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t$4.XRANGEIDENTIFIERLOOSE]})(?:${src[t$4.PRERELEASELOOSE]})?${src[t$4.BUILD]}?)?)?`),createToken(`XRANGE`,`^${src[t$4.GTLT]}\\s*${src[t$4.XRANGEPLAIN]}$`),createToken(`XRANGELOOSE`,`^${src[t$4.GTLT]}\\s*${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`),createToken(`COERCE`,`${src[t$4.COERCEPLAIN]}(?:$|[^\\d])`),createToken(`COERCEFULL`,src[t$4.COERCEPLAIN]+`(?:${src[t$4.PRERELEASE]})?(?:${src[t$4.BUILD]})?(?:$|[^\\d])`),createToken(`COERCERTL`,src[t$4.COERCE],!0),createToken(`COERCERTLFULL`,src[t$4.COERCEFULL],!0),createToken(`LONETILDE`,`(?:~>?)`),createToken(`TILDETRIM`,`(\\s*)${src[t$4.LONETILDE]}\\s+`,!0),exports.tildeTrimReplace=`$1~`,createToken(`TILDE`,`^${src[t$4.LONETILDE]}${src[t$4.XRANGEPLAIN]}$`),createToken(`TILDELOOSE`,`^${src[t$4.LONETILDE]}${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`LONECARET`,`(?:\\^)`),createToken(`CARETTRIM`,`(\\s*)${src[t$4.LONECARET]}\\s+`,!0),exports.caretTrimReplace=`$1^`,createToken(`CARET`,`^${src[t$4.LONECARET]}${src[t$4.XRANGEPLAIN]}$`),createToken(`CARETLOOSE`,`^${src[t$4.LONECARET]}${src[t$4.XRANGEPLAINLOOSE]}$`),createToken(`COMPARATORLOOSE`,`^${src[t$4.GTLT]}\\s*(${src[t$4.LOOSEPLAIN]})$|^$`),createToken(`COMPARATOR`,`^${src[t$4.GTLT]}\\s*(${src[t$4.FULLPLAIN]})$|^$`),createToken(`COMPARATORTRIM`,`(\\s*)${src[t$4.GTLT]}\\s*(${src[t$4.LOOSEPLAIN]}|${src[t$4.XRANGEPLAIN]})`,!0),exports.comparatorTrimReplace=`$1$2$3`,createToken(`HYPHENRANGE`,`^\\s*(${src[t$4.XRANGEPLAIN]})\\s+-\\s+(${src[t$4.XRANGEPLAIN]})\\s*$`),createToken(`HYPHENRANGELOOSE`,`^\\s*(${src[t$4.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t$4.XRANGEPLAINLOOSE]})\\s*$`),createToken(`STAR`,`(<|>)?=?\\s*\\*`),createToken(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),createToken(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)}),require_parse_options=__commonJSMin((exports,module)=>{let looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions$3=options=>options?typeof options==`object`?options:looseOption:emptyOpts;module.exports=parseOptions$3}),require_identifiers=__commonJSMin((exports,module)=>{let numeric=/^[0-9]+$/,compareIdentifiers$1=(a$2,b)=>{if(typeof a$2==`number`&&typeof b==`number`)return a$2===b?0:a$2<b?-1:1;let anum=numeric.test(a$2),bnum=numeric.test(b);return anum&&bnum&&(a$2=+a$2,b=+b),a$2===b?0:anum&&!bnum?-1:bnum&&!anum?1:a$2<b?-1:1},rcompareIdentifiers=(a$2,b)=>compareIdentifiers$1(b,a$2);module.exports={compareIdentifiers:compareIdentifiers$1,rcompareIdentifiers}}),require_semver$1=__commonJSMin((exports,module)=>{let debug$2=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants(),{safeRe:re$3,t:t$3}=require_re(),parseOptions$2=require_parse_options(),{compareIdentifiers}=require_identifiers();var SemVer$15=class SemVer$15{constructor(version$4,options){if(options=parseOptions$2(options),version$4 instanceof SemVer$15){if(version$4.loose===!!options.loose&&version$4.includePrerelease===!!options.includePrerelease)return version$4;version$4=version$4.version}else if(typeof version$4!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof version$4}".`);if(version$4.length>MAX_LENGTH)throw TypeError(`version is longer than ${MAX_LENGTH} characters`);debug$2(`SemVer`,version$4,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m$3=version$4.trim().match(options.loose?re$3[t$3.LOOSE]:re$3[t$3.FULL]);if(!m$3)throw TypeError(`Invalid Version: ${version$4}`);if(this.raw=version$4,this.major=+m$3[1],this.minor=+m$3[2],this.patch=+m$3[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw TypeError(`Invalid patch version`);m$3[4]?this.prerelease=m$3[4].split(`.`).map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m$3[5]?m$3[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(other){if(debug$2(`SemVer.compare`,this.version,this.options,other),!(other instanceof SemVer$15)){if(typeof other==`string`&&other===this.version)return 0;other=new SemVer$15(other,this.options)}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof SemVer$15||(other=new SemVer$15(other,this.options)),this.major<other.major?-1:this.major>other.major?1:this.minor<other.minor?-1:this.minor>other.minor?1:this.patch<other.patch?-1:this.patch>other.patch?1:0}comparePre(other){if(other instanceof SemVer$15||(other=new SemVer$15(other,this.options)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i$4=0;do{let a$2=this.prerelease[i$4],b=other.prerelease[i$4];if(debug$2(`prerelease compare`,i$4,a$2,b),a$2===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a$2===void 0)return-1;if(a$2===b)continue;return compareIdentifiers(a$2,b)}while(++i$4)}compareBuild(other){other instanceof SemVer$15||(other=new SemVer$15(other,this.options));let i$4=0;do{let a$2=this.build[i$4],b=other.build[i$4];if(debug$2(`build compare`,i$4,a$2,b),a$2===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a$2===void 0)return-1;if(a$2===b)continue;return compareIdentifiers(a$2,b)}while(++i$4)}inc(release,identifier$2,identifierBase){if(release.startsWith(`pre`)){if(!identifier$2&&identifierBase===!1)throw Error(`invalid increment argument: identifier is empty`);if(identifier$2){let match$2=`-${identifier$2}`.match(this.options.loose?re$3[t$3.PRERELEASELOOSE]:re$3[t$3.PRERELEASE]);if(!match$2||match$2[1]!==identifier$2)throw Error(`invalid identifier: ${identifier$2}`)}}switch(release){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,identifier$2,identifierBase);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,identifier$2,identifierBase);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,identifier$2,identifierBase),this.inc(`pre`,identifier$2,identifierBase);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,identifier$2,identifierBase),this.inc(`pre`,identifier$2,identifierBase);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let base$3=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base$3];else{let i$4=this.prerelease.length;for(;--i$4>=0;)typeof this.prerelease[i$4]==`number`&&(this.prerelease[i$4]++,i$4=-2);if(i$4===-1){if(identifier$2===this.prerelease.join(`.`)&&identifierBase===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(base$3)}}if(identifier$2){let prerelease$2=[identifier$2,base$3];identifierBase===!1&&(prerelease$2=[identifier$2]),compareIdentifiers(this.prerelease[0],identifier$2)===0?isNaN(this.prerelease[1])&&(this.prerelease=prerelease$2):this.prerelease=prerelease$2}break}default:throw Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}};module.exports=SemVer$15}),require_parse=__commonJSMin((exports,module)=>{let SemVer$14=require_semver$1(),parse$6=(version$4,options,throwErrors=!1)=>{if(version$4 instanceof SemVer$14)return version$4;try{return new SemVer$14(version$4,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse$6}),require_valid$1=__commonJSMin((exports,module)=>{let parse$5=require_parse(),valid$1=(version$4,options)=>{let v$1=parse$5(version$4,options);return v$1?v$1.version:null};module.exports=valid$1}),require_clean=__commonJSMin((exports,module)=>{let parse$4=require_parse(),clean$1=(version$4,options)=>{let s$6=parse$4(version$4.trim().replace(/^[=v]+/,``),options);return s$6?s$6.version:null};module.exports=clean$1}),require_inc=__commonJSMin((exports,module)=>{let SemVer$13=require_semver$1(),inc$1=(version$4,release,options,identifier$2,identifierBase)=>{typeof options==`string`&&(identifierBase=identifier$2,identifier$2=options,options=void 0);try{return new SemVer$13(version$4 instanceof SemVer$13?version$4.version:version$4,options).inc(release,identifier$2,identifierBase).version}catch{return null}};module.exports=inc$1}),require_diff=__commonJSMin((exports,module)=>{let parse$3=require_parse(),diff$1=(version1,version2)=>{let v1=parse$3(version1,null,!0),v2=parse$3(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length,lowHasPre=!!lowVersion.prerelease.length;if(lowHasPre&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return`major`;if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?`minor`:`patch`}let prefix=highHasPre?`pre`:``;return v1.major===v2.major?v1.minor===v2.minor?v1.patch===v2.patch?`prerelease`:prefix+`patch`:prefix+`minor`:prefix+`major`};module.exports=diff$1}),require_major=__commonJSMin((exports,module)=>{let SemVer$12=require_semver$1(),major$1=(a$2,loose)=>new SemVer$12(a$2,loose).major;module.exports=major$1}),require_minor=__commonJSMin((exports,module)=>{let SemVer$11=require_semver$1(),minor$1=(a$2,loose)=>new SemVer$11(a$2,loose).minor;module.exports=minor$1}),require_patch=__commonJSMin((exports,module)=>{let SemVer$10=require_semver$1(),patch$2=(a$2,loose)=>new SemVer$10(a$2,loose).patch;module.exports=patch$2}),require_prerelease=__commonJSMin((exports,module)=>{let parse$2=require_parse(),prerelease$1=(version$4,options)=>{let parsed=parse$2(version$4,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null};module.exports=prerelease$1}),require_compare=__commonJSMin((exports,module)=>{let SemVer$9=require_semver$1(),compare$11=(a$2,b,loose)=>new SemVer$9(a$2,loose).compare(new SemVer$9(b,loose));module.exports=compare$11}),require_rcompare=__commonJSMin((exports,module)=>{let compare$10=require_compare(),rcompare$1=(a$2,b,loose)=>compare$10(b,a$2,loose);module.exports=rcompare$1}),require_compare_loose=__commonJSMin((exports,module)=>{let compare$9=require_compare(),compareLoose$1=(a$2,b)=>compare$9(a$2,b,!0);module.exports=compareLoose$1}),require_compare_build=__commonJSMin((exports,module)=>{let SemVer$8=require_semver$1(),compareBuild$3=(a$2,b,loose)=>{let versionA=new SemVer$8(a$2,loose),versionB=new SemVer$8(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild$3}),require_sort=__commonJSMin((exports,module)=>{let compareBuild$2=require_compare_build(),sort$1=(list,loose)=>list.sort((a$2,b)=>compareBuild$2(a$2,b,loose));module.exports=sort$1}),require_rsort=__commonJSMin((exports,module)=>{let compareBuild$1=require_compare_build(),rsort$1=(list,loose)=>list.sort((a$2,b)=>compareBuild$1(b,a$2,loose));module.exports=rsort$1}),require_gt=__commonJSMin((exports,module)=>{let compare$8=require_compare(),gt$4=(a$2,b,loose)=>compare$8(a$2,b,loose)>0;module.exports=gt$4}),require_lt=__commonJSMin((exports,module)=>{let compare$7=require_compare(),lt$3=(a$2,b,loose)=>compare$7(a$2,b,loose)<0;module.exports=lt$3}),require_eq=__commonJSMin((exports,module)=>{let compare$6=require_compare(),eq$2=(a$2,b,loose)=>compare$6(a$2,b,loose)===0;module.exports=eq$2}),require_neq=__commonJSMin((exports,module)=>{let compare$5=require_compare(),neq$2=(a$2,b,loose)=>compare$5(a$2,b,loose)!==0;module.exports=neq$2}),require_gte=__commonJSMin((exports,module)=>{let compare$4=require_compare(),gte$3=(a$2,b,loose)=>compare$4(a$2,b,loose)>=0;module.exports=gte$3}),require_lte=__commonJSMin((exports,module)=>{let compare$3=require_compare(),lte$3=(a$2,b,loose)=>compare$3(a$2,b,loose)<=0;module.exports=lte$3}),require_cmp=__commonJSMin((exports,module)=>{let eq$1=require_eq(),neq$1=require_neq(),gt$3=require_gt(),gte$2=require_gte(),lt$2=require_lt(),lte$2=require_lte(),cmp$2=(a$2,op,b,loose)=>{switch(op){case`===`:return typeof a$2==`object`&&(a$2=a$2.version),typeof b==`object`&&(b=b.version),a$2===b;case`!==`:return typeof a$2==`object`&&(a$2=a$2.version),typeof b==`object`&&(b=b.version),a$2!==b;case``:case`=`:case`==`:return eq$1(a$2,b,loose);case`!=`:return neq$1(a$2,b,loose);case`>`:return gt$3(a$2,b,loose);case`>=`:return gte$2(a$2,b,loose);case`<`:return lt$2(a$2,b,loose);case`<=`:return lte$2(a$2,b,loose);default:throw TypeError(`Invalid operator: ${op}`)}};module.exports=cmp$2}),require_coerce=__commonJSMin((exports,module)=>{let SemVer$7=require_semver$1(),parse$1=require_parse(),{safeRe:re$2,t:t$2}=require_re(),coerce$1=(version$4,options)=>{if(version$4 instanceof SemVer$7)return version$4;if(typeof version$4==`number`&&(version$4=String(version$4)),typeof version$4!=`string`)return null;options||={};let match$2=null;if(!options.rtl)match$2=version$4.match(options.includePrerelease?re$2[t$2.COERCEFULL]:re$2[t$2.COERCE]);else{let coerceRtlRegex=options.includePrerelease?re$2[t$2.COERCERTLFULL]:re$2[t$2.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version$4))&&(!match$2||match$2.index+match$2[0].length!==version$4.length);)(!match$2||next.index+next[0].length!==match$2.index+match$2[0].length)&&(match$2=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1}if(match$2===null)return null;let major$2=match$2[2],minor$2=match$2[3]||`0`,patch$3=match$2[4]||`0`,prerelease$2=options.includePrerelease&&match$2[5]?`-${match$2[5]}`:``,build$1=options.includePrerelease&&match$2[6]?`+${match$2[6]}`:``;return parse$1(`${major$2}.${minor$2}.${patch$3}${prerelease$2}${build$1}`,options)};module.exports=coerce$1}),require_lrucache=__commonJSMin((exports,module)=>{var LRUCache=class{constructor(){this.max=1e3,this.map=new Map}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){let deleted=this.delete(key);if(!deleted&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module.exports=LRUCache}),require_range=__commonJSMin((exports,module)=>{let SPACE_CHARACTERS=/\s+/g;var Range$11=class Range$11{constructor(range,options){if(options=parseOptions$1(options),range instanceof Range$11)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new Range$11(range.raw,options);if(range instanceof Comparator$4)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS,` `),this.set=this.raw.split(`||`).map(r$2=>this.parseRange(r$2.trim())).filter(c$1=>c$1.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first$1=this.set[0];if(this.set=this.set.filter(c$1=>!isNullSet(c$1[0])),this.set.length===0)this.set=[first$1];else if(this.set.length>1){for(let c$1 of this.set)if(c$1.length===1&&isAny(c$1[0])){this.set=[c$1];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted=``;for(let i$4=0;i$4<this.set.length;i$4++){i$4>0&&(this.formatted+=`||`);let comps=this.set[i$4];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=` `),this.formatted+=comps[k].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){let memoOpts=(this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE),memoKey=memoOpts+`:`+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re$1[t$1.HYPHENRANGELOOSE]:re$1[t$1.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug$1(`hyphen replace`,range),range=range.replace(re$1[t$1.COMPARATORTRIM],comparatorTrimReplace),debug$1(`comparator trim`,range),range=range.replace(re$1[t$1.TILDETRIM],tildeTrimReplace),debug$1(`tilde trim`,range),range=range.replace(re$1[t$1.CARETTRIM],caretTrimReplace),debug$1(`caret trim`,range);let rangeList=range.split(` `).map(comp=>parseComparator(comp,this.options)).join(` `).split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug$1(`loose invalid filter`,comp,this.options),!!comp.match(re$1[t$1.COMPARATORLOOSE])))),debug$1(`range list`,rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator$4(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return[comp];rangeMap.set(comp.value,comp)}rangeMap.size>1&&rangeMap.has(``)&&rangeMap.delete(``);let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof Range$11))throw TypeError(`a Range is required`);return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version$4){if(!version$4)return!1;if(typeof version$4==`string`)try{version$4=new SemVer$6(version$4,this.options)}catch{return!1}for(let i$4=0;i$4<this.set.length;i$4++)if(testSet(this.set[i$4],version$4,this.options))return!0;return!1}};module.exports=Range$11;let LRU=require_lrucache(),cache=new LRU,parseOptions$1=require_parse_options(),Comparator$4=require_comparator(),debug$1=require_debug(),SemVer$6=require_semver$1(),{safeRe:re$1,t:t$1,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants(),isNullSet=c$1=>c$1.value===`<0.0.0-0`,isAny=c$1=>c$1.value===``,isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(comp=comp.replace(re$1[t$1.BUILD],``),debug$1(`comp`,comp,options),comp=replaceCarets(comp,options),debug$1(`caret`,comp),comp=replaceTildes(comp,options),debug$1(`tildes`,comp),comp=replaceXRanges(comp,options),debug$1(`xrange`,comp),comp=replaceStars(comp,options),debug$1(`stars`,comp),comp),isX=id=>!id||id.toLowerCase()===`x`||id===`*`,replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c$1=>replaceTilde(c$1,options)).join(` `),replaceTilde=(comp,options)=>{let r$2=options.loose?re$1[t$1.TILDELOOSE]:re$1[t$1.TILDE];return comp.replace(r$2,(_,M$1,m$3,p$1,pr)=>{debug$1(`tilde`,comp,_,M$1,m$3,p$1,pr);let ret;return isX(M$1)?ret=``:isX(m$3)?ret=`>=${M$1}.0.0 <${+M$1+1}.0.0-0`:isX(p$1)?ret=`>=${M$1}.${m$3}.0 <${M$1}.${+m$3+1}.0-0`:pr?(debug$1(`replaceTilde pr`,pr),ret=`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${+m$3+1}.0-0`):ret=`>=${M$1}.${m$3}.${p$1} <${M$1}.${+m$3+1}.0-0`,debug$1(`tilde return`,ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c$1=>replaceCaret(c$1,options)).join(` `),replaceCaret=(comp,options)=>{debug$1(`caret`,comp,options);let r$2=options.loose?re$1[t$1.CARETLOOSE]:re$1[t$1.CARET],z$1=options.includePrerelease?`-0`:``;return comp.replace(r$2,(_,M$1,m$3,p$1,pr)=>{debug$1(`caret`,comp,_,M$1,m$3,p$1,pr);let ret;return isX(M$1)?ret=``:isX(m$3)?ret=`>=${M$1}.0.0${z$1} <${+M$1+1}.0.0-0`:isX(p$1)?ret=M$1===`0`?`>=${M$1}.${m$3}.0${z$1} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.0${z$1} <${+M$1+1}.0.0-0`:pr?(debug$1(`replaceCaret pr`,pr),ret=M$1===`0`?m$3===`0`?`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${m$3}.${+p$1+1}-0`:`>=${M$1}.${m$3}.${p$1}-${pr} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.${p$1}-${pr} <${+M$1+1}.0.0-0`):(debug$1(`no pr`),ret=M$1===`0`?m$3===`0`?`>=${M$1}.${m$3}.${p$1}${z$1} <${M$1}.${m$3}.${+p$1+1}-0`:`>=${M$1}.${m$3}.${p$1}${z$1} <${M$1}.${+m$3+1}.0-0`:`>=${M$1}.${m$3}.${p$1} <${+M$1+1}.0.0-0`),debug$1(`caret return`,ret),ret})},replaceXRanges=(comp,options)=>(debug$1(`replaceXRanges`,comp,options),comp.split(/\s+/).map(c$1=>replaceXRange(c$1,options)).join(` `)),replaceXRange=(comp,options)=>{comp=comp.trim();let r$2=options.loose?re$1[t$1.XRANGELOOSE]:re$1[t$1.XRANGE];return comp.replace(r$2,(ret,gtlt,M$1,m$3,p$1,pr)=>{debug$1(`xRange`,comp,ret,gtlt,M$1,m$3,p$1,pr);let xM=isX(M$1),xm=xM||isX(m$3),xp=xm||isX(p$1),anyX=xp;return gtlt===`=`&&anyX&&(gtlt=``),pr=options.includePrerelease?`-0`:``,xM?ret=gtlt===`>`||gtlt===`<`?`<0.0.0-0`:`*`:gtlt&&anyX?(xm&&(m$3=0),p$1=0,gtlt===`>`?(gtlt=`>=`,xm?(M$1=+M$1+1,m$3=0,p$1=0):(m$3=+m$3+1,p$1=0)):gtlt===`<=`&&(gtlt=`<`,xm?M$1=+M$1+1:m$3=+m$3+1),gtlt===`<`&&(pr=`-0`),ret=`${gtlt+M$1}.${m$3}.${p$1}${pr}`):xm?ret=`>=${M$1}.0.0${pr} <${+M$1+1}.0.0-0`:xp&&(ret=`>=${M$1}.${m$3}.0${pr} <${M$1}.${+m$3+1}.0-0`),debug$1(`xRange return`,ret),ret})},replaceStars=(comp,options)=>(debug$1(`replaceStars`,comp,options),comp.trim().replace(re$1[t$1.STAR],``)),replaceGTE0=(comp,options)=>(debug$1(`replaceGTE0`,comp,options),comp.trim().replace(re$1[options.includePrerelease?t$1.GTE0PRE:t$1.GTE0],``)),hyphenReplace=incPr=>($0,from$2,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(from$2=isX(fM)?``:isX(fm)?`>=${fM}.0.0${incPr?`-0`:``}`:isX(fp)?`>=${fM}.${fm}.0${incPr?`-0`:``}`:fpr?`>=${from$2}`:`>=${from$2}${incPr?`-0`:``}`,to=isX(tM)?``:isX(tm)?`<${+tM+1}.0.0-0`:isX(tp)?`<${tM}.${+tm+1}.0-0`:tpr?`<=${tM}.${tm}.${tp}-${tpr}`:incPr?`<${tM}.${tm}.${+tp+1}-0`:`<=${to}`,`${from$2} ${to}`.trim()),testSet=(set,version$4,options)=>{for(let i$4=0;i$4<set.length;i$4++)if(!set[i$4].test(version$4))return!1;if(version$4.prerelease.length&&!options.includePrerelease){for(let i$4=0;i$4<set.length;i$4++)if(debug$1(set[i$4].semver),set[i$4].semver!==Comparator$4.ANY&&set[i$4].semver.prerelease.length>0){let allowed=set[i$4].semver;if(allowed.major===version$4.major&&allowed.minor===version$4.minor&&allowed.patch===version$4.patch)return!0}return!1}return!0}}),require_comparator=__commonJSMin((exports,module)=>{let ANY$2=Symbol(`SemVer ANY`);var Comparator$3=class Comparator$3{static get ANY(){return ANY$2}constructor(comp,options){if(options=parseOptions(options),comp instanceof Comparator$3){if(comp.loose===!!options.loose)return comp;comp=comp.value}comp=comp.trim().split(/\s+/).join(` `),debug(`comparator`,comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY$2?this.value=``:this.value=this.operator+this.semver.version,debug(`comp`,this)}parse(comp){let r$2=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m$3=comp.match(r$2);if(!m$3)throw TypeError(`Invalid comparator: ${comp}`);this.operator=m$3[1]===void 0?``:m$3[1],this.operator===`=`&&(this.operator=``),m$3[2]?this.semver=new SemVer$5(m$3[2],this.options.loose):this.semver=ANY$2}toString(){return this.value}test(version$4){if(debug(`Comparator.test`,version$4,this.options.loose),this.semver===ANY$2||version$4===ANY$2)return!0;if(typeof version$4==`string`)try{version$4=new SemVer$5(version$4,this.options)}catch{return!1}return cmp$1(version$4,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof Comparator$3))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``?!0:new Range$10(comp.value,options).test(this.value):comp.operator===``?comp.value===``?!0:new Range$10(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value===`<0.0.0-0`||comp.value===`<0.0.0-0`)||!options.includePrerelease&&(this.value.startsWith(`<0.0.0`)||comp.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&comp.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&comp.operator.startsWith(`<`)||this.semver.version===comp.semver.version&&this.operator.includes(`=`)&&comp.operator.includes(`=`)||cmp$1(this.semver,`<`,comp.semver,options)&&this.operator.startsWith(`>`)&&comp.operator.startsWith(`<`)||cmp$1(this.semver,`>`,comp.semver,options)&&this.operator.startsWith(`<`)&&comp.operator.startsWith(`>`)))}};module.exports=Comparator$3;let parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp$1=require_cmp(),debug=require_debug(),SemVer$5=require_semver$1(),Range$10=require_range()}),require_satisfies=__commonJSMin((exports,module)=>{let Range$9=require_range(),satisfies$4=(version$4,range,options)=>{try{range=new Range$9(range,options)}catch{return!1}return range.test(version$4)};module.exports=satisfies$4}),require_to_comparators=__commonJSMin((exports,module)=>{let Range$8=require_range(),toComparators$1=(range,options)=>new Range$8(range,options).set.map(comp=>comp.map(c$1=>c$1.value).join(` `).trim().split(` `));module.exports=toComparators$1}),require_max_satisfying=__commonJSMin((exports,module)=>{let SemVer$4=require_semver$1(),Range$7=require_range(),maxSatisfying$1=(versions,range,options)=>{let max$3=null,maxSV=null,rangeObj=null;try{rangeObj=new Range$7(range,options)}catch{return null}return versions.forEach(v$1=>{rangeObj.test(v$1)&&(!max$3||maxSV.compare(v$1)===-1)&&(max$3=v$1,maxSV=new SemVer$4(max$3,options))}),max$3};module.exports=maxSatisfying$1}),require_min_satisfying=__commonJSMin((exports,module)=>{let SemVer$3=require_semver$1(),Range$6=require_range(),minSatisfying$1=(versions,range,options)=>{let min$1=null,minSV=null,rangeObj=null;try{rangeObj=new Range$6(range,options)}catch{return null}return versions.forEach(v$1=>{rangeObj.test(v$1)&&(!min$1||minSV.compare(v$1)===1)&&(min$1=v$1,minSV=new SemVer$3(min$1,options))}),min$1};module.exports=minSatisfying$1}),require_min_version=__commonJSMin((exports,module)=>{let SemVer$2=require_semver$1(),Range$5=require_range(),gt$2=require_gt(),minVersion$1=(range,loose)=>{range=new Range$5(range,loose);let minver=new SemVer$2(`0.0.0`);if(range.test(minver)||(minver=new SemVer$2(`0.0.0-0`),range.test(minver)))return minver;minver=null;for(let i$4=0;i$4<range.set.length;++i$4){let comparators=range.set[i$4],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer$2(comparator.semver.version);switch(comparator.operator){case`>`:compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case``:case`>=`:(!setMin||gt$2(compver,setMin))&&(setMin=compver);break;case`<`:case`<=`:break;default:throw Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt$2(minver,setMin))&&(minver=setMin)}return minver&&range.test(minver)?minver:null};module.exports=minVersion$1}),require_valid=__commonJSMin((exports,module)=>{let Range$4=require_range(),validRange$1=(range,options)=>{try{return new Range$4(range,options).range||`*`}catch{return null}};module.exports=validRange$1}),require_outside=__commonJSMin((exports,module)=>{let SemVer$1=require_semver$1(),Comparator$2=require_comparator(),{ANY:ANY$1}=Comparator$2,Range$3=require_range(),satisfies$3=require_satisfies(),gt$1=require_gt(),lt$1=require_lt(),lte$1=require_lte(),gte$1=require_gte(),outside$3=(version$4,range,hilo,options)=>{version$4=new SemVer$1(version$4,options),range=new Range$3(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case`>`:gtfn=gt$1,ltefn=lte$1,ltfn=lt$1,comp=`>`,ecomp=`>=`;break;case`<`:gtfn=lt$1,ltefn=gte$1,ltfn=gt$1,comp=`<`,ecomp=`<=`;break;default:throw TypeError(`Must provide a hilo val of "<" or ">"`)}if(satisfies$3(version$4,range,options))return!1;for(let i$4=0;i$4<range.set.length;++i$4){let comparators=range.set[i$4],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY$1&&(comparator=new Comparator$2(`>=0.0.0`)),high||=comparator,low||=comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator)}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version$4,low.semver)||low.operator===ecomp&&ltfn(version$4,low.semver))return!1}return!0};module.exports=outside$3}),require_gtr=__commonJSMin((exports,module)=>{let outside$2=require_outside(),gtr$1=(version$4,range,options)=>outside$2(version$4,range,`>`,options);module.exports=gtr$1}),require_ltr=__commonJSMin((exports,module)=>{let outside$1=require_outside(),ltr$1=(version$4,range,options)=>outside$1(version$4,range,`<`,options);module.exports=ltr$1}),require_intersects=__commonJSMin((exports,module)=>{let Range$2=require_range(),intersects$1=(r1,r2,options)=>(r1=new Range$2(r1,options),r2=new Range$2(r2,options),r1.intersects(r2,options));module.exports=intersects$1}),require_simplify=__commonJSMin((exports,module)=>{let satisfies$2=require_satisfies(),compare$2=require_compare();module.exports=(versions,range,options)=>{let set=[],first$1=null,prev=null,v$1=versions.sort((a$2,b)=>compare$2(a$2,b,options));for(let version$4 of v$1){let included=satisfies$2(version$4,range,options);included?(prev=version$4,first$1||=version$4):(prev&&set.push([first$1,prev]),prev=null,first$1=null)}first$1&&set.push([first$1,null]);let ranges=[];for(let[min$1,max$3]of set)min$1===max$3?ranges.push(min$1):!max$3&&min$1===v$1[0]?ranges.push(`*`):max$3?min$1===v$1[0]?ranges.push(`<=${max$3}`):ranges.push(`${min$1} - ${max$3}`):ranges.push(`>=${min$1}`);let simplified=ranges.join(` || `),original=typeof range.raw==`string`?range.raw:String(range);return simplified.length<original.length?simplified:range}}),require_subset=__commonJSMin((exports,module)=>{let Range$1=require_range(),Comparator$1=require_comparator(),{ANY}=Comparator$1,satisfies$1=require_satisfies(),compare$1=require_compare(),subset$1=(sub,dom,options={})=>{if(sub===dom)return!0;sub=new Range$1(sub,options),dom=new Range$1(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull||=isSub!==null,isSub)continue OUTER}if(sawNonNull)return!1}return!0},minimumVersionWithPreRelease=[new Comparator$1(`>=0.0.0-0`)],minimumVersion=[new Comparator$1(`>=0.0.0`)],simpleSubset=(sub,dom,options)=>{if(sub===dom)return!0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return!0;sub=options.includePrerelease?minimumVersionWithPreRelease:minimumVersion}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return!0;dom=minimumVersion}let eqSet=new Set,gt$5,lt$4;for(let c$1 of sub)c$1.operator===`>`||c$1.operator===`>=`?gt$5=higherGT(gt$5,c$1,options):c$1.operator===`<`||c$1.operator===`<=`?lt$4=lowerLT(lt$4,c$1,options):eqSet.add(c$1.semver);if(eqSet.size>1)return null;let gtltComp;if(gt$5&&lt$4&&(gtltComp=compare$1(gt$5.semver,lt$4.semver,options),gtltComp>0||gtltComp===0&&(gt$5.operator!==`>=`||lt$4.operator!==`<=`)))return null;for(let eq$9 of eqSet){if(gt$5&&!satisfies$1(eq$9,String(gt$5),options)||lt$4&&!satisfies$1(eq$9,String(lt$4),options))return null;for(let c$1 of dom)if(!satisfies$1(eq$9,String(c$1),options))return!1;return!0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt$4&&!options.includePrerelease&&lt$4.semver.prerelease.length?lt$4.semver:!1,needDomGTPre=gt$5&&!options.includePrerelease&&gt$5.semver.prerelease.length?gt$5.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt$4.operator===`<`&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c$1 of dom){if(hasDomGT=hasDomGT||c$1.operator===`>`||c$1.operator===`>=`,hasDomLT=hasDomLT||c$1.operator===`<`||c$1.operator===`<=`,gt$5){if(needDomGTPre&&c$1.semver.prerelease&&c$1.semver.prerelease.length&&c$1.semver.major===needDomGTPre.major&&c$1.semver.minor===needDomGTPre.minor&&c$1.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c$1.operator===`>`||c$1.operator===`>=`){if(higher=higherGT(gt$5,c$1,options),higher===c$1&&higher!==gt$5)return!1}else if(gt$5.operator===`>=`&&!satisfies$1(gt$5.semver,String(c$1),options))return!1}if(lt$4){if(needDomLTPre&&c$1.semver.prerelease&&c$1.semver.prerelease.length&&c$1.semver.major===needDomLTPre.major&&c$1.semver.minor===needDomLTPre.minor&&c$1.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c$1.operator===`<`||c$1.operator===`<=`){if(lower=lowerLT(lt$4,c$1,options),lower===c$1&&lower!==lt$4)return!1}else if(lt$4.operator===`<=`&&!satisfies$1(lt$4.semver,String(c$1),options))return!1}if(!c$1.operator&&(lt$4||gt$5)&&gtltComp!==0)return!1}return!(gt$5&&hasDomLT&&!lt$4&&gtltComp!==0||lt$4&&hasDomGT&&!gt$5&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a$2,b,options)=>{if(!a$2)return b;let comp=compare$1(a$2.semver,b.semver,options);return comp>0?a$2:comp<0||b.operator===`>`&&a$2.operator===`>=`?b:a$2},lowerLT=(a$2,b,options)=>{if(!a$2)return b;let comp=compare$1(a$2.semver,b.semver,options);return comp<0?a$2:comp>0||b.operator===`<`&&a$2.operator===`<=`?b:a$2};module.exports=subset$1}),require_semver=__commonJSMin((exports,module)=>{let internalRe=require_re(),constants=require_constants(),SemVer=require_semver$1(),identifiers=require_identifiers(),parse=require_parse(),valid=require_valid$1(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch$1=require_patch(),prerelease=require_prerelease(),compare=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce=require_coerce(),Comparator=require_comparator(),Range=require_range(),satisfies=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion=require_min_version(),validRange=require_valid(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse,valid,clean,inc,diff,major,minor,patch:patch$1,prerelease,compare,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce,Comparator,Range,satisfies,toComparators,maxSatisfying,minSatisfying,minVersion,validRange,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}),u8=Uint8Array,u16=Uint16Array,i32=Int32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(eb,start){for(var b=new u16(31),i$4=0;i$4<31;++i$4)b[i$4]=start+=1<<eb[i$4-1];for(var r$2=new i32(b[30]),i$4=1;i$4<30;++i$4)for(var j$1=b[i$4];j$1<b[i$4+1];++j$1)r$2[j$1]=j$1-b[i$4]<<5|i$4;return{b,r:r$2}},_a=freb(fleb,2),fl=_a.b,revfl=_a.r;fl[28]=258,revfl[258]=28;for(var _b=freb(fdeb,0),fd=_b.b,revfd=_b.r,rev=new u16(32768),i=0;i<32768;++i){var x=(i&43690)>>1|(i&21845)<<1;x=(x&52428)>>2|(x&13107)<<2,x=(x&61680)>>4|(x&3855)<<4,rev[i]=((x&65280)>>8|(x&255)<<8)>>1}for(var hMap=function(cd,mb,r$2){for(var s$6=cd.length,i$4=0,l$4=new u16(mb);i$4<s$6;++i$4)cd[i$4]&&++l$4[cd[i$4]-1];var le$1=new u16(mb);for(i$4=1;i$4<mb;++i$4)le$1[i$4]=le$1[i$4-1]+l$4[i$4-1]<<1;var co;if(r$2){co=new u16(1<<mb);var rvb=15-mb;for(i$4=0;i$4<s$6;++i$4)if(cd[i$4])for(var sv=i$4<<4|cd[i$4],r_1=mb-cd[i$4],v$1=le$1[cd[i$4]-1]++<<r_1,m$3=v$1|(1<<r_1)-1;v$1<=m$3;++v$1)co[rev[v$1]>>rvb]=sv}else for(co=new u16(s$6),i$4=0;i$4<s$6;++i$4)cd[i$4]&&(co[i$4]=rev[le$1[cd[i$4]-1]++]>>15-cd[i$4]);return co},flt=new u8(288),i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;for(var fdt=new u8(32),i=0;i<32;++i)fdt[i]=5;var flm=hMap(flt,9,0),flrm=hMap(flt,9,1),fdm=hMap(fdt,5,0),fdrm=hMap(fdt,5,1),max=function(a$2){for(var m$3=a$2[0],i$4=1;i$4<a$2.length;++i$4)a$2[i$4]>m$3&&(m$3=a$2[i$4]);return m$3},bits=function(d$1,p$1,m$3){var o$2=p$1/8|0;return(d$1[o$2]|d$1[o$2+1]<<8)>>(p$1&7)&m$3},bits16=function(d$1,p$1){var o$2=p$1/8|0;return(d$1[o$2]|d$1[o$2+1]<<8|d$1[o$2+2]<<16)>>(p$1&7)},shft=function(p$1){return(p$1+7)/8|0},slc=function(v$1,s$6,e$2){return(s$6==null||s$6<0)&&(s$6=0),(e$2==null||e$2>v$1.length)&&(e$2=v$1.length),new u8(v$1.subarray(s$6,e$2))},ec=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],err=function(ind,msg,nt){var e$2=Error(msg||ec[ind]);if(e$2.code=ind,Error.captureStackTrace&&Error.captureStackTrace(e$2,err),!nt)throw e$2;return e$2},inflt=function(dat,st,buf,dict){var sl=dat.length,dl=dict?dict.length:0;if(!sl||st.f&&!st.l)return buf||new u8(0);var noBuf=!buf,resize=noBuf||st.i!=2,noSt=st.i;noBuf&&(buf=new u8(sl*3));var cbuf=function(l$5){var bl=buf.length;if(l$5>bl){var nbuf=new u8(Math.max(bl*2,l$5));nbuf.set(buf),buf=nbuf}},final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n,tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);if(pos+=3,type)if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4,tl=hLit+bits(dat,pos+5,31)+1;pos+=14;for(var ldt=new u8(tl),clt=new u8(19),i$4=0;i$4<hcLen;++i$4)clt[clim[i$4]]=bits(dat,pos+i$4*3,7);pos+=hcLen*3;for(var clb=max(clt),clbmsk=(1<<clb)-1,clm=hMap(clt,clb,1),i$4=0;i$4<tl;){var r$2=clm[bits(dat,pos,clbmsk)];pos+=r$2&15;var s$6=r$2>>4;if(s$6<16)ldt[i$4++]=s$6;else{var c$1=0,n$4=0;for(s$6==16?(n$4=3+bits(dat,pos,3),pos+=2,c$1=ldt[i$4-1]):s$6==17?(n$4=3+bits(dat,pos,7),pos+=3):s$6==18&&(n$4=11+bits(dat,pos,127),pos+=7);n$4--;)ldt[i$4++]=c$1}}var lt$4=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt$4),dbt=max(dt),lm=hMap(lt$4,lbt,1),dm=hMap(dt,dbt,1)}else err(1);else{var s$6=shft(pos)+4,l$4=dat[s$6-4]|dat[s$6-3]<<8,t$7=s$6+l$4;if(t$7>sl){noSt&&err(0);break}resize&&cbuf(bt+l$4),buf.set(dat.subarray(s$6,t$7),bt),st.b=bt+=l$4,st.p=pos=t$7*8,st.f=final;continue}if(pos>tbts){noSt&&err(0);break}}resize&&cbuf(bt+131072);for(var lms=(1<<lbt)-1,dms=(1<<dbt)-1,lpos=pos;;lpos=pos){var c$1=lm[bits16(dat,pos)&lms],sym=c$1>>4;if(pos+=c$1&15,pos>tbts){noSt&&err(0);break}if(c$1||err(2),sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i$4=sym-257,b=fleb[i$4];add=bits(dat,pos,(1<<b)-1)+fl[i$4],pos+=b}var d$1=dm[bits16(dat,pos)&dms],dsym=d$1>>4;d$1||err(3),pos+=d$1&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<<b)-1,pos+=b}if(pos>tbts){noSt&&err(0);break}resize&&cbuf(bt+131072);var end=bt+add;if(bt<dt){var shift=dl-dt,dend=Math.min(dt,end);for(shift+bt<0&&err(3);bt<dend;++bt)buf[bt]=dict[shift+bt]}for(;bt<end;++bt)buf[bt]=buf[bt-dt]}}st.l=lm,st.p=lpos,st.b=bt,st.f=final,lm&&(final=1,st.m=lbt,st.d=dm,st.n=dbt)}while(!final);return bt!=buf.length&&noBuf?slc(buf,0,bt):buf.subarray(0,bt)},wbits=function(d$1,p$1,v$1){v$1<<=p$1&7;var o$2=p$1/8|0;d$1[o$2]|=v$1,d$1[o$2+1]|=v$1>>8},wbits16=function(d$1,p$1,v$1){v$1<<=p$1&7;var o$2=p$1/8|0;d$1[o$2]|=v$1,d$1[o$2+1]|=v$1>>8,d$1[o$2+2]|=v$1>>16},hTree=function(d$1,mb){for(var t$7=[],i$4=0;i$4<d$1.length;++i$4)d$1[i$4]&&t$7.push({s:i$4,f:d$1[i$4]});var s$6=t$7.length,t2=t$7.slice();if(!s$6)return{t:et,l:0};if(s$6==1){var v$1=new u8(t$7[0].s+1);return v$1[t$7[0].s]=1,{t:v$1,l:1}}t$7.sort(function(a$2,b){return a$2.f-b.f}),t$7.push({s:-1,f:25001});var l$4=t$7[0],r$2=t$7[1],i0=0,i1=1,i2=2;for(t$7[0]={s:-1,f:l$4.f+r$2.f,l:l$4,r:r$2};i1!=s$6-1;)l$4=t$7[t$7[i0].f<t$7[i2].f?i0++:i2++],r$2=t$7[i0!=i1&&t$7[i0].f<t$7[i2].f?i0++:i2++],t$7[i1++]={s:-1,f:l$4.f+r$2.f,l:l$4,r:r$2};for(var maxSym=t2[0].s,i$4=1;i$4<s$6;++i$4)t2[i$4].s>maxSym&&(maxSym=t2[i$4].s);var tr=new u16(maxSym+1),mbt=ln(t$7[i1-1],tr,0);if(mbt>mb){var i$4=0,dt=0,lft=mbt-mb,cst=1<<lft;for(t2.sort(function(a$2,b){return tr[b.s]-tr[a$2.s]||a$2.f-b.f});i$4<s$6;++i$4){var i2_1=t2[i$4].s;if(tr[i2_1]>mb)dt+=cst-(1<<mbt-tr[i2_1]),tr[i2_1]=mb;else break}for(dt>>=lft;dt>0;){var i2_2=t2[i$4].s;tr[i2_2]<mb?dt-=1<<mb-tr[i2_2]++-1:++i$4}for(;i$4>=0&&dt;--i$4){var i2_3=t2[i$4].s;tr[i2_3]==mb&&(--tr[i2_3],++dt)}mbt=mb}return{t:new u8(tr),l:mbt}},ln=function(n$4,l$4,d$1){return n$4.s==-1?Math.max(ln(n$4.l,l$4,d$1+1),ln(n$4.r,l$4,d$1+1)):l$4[n$4.s]=d$1},lc=function(c$1){for(var s$6=c$1.length;s$6&&!c$1[--s$6];);for(var cl=new u16(++s$6),cli=0,cln=c$1[0],cls=1,w$1=function(v$1){cl[cli++]=v$1},i$4=1;i$4<=s$6;++i$4)if(c$1[i$4]==cln&&i$4!=s$6)++cls;else{if(!cln&&cls>2){for(;cls>138;cls-=138)w$1(32754);cls>2&&(w$1(cls>10?cls-11<<5|28690:cls-3<<5|12305),cls=0)}else if(cls>3){for(w$1(cln),--cls;cls>6;cls-=6)w$1(8304);cls>2&&(w$1(cls-3<<5|8208),cls=0)}for(;cls--;)w$1(cln);cls=1,cln=c$1[i$4]}return{c:cl.subarray(0,cli),n:s$6}},clen=function(cf,cl){for(var l$4=0,i$4=0;i$4<cl.length;++i$4)l$4+=cf[i$4]*cl[i$4];return l$4},wfblk=function(out,pos,dat){var s$6=dat.length,o$2=shft(pos+2);out[o$2]=s$6&255,out[o$2+1]=s$6>>8,out[o$2+2]=out[o$2]^255,out[o$2+3]=out[o$2+1]^255;for(var i$4=0;i$4<s$6;++i$4)out[o$2+i$4+4]=dat[i$4];return(o$2+4+s$6)*8},wblk=function(dat,out,final,syms,lf,df,eb,li,bs,bl,p$1){wbits(out,p$1++,final),++lf[256];for(var _a$1=hTree(lf,15),dlt=_a$1.t,mlb=_a$1.l,_b$1=hTree(df,15),ddt=_b$1.t,mdb=_b$1.l,_c=lc(dlt),lclt=_c.c,nlc=_c.n,_d=lc(ddt),lcdt=_d.c,ndc=_d.n,lcfreq=new u16(19),i$4=0;i$4<lclt.length;++i$4)++lcfreq[lclt[i$4]&31];for(var i$4=0;i$4<lcdt.length;++i$4)++lcfreq[lcdt[i$4]&31];for(var _e=hTree(lcfreq,7),lct=_e.t,mlcb=_e.l,nlcc=19;nlcc>4&&!lct[clim[nlcc-1]];--nlcc);var flen=bl+5<<3,ftlen=clen(lf,flt)+clen(df,fdt)+eb,dtlen=clen(lf,dlt)+clen(df,ddt)+eb+14+3*nlcc+clen(lcfreq,lct)+2*lcfreq[16]+3*lcfreq[17]+7*lcfreq[18];if(bs>=0&&flen<=ftlen&&flen<=dtlen)return wfblk(out,p$1,dat.subarray(bs,bs+bl));var lm,ll,dm,dl;if(wbits(out,p$1,1+(dtlen<ftlen)),p$1+=2,dtlen<ftlen){lm=hMap(dlt,mlb,0),ll=dlt,dm=hMap(ddt,mdb,0),dl=ddt;var llm=hMap(lct,mlcb,0);wbits(out,p$1,nlc-257),wbits(out,p$1+5,ndc-1),wbits(out,p$1+10,nlcc-4),p$1+=14;for(var i$4=0;i$4<nlcc;++i$4)wbits(out,p$1+3*i$4,lct[clim[i$4]]);p$1+=3*nlcc;for(var lcts=[lclt,lcdt],it=0;it<2;++it)for(var clct=lcts[it],i$4=0;i$4<clct.length;++i$4){var len$2=clct[i$4]&31;wbits(out,p$1,llm[len$2]),p$1+=lct[len$2],len$2>15&&(wbits(out,p$1,clct[i$4]>>5&127),p$1+=clct[i$4]>>12)}}else lm=flm,ll=flt,dm=fdm,dl=fdt;for(var i$4=0;i$4<li;++i$4){var sym=syms[i$4];if(sym>255){var len$2=sym>>18&31;wbits16(out,p$1,lm[len$2+257]),p$1+=ll[len$2+257],len$2>7&&(wbits(out,p$1,sym>>23&31),p$1+=fleb[len$2]);var dst=sym&31;wbits16(out,p$1,dm[dst]),p$1+=dl[dst],dst>3&&(wbits16(out,p$1,sym>>5&8191),p$1+=fdeb[dst])}else wbits16(out,p$1,lm[sym]),p$1+=ll[sym]}return wbits16(out,p$1,lm[256]),p$1+ll[256]},deo=new i32([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),et=new u8(0),dflt=function(dat,lvl,plvl,pre$1,post,st){var s$6=st.z||dat.length,o$2=new u8(pre$1+s$6+5*(1+Math.ceil(s$6/7e3))+post),w$1=o$2.subarray(pre$1,o$2.length-post),lst=st.l,pos=(st.r||0)&7;if(lvl){pos&&(w$1[0]=st.r>>3);for(var opt=deo[lvl-1],n$4=opt>>13,c$1=opt&8191,msk_1=(1<<plvl)-1,prev=st.p||new u16(32768),head$1=st.h||new u16(msk_1+1),bs1_1=Math.ceil(plvl/3),bs2_1=2*bs1_1,hsh=function(i$5){return(dat[i$5]^dat[i$5+1]<<bs1_1^dat[i$5+2]<<bs2_1)&msk_1},syms=new i32(25e3),lf=new u16(288),df=new u16(32),lc_1=0,eb=0,i$4=st.i||0,li=0,wi=st.w||0,bs=0;i$4+2<s$6;++i$4){var hv=hsh(i$4),imod=i$4&32767,pimod=head$1[hv];if(prev[imod]=pimod,head$1[hv]=imod,wi<=i$4){var rem=s$6-i$4;if((lc_1>7e3||li>24576)&&(rem>423||!lst)){pos=wblk(dat,w$1,0,syms,lf,df,eb,li,bs,i$4-bs,pos),li=lc_1=eb=0,bs=i$4;for(var j$1=0;j$1<286;++j$1)lf[j$1]=0;for(var j$1=0;j$1<30;++j$1)df[j$1]=0}var l$4=2,d$1=0,ch_1=c$1,dif=imod-pimod&32767;if(rem>2&&hv==hsh(i$4-dif))for(var maxn=Math.min(n$4,rem)-1,maxd=Math.min(32767,i$4),ml=Math.min(258,rem);dif<=maxd&&--ch_1&&imod!=pimod;){if(dat[i$4+l$4]==dat[i$4+l$4-dif]){for(var nl=0;nl<ml&&dat[i$4+nl]==dat[i$4+nl-dif];++nl);if(nl>l$4){if(l$4=nl,d$1=dif,nl>maxn)break;for(var mmd=Math.min(dif,nl-2),md=0,j$1=0;j$1<mmd;++j$1){var ti=i$4-dif+j$1&32767,pti=prev[ti],cd=ti-pti&32767;cd>md&&(md=cd,pimod=ti)}}}imod=pimod,pimod=prev[imod],dif+=imod-pimod&32767}if(d$1){syms[li++]=268435456|revfl[l$4]<<18|revfd[d$1];var lin=revfl[l$4]&31,din=revfd[d$1]&31;eb+=fleb[lin]+fdeb[din],++lf[257+lin],++df[din],wi=i$4+l$4,++lc_1}else syms[li++]=dat[i$4],++lf[dat[i$4]]}}for(i$4=Math.max(i$4,wi);i$4<s$6;++i$4)syms[li++]=dat[i$4],++lf[dat[i$4]];pos=wblk(dat,w$1,lst,syms,lf,df,eb,li,bs,i$4-bs,pos),lst||(st.r=pos&7|w$1[pos/8|0]<<3,pos-=7,st.h=head$1,st.p=prev,st.i=i$4,st.w=wi)}else{for(var i$4=st.w||0;i$4<s$6+lst;i$4+=65535){var e$2=i$4+65535;e$2>=s$6&&(w$1[pos/8|0]=lst,e$2=s$6),pos=wfblk(w$1,pos+1,dat.subarray(i$4,e$2))}st.i=s$6}return slc(o$2,0,pre$1+shft(pos)+post)},adler=function(){var a$2=1,b=0;return{p:function(d$1){for(var n$4=a$2,m$3=b,l$4=d$1.length|0,i$4=0;i$4!=l$4;){for(var e$2=Math.min(i$4+2655,l$4);i$4<e$2;++i$4)m$3+=n$4+=d$1[i$4];n$4=(n$4&65535)+15*(n$4>>16),m$3=(m$3&65535)+15*(m$3>>16)}a$2=n$4,b=m$3},d:function(){return a$2%=65521,b%=65521,(a$2&255)<<24|(a$2&65280)<<8|(b&255)<<8|b>>8}}},dopt=function(dat,opt,pre$1,post,st){if(!st&&(st={l:1},opt.dictionary)){var dict=opt.dictionary.subarray(-32768),newDat=new u8(dict.length+dat.length);newDat.set(dict),newDat.set(dat,dict.length),dat=newDat,st.w=dict.length}return dflt(dat,opt.level==null?6:opt.level,opt.mem==null?st.l?Math.ceil(Math.max(8,Math.min(13,Math.log(dat.length)))*1.5):20:12+opt.mem,pre$1,post,st)},wbytes=function(d$1,b,v$1){for(;v$1;++b)d$1[b]=v$1,v$1>>>=8},zlh=function(c$1,o$2){var lv=o$2.level,fl$1=lv==0?0:lv<6?1:lv==9?3:2;if(c$1[0]=120,c$1[1]=fl$1<<6|(o$2.dictionary&&32),c$1[1]|=31-(c$1[0]<<8|c$1[1])%31,o$2.dictionary){var h$1=adler();h$1.p(o$2.dictionary),wbytes(c$1,2,h$1.d())}},zls=function(d$1,dict){return((d$1[0]&15)!=8||d$1[0]>>4>7||(d$1[0]<<8|d$1[1])%31)&&err(6,`invalid zlib data`),(d$1[1]>>5&1)==+!dict&&err(6,`invalid zlib data: `+(d$1[1]&32?`need`:`unexpected`)+` dictionary`),(d$1[1]>>3&4)+2};function zlibSync(data,opts){opts||={};var a$2=adler();a$2.p(data);var d$1=dopt(data,opts,opts.dictionary?6:2,4);return zlh(d$1,opts),wbytes(d$1,d$1.length-4,a$2.d()),d$1}function unzlibSync(data,opts){return inflt(data.subarray(zls(data,opts&&opts.dictionary),-4),{i:2},opts&&opts.out,opts&&opts.dictionary)}var te=typeof TextEncoder<`u`&&new TextEncoder,td=typeof TextDecoder<`u`&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch{}var dutf8=function(d$1){for(var r$2=``,i$4=0;;){var c$1=d$1[i$4++],eb=(c$1>127)+(c$1>223)+(c$1>239);if(i$4+eb>d$1.length)return{s:r$2,r:slc(d$1,i$4-1)};eb?eb==3?(c$1=((c$1&15)<<18|(d$1[i$4++]&63)<<12|(d$1[i$4++]&63)<<6|d$1[i$4++]&63)-65536,r$2+=String.fromCharCode(55296|c$1>>10,56320|c$1&1023)):eb&1?r$2+=String.fromCharCode((c$1&31)<<6|d$1[i$4++]&63):r$2+=String.fromCharCode((c$1&15)<<12|(d$1[i$4++]&63)<<6|d$1[i$4++]&63):r$2+=String.fromCharCode(c$1)}};function strToU8(str,latin1){if(latin1){for(var ar_1=new u8(str.length),i$4=0;i$4<str.length;++i$4)ar_1[i$4]=str.charCodeAt(i$4);return ar_1}if(te)return te.encode(str);for(var l$4=str.length,ar=new u8(str.length+(str.length>>1)),ai=0,w$1=function(v$1){ar[ai++]=v$1},i$4=0;i$4<l$4;++i$4){if(ai+5>ar.length){var n$4=new u8(ai+8+(l$4-i$4<<1));n$4.set(ar),ar=n$4}var c$1=str.charCodeAt(i$4);c$1<128||latin1?w$1(c$1):c$1<2048?(w$1(192|c$1>>6),w$1(128|c$1&63)):c$1>55295&&c$1<57344?(c$1=65536+(c$1&1047552)|str.charCodeAt(++i$4)&1023,w$1(240|c$1>>18),w$1(128|c$1>>12&63),w$1(128|c$1>>6&63),w$1(128|c$1&63)):(w$1(224|c$1>>12),w$1(128|c$1>>6&63),w$1(128|c$1&63))}return slc(ar,0,ai)}function strFromU8(dat,latin1){if(latin1){for(var r$2=``,i$4=0;i$4<dat.length;i$4+=16384)r$2+=String.fromCharCode.apply(null,dat.subarray(i$4,i$4+16384));return r$2}else if(td)return td.decode(dat);else{var _a$1=dutf8(dat),s$6=_a$1.s,r$2=_a$1.r;return r$2.length&&err(8),s$6}}var import_semver=__toESM(require_semver()),StringifiedFunctionParser=class StringifiedFunctionParser{#namedBindings;#argNames;#functionBody;#isExpressionBody=!1;#isAsync=!1;#isGenerator=!1;constructor(functionString,namedBindings){this.#namedBindings=new Map,this.#argNames=[],this.#functionBody=``,isPlainObject(namedBindings)&&Object.entries(namedBindings).forEach(([key,value])=>{this.#namedBindings.set(key,value)});let trimmed=functionString.trim();this.#parseArgNames(trimmed),this.#parseFunctionBody(trimmed)}#parseArgNames(trimmed){let patterns=[/^\s*(?:async\s+)?\(([^)]*)\)\s*=>/,/^\s*(?:async\s+)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>/,/^\s*(?:async\s+)?function\s*(?:\*\s*)?(?:[a-zA-Z_$][a-zA-Z0-9_$]*)?\s*\(([^)]*)\)/,/^\s*(?:async\s+)?(?:\*\s*)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)\s*\{/],paramString=``;for(let pattern of patterns){let match$2=trimmed.match(pattern);if(match$2){paramString=match$2[1]||match$2[2]||``;break}}if(!paramString||!paramString.trim())return;let args$1=[],current=``,depth=0,inString=!1,stringChar=``;for(let i$4=0;i$4<paramString.length;i$4++){let char=paramString[i$4],prevChar=i$4>0?paramString[i$4-1]:``;if((char===`"`||char===`'`||char==="`")&&prevChar!==`\\`&&(inString?char===stringChar&&(inString=!1):(inString=!0,stringChar=char)),!inString&&(char===`{`||char===`[`||char===`(`?depth++:(char===`}`||char===`]`||char===`)`)&&depth--,char===`,`&&depth===0)){let processed=this.#processParameter(current.trim());processed&&args$1.push(processed),current=``;continue}current+=char}if(current.trim()){let processed=this.#processParameter(current.trim());processed&&args$1.push(processed)}this.#argNames.push(...args$1)}#processParameter(param){if(!param)return``;if(param=param.trim(),param.startsWith(`...`))return param.slice(3).trim().split(/[\s=]/)[0];if(param.startsWith(`{`)||param.startsWith(`[`))return param.split(/[\s=:]/)[0];let nameMatch=param.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);return nameMatch?nameMatch[1]:``}#parseFunctionBody(trimmed){this.#isAsync=/^\s*async\s+/.test(trimmed);let arrowExpressionMatch=trimmed.match(/^\s*(async\s+)?(?:\([^)]*\)|[a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>\s*(.+)$/s);if(arrowExpressionMatch&&!arrowExpressionMatch[2].trimStart().startsWith(`{`)){this.#isExpressionBody=!0,this.#functionBody=arrowExpressionMatch[2].trim();return}let arrowBlockMatch=trimmed.match(/^\s*(async\s+)?(?:\([^)]*\)|[a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>\s*\{([\s\S]*)\}\s*$/);if(arrowBlockMatch){this.#functionBody=arrowBlockMatch[2].trim();return}let functionMatch=trimmed.match(/^\s*(async\s+)?function\s*(\*\s*)?(?:[a-zA-Z_$][a-zA-Z0-9_$]*)?\s*\([^)]*\)\s*\{([\s\S]*)\}\s*$/);if(functionMatch){this.#isGenerator=!!functionMatch[2],this.#functionBody=functionMatch[3].trim();return}let methodMatch=trimmed.match(/^\s*(async\s+)?(\*\s*)?[a-zA-Z_$][a-zA-Z0-9_$]*\s*\([^)]*\)\s*\{([\s\S]*)\}\s*$/);if(methodMatch){this.#isGenerator=!!methodMatch[2],this.#functionBody=methodMatch[3].trim();return}let firstBrace=trimmed.indexOf(`{`),lastBrace=trimmed.lastIndexOf(`}`);if(firstBrace!==-1&&lastBrace!==-1&&lastBrace>firstBrace){this.#functionBody=trimmed.substring(firstBrace+1,lastBrace);return}}asFunction(){let functionBody=this.#isExpressionBody?`return ${this.#functionBody}`:this.#functionBody,bindingNames=Array.from(this.#namedBindings.keys()),allParams=[...bindingNames,...this.#argNames],paramList=allParams.join(`, `),functionCode=``;functionCode=this.#isAsync?this.#isGenerator?`async function*(${paramList}) { ${functionBody} }`:`async function(${paramList}) { ${functionBody} }`:this.#isGenerator?`function*(${paramList}) { ${functionBody} }`:`function(${paramList}) { ${functionBody} }`;let callable=Function(`return ${functionCode}`)(),namedBindingValues=Array.from(this.#namedBindings.values());function wrapper(...args$1){return callable.call(this,...namedBindingValues,...args$1)}return wrapper}static parse(functionString,namedBindings){let parser=new StringifiedFunctionParser(functionString,namedBindings);return parser.asFunction()}};const utoa=data=>{let buffer$3=strToU8(data),zipped=zlibSync(buffer$3,{level:9}),binary=strFromU8(zipped,!0);return btoa(binary)},atou=base64=>{let binary=atob(base64);if(binary.startsWith(`xÚ`)){let buffer$3=strToU8(binary,!0),unzipped=unzlibSync(buffer$3);return strFromU8(unzipped)}return decodeURIComponent(escape(binary))},defaultEncoderOptions={withDatabase:!1},isDehydratedValue=value=>isPlainObject(value)&&`_encodedType`in value&&`_encodedValueType`in value&&`_encodedValue`in value,dehydrateValue=(type,value)=>(typeof value==`function`&&(value=value.toString()),{_encodedType:type,_encodedValueType:typeof value,_encodedValue:value}),dehydrateKnexConnection=connection=>{if(isPlainObject(connection))return`getReadClient`in connection?dehydrateValue(`knexConnection`,connection.getReadClient()):dehydrateValue(`knexConnection`,connection);if(typeof connection==`function`&&connection.client!==void 0&&isPlainObject(connection.client.config))return dehydrateValue(`knexConnection`,connection.client.config);throw TypeError(`Cannot dehydrate unexpected type of Knex connection`)},rehydrateKnexConnection=dehydrated=>{let db=knex$1;return db(dehydrated._encodedValue)},rehydrateFunction=(functionString,namedBindings)=>StringifiedFunctionParser.parse(functionString,namedBindings),isReference=(obj,root$11)=>root$11.isRef(obj),rehydrateDatabaseFunction=dehydrated=>{let{_encodedValue:encodedValue}=dehydrated,{connection:dehydratedConnection,external}=encodedValue,connection=typeof dehydratedConnection==`function`&&dehydratedConnection.name===`knex`?dehydratedConnection:rehydrateKnexConnection(dehydratedConnection),rehydratedMethod=rehydrateFunction(external.method,{connection,isReference,resolveQueryBuilder});return{...external,method:rehydratedMethod}},rehydrateValue=dehydrated=>{let{_encodedType:encodedType,_encodedValue:encodedValue}=dehydrated;if(encodedType===`function`){let returnable=rehydrateFunction(encodedValue);if(typeof returnable!=`function`)throw TypeError(`Rehydrated value is not a function`);return returnable}else if(encodedType===`knexConnection`)return rehydrateKnexConnection(dehydrated);else if(encodedType===`databaseFunction`)return rehydrateDatabaseFunction(dehydrated);return encodedValue},isDatabaseRelatedFunction=fn$1=>{let functionString=fn$1.toString();return functionString.includes(`connection =`)&&functionString.includes(`.knexConnection`)},isExternalsWithDatabaseRelatedFunctionality=obj=>Array.isArray(obj)&&obj.some(item=>isPlainObject(item)&&`method`in item&&typeof item.method==`function`&&isDatabaseRelatedFunction(item.method)),hasExternalsWithDatabaseRelatedFunctionality=obj=>isPlainObject(obj)&&`externals`in obj&&isExternalsWithDatabaseRelatedFunctionality(obj.externals),encode=(schema$2,options={})=>{let opts={...defaultEncoderOptions,...options},description$2=schema$2.describe();for(let key in description$2.keys){if(description$2.keys[key]===void 0||description$2.keys[key].rules===void 0)continue;description$2.keys[key].rules=description$2.keys[key].rules.map(rule=>{for(let argKey in rule.args){let value=rule.args[argKey];value instanceof Phone&&(rule.args[argKey]=value.e164)}return rule})}let json$1=JSON.stringify({version:`1.20251103.1`,schema:description$2},(key,value)=>{if(typeof value==`bigint`)return value.toString();if(value===void 0)return null;if(value instanceof DateTime)return value.toObject();if(value instanceof Date)return DateTime.fromJSDate(value).toObject();if(hasExternalsWithDatabaseRelatedFunctionality(value)){let connection=value.flags.knexConnection;value.externals=value.externals.filter(external=>!(isDatabaseRelatedFunction(external.method)&&!opts.withDatabase)).map(external=>{if(isDatabaseRelatedFunction(external.method))return dehydrateValue(`databaseFunction`,{external:{...external,method:external.method.toString()},connection:dehydrateKnexConnection(connection)})})}return key===`knexConnection`?opts.withDatabase?dehydrateKnexConnection(value):void 0:typeof value==`function`?isDatabaseRelatedFunction(value)&&!opts.withDatabase?dehydrateValue(`function`,()=>{}):dehydrateValue(`function`,value):value});return utoa(json$1)},decode=(base64,options={})=>{let opts={...defaultEncoderOptions,...options},json$1=atou(base64),description$2=JSON.parse(json$1,(_,value)=>!opts.withDatabase&&isPlainObject(value)&&`knexConnection`in value?(delete value.knexConnection,value):isDehydratedValue(value)?rehydrateValue(value):value);if(!isPlainObject(description$2)||!(`version`in description$2)||!(`schema`in description$2)||typeof description$2.version!=`string`||!isPlainObject(description$2.schema))throw TypeError(`Not a valid encoded schema`);let{version:schemaVersion,schema:schema$2}=description$2;if(import_semver.valid(`1.20251103.1`)){if(!import_semver.valid(import_semver.coerce(schemaVersion)))throw TypeError(`Invalid schema version: ${schemaVersion}`);if(import_semver.gt(import_semver.coerce(schemaVersion),`1.20251103.1`))throw TypeError(`Schema version ${schemaVersion} is not compatible with current version 1.20251103.1`)}return validator.build(schema$2)},Joi=RootFactory.create({schemaTypeModifiers:[knex,fqdn],shortcutsModifiers:[]}),validator=patch(Joi.extend(bigint).extend(datetime).extend(phone)),TLDS=`AAA.AARP.ABB.ABBOTT.ABBVIE.ABC.ABLE.ABOGADO.ABUDHABI.AC.ACADEMY.ACCENTURE.ACCOUNTANT.ACCOUNTANTS.ACO.ACTOR.AD.ADS.ADULT.AE.AEG.AERO.AETNA.AF.AFL.AFRICA.AG.AGAKHAN.AGENCY.AI.AIG.AIRBUS.AIRFORCE.AIRTEL.AKDN.AL.ALIBABA.ALIPAY.ALLFINANZ.ALLSTATE.ALLY.ALSACE.ALSTOM.AM.AMAZON.AMERICANEXPRESS.AMERICANFAMILY.AMEX.AMFAM.AMICA.AMSTERDAM.ANALYTICS.ANDROID.ANQUAN.ANZ.AO.AOL.APARTMENTS.APP.APPLE.AQ.AQUARELLE.AR.ARAB.ARAMCO.ARCHI.ARMY.ARPA.ART.ARTE.AS.ASDA.ASIA.ASSOCIATES.AT.ATHLETA.ATTORNEY.AU.AUCTION.AUDI.AUDIBLE.AUDIO.AUSPOST.AUTHOR.AUTO.AUTOS.AW.AWS.AX.AXA.AZ.AZURE.BA.BABY.BAIDU.BANAMEX.BAND.BANK.BAR.BARCELONA.BARCLAYCARD.BARCLAYS.BAREFOOT.BARGAINS.BASEBALL.BASKETBALL.BAUHAUS.BAYERN.BB.BBC.BBT.BBVA.BCG.BCN.BD.BE.BEATS.BEAUTY.BEER.BERLIN.BEST.BESTBUY.BET.BF.BG.BH.BHARTI.BI.BIBLE.BID.BIKE.BING.BINGO.BIO.BIZ.BJ.BLACK.BLACKFRIDAY.BLOCKBUSTER.BLOG.BLOOMBERG.BLUE.BM.BMS.BMW.BN.BNPPARIBAS.BO.BOATS.BOEHRINGER.BOFA.BOM.BOND.BOO.BOOK.BOOKING.BOSCH.BOSTIK.BOSTON.BOT.BOUTIQUE.BOX.BR.BRADESCO.BRIDGESTONE.BROADWAY.BROKER.BROTHER.BRUSSELS.BS.BT.BUILD.BUILDERS.BUSINESS.BUY.BUZZ.BV.BW.BY.BZ.BZH.CA.CAB.CAFE.CAL.CALL.CALVINKLEIN.CAM.CAMERA.CAMP.CANON.CAPETOWN.CAPITAL.CAPITALONE.CAR.CARAVAN.CARDS.CARE.CAREER.CAREERS.CARS.CASA.CASE.CASH.CASINO.CAT.CATERING.CATHOLIC.CBA.CBN.CBRE.CC.CD.CENTER.CEO.CERN.CF.CFA.CFD.CG.CH.CHANEL.CHANNEL.CHARITY.CHASE.CHAT.CHEAP.CHINTAI.CHRISTMAS.CHROME.CHURCH.CI.CIPRIANI.CIRCLE.CISCO.CITADEL.CITI.CITIC.CITY.CK.CL.CLAIMS.CLEANING.CLICK.CLINIC.CLINIQUE.CLOTHING.CLOUD.CLUB.CLUBMED.CM.CN.CO.COACH.CODES.COFFEE.COLLEGE.COLOGNE.COM.COMMBANK.COMMUNITY.COMPANY.COMPARE.COMPUTER.COMSEC.CONDOS.CONSTRUCTION.CONSULTING.CONTACT.CONTRACTORS.COOKING.COOL.COOP.CORSICA.COUNTRY.COUPON.COUPONS.COURSES.CPA.CR.CREDIT.CREDITCARD.CREDITUNION.CRICKET.CROWN.CRS.CRUISE.CRUISES.CU.CUISINELLA.CV.CW.CX.CY.CYMRU.CYOU.CZ.DAD.DANCE.DATA.DATE.DATING.DATSUN.DAY.DCLK.DDS.DE.DEAL.DEALER.DEALS.DEGREE.DELIVERY.DELL.DELOITTE.DELTA.DEMOCRAT.DENTAL.DENTIST.DESI.DESIGN.DEV.DHL.DIAMONDS.DIET.DIGITAL.DIRECT.DIRECTORY.DISCOUNT.DISCOVER.DISH.DIY.DJ.DK.DM.DNP.DO.DOCS.DOCTOR.DOG.DOMAINS.DOT.DOWNLOAD.DRIVE.DTV.DUBAI.DUPONT.DURBAN.DVAG.DVR.DZ.EARTH.EAT.EC.ECO.EDEKA.EDU.EDUCATION.EE.EG.EMAIL.EMERCK.ENERGY.ENGINEER.ENGINEERING.ENTERPRISES.EPSON.EQUIPMENT.ER.ERICSSON.ERNI.ES.ESQ.ESTATE.ET.EU.EUROVISION.EUS.EVENTS.EXCHANGE.EXPERT.EXPOSED.EXPRESS.EXTRASPACE.FAGE.FAIL.FAIRWINDS.FAITH.FAMILY.FAN.FANS.FARM.FARMERS.FASHION.FAST.FEDEX.FEEDBACK.FERRARI.FERRERO.FI.FIDELITY.FIDO.FILM.FINAL.FINANCE.FINANCIAL.FIRE.FIRESTONE.FIRMDALE.FISH.FISHING.FIT.FITNESS.FJ.FK.FLICKR.FLIGHTS.FLIR.FLORIST.FLOWERS.FLY.FM.FO.FOO.FOOD.FOOTBALL.FORD.FOREX.FORSALE.FORUM.FOUNDATION.FOX.FR.FREE.FRESENIUS.FRL.FROGANS.FRONTIER.FTR.FUJITSU.FUN.FUND.FURNITURE.FUTBOL.FYI.GA.GAL.GALLERY.GALLO.GALLUP.GAME.GAMES.GAP.GARDEN.GAY.GB.GBIZ.GD.GDN.GE.GEA.GENT.GENTING.GEORGE.GF.GG.GGEE.GH.GI.GIFT.GIFTS.GIVES.GIVING.GL.GLASS.GLE.GLOBAL.GLOBO.GM.GMAIL.GMBH.GMO.GMX.GN.GODADDY.GOLD.GOLDPOINT.GOLF.GOO.GOODYEAR.GOOG.GOOGLE.GOP.GOT.GOV.GP.GQ.GR.GRAINGER.GRAPHICS.GRATIS.GREEN.GRIPE.GROCERY.GROUP.GS.GT.GU.GUCCI.GUGE.GUIDE.GUITARS.GURU.GW.GY.HAIR.HAMBURG.HANGOUT.HAUS.HBO.HDFC.HDFCBANK.HEALTH.HEALTHCARE.HELP.HELSINKI.HERE.HERMES.HIPHOP.HISAMITSU.HITACHI.HIV.HK.HKT.HM.HN.HOCKEY.HOLDINGS.HOLIDAY.HOMEDEPOT.HOMEGOODS.HOMES.HOMESENSE.HONDA.HORSE.HOSPITAL.HOST.HOSTING.HOT.HOTELS.HOTMAIL.HOUSE.HOW.HR.HSBC.HT.HU.HUGHES.HYATT.HYUNDAI.IBM.ICBC.ICE.ICU.ID.IE.IEEE.IFM.IKANO.IL.IM.IMAMAT.IMDB.IMMO.IMMOBILIEN.IN.INC.INDUSTRIES.INFINITI.INFO.ING.INK.INSTITUTE.INSURANCE.INSURE.INT.INTERNATIONAL.INTUIT.INVESTMENTS.IO.IPIRANGA.IQ.IR.IRISH.IS.ISMAILI.IST.ISTANBUL.IT.ITAU.ITV.JAGUAR.JAVA.JCB.JE.JEEP.JETZT.JEWELRY.JIO.JLL.JM.JMP.JNJ.JO.JOBS.JOBURG.JOT.JOY.JP.JPMORGAN.JPRS.JUEGOS.JUNIPER.KAUFEN.KDDI.KE.KERRYHOTELS.KERRYPROPERTIES.KFH.KG.KH.KI.KIA.KIDS.KIM.KINDLE.KITCHEN.KIWI.KM.KN.KOELN.KOMATSU.KOSHER.KP.KPMG.KPN.KR.KRD.KRED.KUOKGROUP.KW.KY.KYOTO.KZ.LA.LACAIXA.LAMBORGHINI.LAMER.LAND.LANDROVER.LANXESS.LASALLE.LAT.LATINO.LATROBE.LAW.LAWYER.LB.LC.LDS.LEASE.LECLERC.LEFRAK.LEGAL.LEGO.LEXUS.LGBT.LI.LIDL.LIFE.LIFEINSURANCE.LIFESTYLE.LIGHTING.LIKE.LILLY.LIMITED.LIMO.LINCOLN.LINK.LIVE.LIVING.LK.LLC.LLP.LOAN.LOANS.LOCKER.LOCUS.LOL.LONDON.LOTTE.LOTTO.LOVE.LPL.LPLFINANCIAL.LR.LS.LT.LTD.LTDA.LU.LUNDBECK.LUXE.LUXURY.LV.LY.MA.MADRID.MAIF.MAISON.MAKEUP.MAN.MANAGEMENT.MANGO.MAP.MARKET.MARKETING.MARKETS.MARRIOTT.MARSHALLS.MATTEL.MBA.MC.MCKINSEY.MD.ME.MED.MEDIA.MEET.MELBOURNE.MEME.MEMORIAL.MEN.MENU.MERCKMSD.MG.MH.MIAMI.MICROSOFT.MIL.MINI.MINT.MIT.MITSUBISHI.MK.ML.MLB.MLS.MM.MMA.MN.MO.MOBI.MOBILE.MODA.MOE.MOI.MOM.MONASH.MONEY.MONSTER.MORMON.MORTGAGE.MOSCOW.MOTO.MOTORCYCLES.MOV.MOVIE.MP.MQ.MR.MS.MSD.MT.MTN.MTR.MU.MUSEUM.MUSIC.MV.MW.MX.MY.MZ.NA.NAB.NAGOYA.NAME.NAVY.NBA.NC.NE.NEC.NET.NETBANK.NETFLIX.NETWORK.NEUSTAR.NEW.NEWS.NEXT.NEXTDIRECT.NEXUS.NF.NFL.NG.NGO.NHK.NI.NICO.NIKE.NIKON.NINJA.NISSAN.NISSAY.NL.NO.NOKIA.NORTON.NOW.NOWRUZ.NOWTV.NP.NR.NRA.NRW.NTT.NU.NYC.NZ.OBI.OBSERVER.OFFICE.OKINAWA.OLAYAN.OLAYANGROUP.OLLO.OM.OMEGA.ONE.ONG.ONL.ONLINE.OOO.OPEN.ORACLE.ORANGE.ORG.ORGANIC.ORIGINS.OSAKA.OTSUKA.OTT.OVH.PA.PAGE.PANASONIC.PARIS.PARS.PARTNERS.PARTS.PARTY.PAY.PCCW.PE.PET.PF.PFIZER.PG.PH.PHARMACY.PHD.PHILIPS.PHONE.PHOTO.PHOTOGRAPHY.PHOTOS.PHYSIO.PICS.PICTET.PICTURES.PID.PIN.PING.PINK.PIONEER.PIZZA.PK.PL.PLACE.PLAY.PLAYSTATION.PLUMBING.PLUS.PM.PN.PNC.POHL.POKER.POLITIE.PORN.POST.PR.PRAXI.PRESS.PRIME.PRO.PROD.PRODUCTIONS.PROF.PROGRESSIVE.PROMO.PROPERTIES.PROPERTY.PROTECTION.PRU.PRUDENTIAL.PS.PT.PUB.PW.PWC.PY.QA.QPON.QUEBEC.QUEST.RACING.RADIO.RE.READ.REALESTATE.REALTOR.REALTY.RECIPES.RED.REDUMBRELLA.REHAB.REISE.REISEN.REIT.RELIANCE.REN.RENT.RENTALS.REPAIR.REPORT.REPUBLICAN.REST.RESTAURANT.REVIEW.REVIEWS.REXROTH.RICH.RICHARDLI.RICOH.RIL.RIO.RIP.RO.ROCKS.RODEO.ROGERS.ROOM.RS.RSVP.RU.RUGBY.RUHR.RUN.RW.RWE.RYUKYU.SA.SAARLAND.SAFE.SAFETY.SAKURA.SALE.SALON.SAMSCLUB.SAMSUNG.SANDVIK.SANDVIKCOROMANT.SANOFI.SAP.SARL.SAS.SAVE.SAXO.SB.SBI.SBS.SC.SCB.SCHAEFFLER.SCHMIDT.SCHOLARSHIPS.SCHOOL.SCHULE.SCHWARZ.SCIENCE.SCOT.SD.SE.SEARCH.SEAT.SECURE.SECURITY.SEEK.SELECT.SENER.SERVICES.SEVEN.SEW.SEX.SEXY.SFR.SG.SH.SHANGRILA.SHARP.SHELL.SHIA.SHIKSHA.SHOES.SHOP.SHOPPING.SHOUJI.SHOW.SI.SILK.SINA.SINGLES.SITE.SJ.SK.SKI.SKIN.SKY.SKYPE.SL.SLING.SM.SMART.SMILE.SN.SNCF.SO.SOCCER.SOCIAL.SOFTBANK.SOFTWARE.SOHU.SOLAR.SOLUTIONS.SONG.SONY.SOY.SPA.SPACE.SPORT.SPOT.SR.SRL.SS.ST.STADA.STAPLES.STAR.STATEBANK.STATEFARM.STC.STCGROUP.STOCKHOLM.STORAGE.STORE.STREAM.STUDIO.STUDY.STYLE.SU.SUCKS.SUPPLIES.SUPPLY.SUPPORT.SURF.SURGERY.SUZUKI.SV.SWATCH.SWISS.SX.SY.SYDNEY.SYSTEMS.SZ.TAB.TAIPEI.TALK.TAOBAO.TARGET.TATAMOTORS.TATAR.TATTOO.TAX.TAXI.TC.TCI.TD.TDK.TEAM.TECH.TECHNOLOGY.TEL.TEMASEK.TENNIS.TEVA.TF.TG.TH.THD.THEATER.THEATRE.TIAA.TICKETS.TIENDA.TIPS.TIRES.TIROL.TJ.TJMAXX.TJX.TK.TKMAXX.TL.TM.TMALL.TN.TO.TODAY.TOKYO.TOOLS.TOP.TORAY.TOSHIBA.TOTAL.TOURS.TOWN.TOYOTA.TOYS.TR.TRADE.TRADING.TRAINING.TRAVEL.TRAVELERS.TRAVELERSINSURANCE.TRUST.TRV.TT.TUBE.TUI.TUNES.TUSHU.TV.TVS.TW.TZ.UA.UBANK.UBS.UG.UK.UNICOM.UNIVERSITY.UNO.UOL.UPS.US.UY.UZ.VA.VACATIONS.VANA.VANGUARD.VC.VE.VEGAS.VENTURES.VERISIGN.VERSICHERUNG.VET.VG.VI.VIAJES.VIDEO.VIG.VIKING.VILLAS.VIN.VIP.VIRGIN.VISA.VISION.VIVA.VIVO.VLAANDEREN.VN.VODKA.VOLVO.VOTE.VOTING.VOTO.VOYAGE.VU.WALES.WALMART.WALTER.WANG.WANGGOU.WATCH.WATCHES.WEATHER.WEATHERCHANNEL.WEBCAM.WEBER.WEBSITE.WED.WEDDING.WEIBO.WEIR.WF.WHOSWHO.WIEN.WIKI.WILLIAMHILL.WIN.WINDOWS.WINE.WINNERS.WME.WOLTERSKLUWER.WOODSIDE.WORK.WORKS.WORLD.WOW.WS.WTC.WTF.XBOX.XEROX.XIHUAN.XIN.XN--11B4C3D.XN--1CK2E1B.XN--1QQW23A.XN--2SCRJ9C.XN--30RR7Y.XN--3BST00M.XN--3DS443G.XN--3E0B707E.XN--3HCRJ9C.XN--3PXU8K.XN--42C2D9A.XN--45BR5CYL.XN--45BRJ9C.XN--45Q11C.XN--4DBRK0CE.XN--4GBRIM.XN--54B7FTA0CC.XN--55QW42G.XN--55QX5D.XN--5SU34J936BGSG.XN--5TZM5G.XN--6FRZ82G.XN--6QQ986B3XL.XN--80ADXHKS.XN--80AO21A.XN--80AQECDR1A.XN--80ASEHDB.XN--80ASWG.XN--8Y0A063A.XN--90A3AC.XN--90AE.XN--90AIS.XN--9DBQ2A.XN--9ET52U.XN--9KRT00A.XN--B4W605FERD.XN--BCK1B9A5DRE4C.XN--C1AVG.XN--C2BR7G.XN--CCK2B3B.XN--CCKWCXETD.XN--CG4BKI.XN--CLCHC0EA0B2G2A9GCD.XN--CZR694B.XN--CZRS0T.XN--CZRU2D.XN--D1ACJ3B.XN--D1ALF.XN--E1A4C.XN--ECKVDTC9D.XN--EFVY88H.XN--FCT429K.XN--FHBEI.XN--FIQ228C5HS.XN--FIQ64B.XN--FIQS8S.XN--FIQZ9S.XN--FJQ720A.XN--FLW351E.XN--FPCRJ9C3D.XN--FZC2C9E2C.XN--FZYS8D69UVGM.XN--G2XX48C.XN--GCKR3F0F.XN--GECRJ9C.XN--GK3AT1E.XN--H2BREG3EVE.XN--H2BRJ9C.XN--H2BRJ9C8C.XN--HXT814E.XN--I1B6B1A6A2E.XN--IMR513N.XN--IO0A7I.XN--J1AEF.XN--J1AMH.XN--J6W193G.XN--JLQ480N2RG.XN--JVR189M.XN--KCRX77D1X4A.XN--KPRW13D.XN--KPRY57D.XN--KPUT3I.XN--L1ACC.XN--LGBBAT1AD8J.XN--MGB9AWBF.XN--MGBA3A3EJT.XN--MGBA3A4F16A.XN--MGBA7C0BBN0A.XN--MGBAAM7A8H.XN--MGBAB2BD.XN--MGBAH1A3HJKRD.XN--MGBAI9AZGQP6J.XN--MGBAYH7GPA.XN--MGBBH1A.XN--MGBBH1A71E.XN--MGBC0A9AZCG.XN--MGBCA7DZDO.XN--MGBCPQ6GPA1A.XN--MGBERP4A5D4AR.XN--MGBGU82A.XN--MGBI4ECEXP.XN--MGBPL2FH.XN--MGBT3DHD.XN--MGBTX2B.XN--MGBX4CD0AB.XN--MIX891F.XN--MK1BU44C.XN--MXTQ1M.XN--NGBC5AZD.XN--NGBE9E0A.XN--NGBRX.XN--NODE.XN--NQV7F.XN--NQV7FS00EMA.XN--NYQY26A.XN--O3CW4H.XN--OGBPF8FL.XN--OTU796D.XN--P1ACF.XN--P1AI.XN--PGBS0DH.XN--PSSY2U.XN--Q7CE6A.XN--Q9JYB4C.XN--QCKA1PMC.XN--QXA6A.XN--QXAM.XN--RHQV96G.XN--ROVU88B.XN--RVC1E0AM3E.XN--S9BRJ9C.XN--SES554G.XN--T60B56A.XN--TCKWE.XN--TIQ49XQYJ.XN--UNUP4Y.XN--VERMGENSBERATER-CTB.XN--VERMGENSBERATUNG-PWB.XN--VHQUV.XN--VUQ861B.XN--W4R85EL8FHU5DNRA.XN--W4RS40L.XN--WGBH1C.XN--WGBL6A.XN--XHQ521B.XN--XKC2AL3HYE2A.XN--XKC2DL3A5EE0H.XN--Y9A3AQ.XN--YFRO4I67O.XN--YGBI2AMMX.XN--ZFR164B.XXX.XYZ.YACHTS.YAHOO.YAMAXUN.YANDEX.YE.YODOBASHI.YOGA.YOKOHAMA.YOU.YOUTUBE.YT.YUN.ZA.ZAPPOS.ZARA.ZERO.ZIP.ZM.ZONE.ZUERICH.ZW`.split(`.`),tlds=new Set(TLDS.map(tld=>tld.toLowerCase()));init_esm();var import_lib=__toESM(require_lib$3()),import_lib$1=__toESM(require_lib$2()),import_lib$2=__toESM(require_lib());const version=`1.20251103.1`;var ValidationError=import_lib$2.ValidationError,location=import_lib$1.location;export{ValidationError,esm_exports as address,decode,encode,import_lib as formula,location,tlds,validator,version};
161
161
  //# sourceMappingURL=index.mjs.map