UNPKG

@js-temporal/polyfill

Version:

Polyfill for Tc39 Stage 3 proposal Temporal (https://github.com/tc39/proposal-temporal)

1 lines 193 kB
"use strict";function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var e=_interopDefaultLegacy(require("jsbi"));const t={};function MakeIntrinsicClass(e,t){Object.defineProperty(e.prototype,Symbol.toStringTag,{value:t,writable:!1,enumerable:!1,configurable:!0});for(const t of Object.getOwnPropertyNames(e)){const r=Object.getOwnPropertyDescriptor(e,t);r.configurable&&r.enumerable&&(r.enumerable=!1,Object.defineProperty(e,t,r))}for(const t of Object.getOwnPropertyNames(e.prototype)){const r=Object.getOwnPropertyDescriptor(e.prototype,t);r.configurable&&r.enumerable&&(r.enumerable=!1,Object.defineProperty(e.prototype,t,r))}DefineIntrinsic(t,e),DefineIntrinsic(`${t}.prototype`,e.prototype)}function DefineIntrinsic(e,r){const o=`%${e}%`;if(void 0!==t[o])throw new Error(`intrinsic ${e} already exists`);t[o]=r}function GetIntrinsic(e){return t[e]}const r="slot-epochNanoSeconds",o="slot-timezone-identifier",n="slot-year",a="slot-month",i="slot-day",s="slot-hour",l="slot-minute",d="slot-second",m="slot-millisecond",c="slot-microsecond",u="slot-nanosecond",h="slot-calendar",T="slot-cached-instant",p="slot-time-zone",f="slot-years",y="slot-months",S="slot-weeks",w="slot-days",g="slot-hours",I="slot-minutes",D="slot-seconds",G="slot-milliseconds",v="slot-microseconds",O="slot-nanoseconds",C="slot-calendar-identifier",E=new WeakMap;function CreateSlots(e){E.set(e,Object.create(null))}function GetSlots(e){return E.get(e)}function HasSlot(e,...t){if(!e||"object"!=typeof e)return!1;const r=GetSlots(e);return!!r&&t.reduce(((e,t)=>e&&t in r),!0)}function GetSlot(e,t){const r=GetSlots(e)[t];if(void 0===r)throw new TypeError(`Missing internal slot ${t}`);return r}function SetSlot(e,t,r){GetSlots(e)[t]=r}const b=/\.[-A-Za-z_]|\.\.[-A-Za-z._]{1,12}|\.[-A-Za-z_][-A-Za-z._]{0,12}|[A-Za-z_][-A-Za-z._]{0,13}/,M=new RegExp(`(?:(?:${b.source})(?:\\/(?:${b.source}))*|Etc/GMT[-+]\\d{1,2}|${/(?:[+\u2212-][0-2][0-9](?::?[0-5][0-9](?::?[0-5][0-9](?:[.,]\d{1,9})?)?)?)/.source})`),R=/[A-Za-z0-9]{3,8}/,Z=new RegExp(`(?:${R.source}(?:-${R.source})*)`),P=/(?:[+\u2212-]\d{6}|\d{4})/,F=/(?:0[1-9]|1[0-2])/,Y=/(?:0[1-9]|[12]\d|3[01])/,j=new RegExp(`(${P.source})(?:-(${F.source})-(${Y.source})|(${F.source})(${Y.source}))`),$=/(\d{2})(?::(\d{2})(?::(\d{2})(?:[.,](\d{1,9}))?)?|(\d{2})(?:(\d{2})(?:[.,](\d{1,9}))?)?)?/,B=/([+\u2212-])([01][0-9]|2[0-3])(?::?([0-5][0-9])(?::?([0-5][0-9])(?:[.,](\d{1,9}))?)?)?/,N=new RegExp(`(?:([zZ])|(?:${B.source})?)(?:\\[(${M.source})\\])?`),k=new RegExp(`\\[u-ca=(${Z.source})\\]`),A=new RegExp(`^${j.source}(?:(?:T|\\s+)${$.source})?${N.source}(?:${k.source})?$`,"i"),U=new RegExp(`^T?${$.source}(?:${N.source})?(?:${k.source})?$`,"i"),L=new RegExp(`^(${P.source})-?(${F.source})$`),x=new RegExp(`^(?:--)?(${F.source})-?(${Y.source})$`),H=/(\d+)(?:[.,](\d{1,9}))?/,q=new RegExp(`(?:${H.source}H)?(?:${H.source}M)?(?:${H.source}S)?`),W=new RegExp(`^([+−-])?P${/(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?/.source}(?:T(?!$)${q.source})?$`,"i"),z=Array.prototype.includes,_=Array.prototype.push,J=globalThis.Intl.DateTimeFormat,V=Math.min,X=Math.max,K=Math.abs,Q=Math.floor,ee=Math.sign,te=Math.trunc,re=Number.isNaN,oe=Number.isFinite,ne=Number,ae=String,ie=Number.MAX_SAFE_INTEGER,se=Object.assign,le=Object.create,de=Object.getOwnPropertyDescriptor,me=Object.is,ce=Reflect.apply,ue=e.default.BigInt(0),he=e.default.BigInt(1),Te=e.default.BigInt(60),pe=e.default.BigInt(1e3),fe=e.default.BigInt(1e6),ye=e.default.BigInt(1e9),Se=e.default.BigInt(-1),we=e.default.multiply(e.default.BigInt(86400),ye),ge=e.default.multiply(e.default.BigInt(-86400),e.default.BigInt(1e17)),Ie=e.default.multiply(e.default.BigInt(86400),e.default.BigInt(1e17)),De=e.default.multiply(e.default.BigInt(-388152),e.default.BigInt(1e13)),Ge=e.default.multiply(we,e.default.BigInt(3660)),ve=e.default.multiply(we,e.default.BigInt(366)),Oe=e.default.multiply(we,e.default.BigInt(14)),Ce=["iso8601","hebrew","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","islamicc","persian","ethiopic","ethioaa","coptic","chinese","dangi","roc","indian","buddhist","japanese","gregory"];function IsInteger(e){if("number"!=typeof e||!oe(e))return!1;const t=K(e);return Q(t)===t}function IsObject(e){return"object"==typeof e&&null!==e||"function"==typeof e}function ToNumber(e){if("bigint"==typeof e)throw new TypeError("Cannot convert BigInt to number");return ne(e)}function ToInteger(e){const t=ToNumber(e);if(re(t))return 0;const r=te(t);return 0===t?0:r}function ToString(e){if("symbol"==typeof e)throw new TypeError("Cannot convert a Symbol value to a String");return ae(e)}function ToIntegerThrowOnInfinity(e){const t=ToInteger(e);if(!oe(t))throw new RangeError("infinity is out of range");return t}function ToPositiveInteger(e,t){const r=ToInteger(e);if(!oe(r))throw new RangeError("infinity is out of range");if(r<1){if(void 0!==t)throw new RangeError(`property '${t}' cannot be a a number less than one`);throw new RangeError("Cannot convert a number less than one to a positive integer")}return r}function ToIntegerWithoutRounding(e){const t=ToNumber(e);if(re(t))return 0;if(!oe(t))throw new RangeError("infinity is out of range");if(!IsInteger(t))throw new RangeError(`unsupported fractional value ${t}`);return ToInteger(t)}function divmod(t,r){return{quotient:e.default.divide(t,r),remainder:e.default.remainder(t,r)}}function abs(t){return e.default.lessThan(t,ue)?e.default.multiply(t,Se):t}function ArrayPush(e,...t){return _.apply(e,t),e}const Ee=new Map([["year",ToIntegerThrowOnInfinity],["month",ToPositiveInteger],["monthCode",ToString],["day",ToPositiveInteger],["hour",ToIntegerThrowOnInfinity],["minute",ToIntegerThrowOnInfinity],["second",ToIntegerThrowOnInfinity],["millisecond",ToIntegerThrowOnInfinity],["microsecond",ToIntegerThrowOnInfinity],["nanosecond",ToIntegerThrowOnInfinity],["years",ToIntegerWithoutRounding],["months",ToIntegerWithoutRounding],["weeks",ToIntegerWithoutRounding],["days",ToIntegerWithoutRounding],["hours",ToIntegerWithoutRounding],["minutes",ToIntegerWithoutRounding],["seconds",ToIntegerWithoutRounding],["milliseconds",ToIntegerWithoutRounding],["microseconds",ToIntegerWithoutRounding],["nanoseconds",ToIntegerWithoutRounding],["era",ToString],["eraYear",ToInteger],["offset",ToString]]),be=new Map([["hour",0],["minute",0],["second",0],["millisecond",0],["microsecond",0],["nanosecond",0]]),Me=[["years","year","date"],["months","month","date"],["weeks","week","date"],["days","day","date"],["hours","hour","time"],["minutes","minute","time"],["seconds","second","time"],["milliseconds","millisecond","time"],["microseconds","microsecond","time"],["nanoseconds","nanosecond","time"]],Re=new Map(Me.map((e=>[e[0],e[1]]))),Ze=new Map(Me.map((([e,t])=>[t,e]))),Pe=Me.map((([,e])=>e)),Fe=Array.from(Re.keys()).sort(),Ye=new Map;function getIntlDateTimeFormatEnUsForTimeZone(e){let t=Ye.get(e);return void 0===t&&(t=new J("en-us",{timeZone:ae(e),hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),Ye.set(e,t)),t}function IsTemporalInstant(e){return HasSlot(e,r)&&!HasSlot(e,p,h)}function IsTemporalTimeZone(e){return HasSlot(e,o)}function IsTemporalCalendar(e){return HasSlot(e,C)}function IsTemporalDuration(e){return HasSlot(e,f,y,w,g,I,D,G,v,O)}function IsTemporalDate(e){return HasSlot(e,"slot-date-brand")}function IsTemporalTime(e){return HasSlot(e,s,l,d,m,c,u)&&!HasSlot(e,n,a,i)}function IsTemporalDateTime(e){return HasSlot(e,n,a,i,s,l,d,m,c,u)}function IsTemporalYearMonth(e){return HasSlot(e,"slot-year-month-brand")}function IsTemporalMonthDay(e){return HasSlot(e,"slot-month-day-brand")}function IsTemporalZonedDateTime(e){return HasSlot(e,r,p,h)}function RejectObjectWithCalendarOrTimeZone(e){if(HasSlot(e,h)||HasSlot(e,p))throw new TypeError("with() does not support a calendar or timeZone property");if(void 0!==e.calendar)throw new TypeError("with() does not support a calendar property");if(void 0!==e.timeZone)throw new TypeError("with() does not support a timeZone property")}function ParseTemporalTimeZone(e){let{ianaName:t,offset:r,z:o}=function ParseTemporalTimeZoneString(e){try{let t=GetCanonicalTimeZoneIdentifier(e);if(t)return{ianaName:t.toString()}}catch{}try{const t=ParseISODateTime(e);if(t.z||t.offset||t.ianaName)return t}catch{}throw new RangeError(`Invalid time zone: ${e}`)}(e);return t||(o?"UTC":r)}function FormatCalendarAnnotation(e,t){return"never"===t||"auto"===t&&"iso8601"===e?"":`[u-ca=${e}]`}function ParseISODateTime(e){const t=A.exec(e);if(!t)throw new RangeError(`invalid ISO 8601 string: ${e}`);let r=t[1];if("−"===r[0]&&(r=`-${r.slice(1)}`),"-000000"===r)throw new RangeError(`invalid ISO 8601 string: ${e}`);const o=ToInteger(r),n=ToInteger(t[2]||t[4]),a=ToInteger(t[3]||t[5]),i=ToInteger(t[6]),s=void 0!==t[6],l=ToInteger(t[7]||t[10]);let d=ToInteger(t[8]||t[11]);60===d&&(d=59);const m=(t[9]||t[12])+"000000000",c=ToInteger(m.slice(0,3)),u=ToInteger(m.slice(3,6)),h=ToInteger(m.slice(6,9));let T,p=!1;if(t[13])T=void 0,p=!0;else if(t[14]&&t[15]){const e="-"===t[14]||"−"===t[14]?"-":"+",r=t[15]||"00",o=t[16]||"00",n=t[17]||"00";let a=t[18]||"0";if(T=`${e}${r}:${o}`,+a){for(;a.endsWith("0");)a=a.slice(0,-1);T+=`:${n}.${a}`}else+n&&(T+=`:${n}`);"-00:00"===T&&(T="+00:00")}let f=t[19];if(f)try{f=GetCanonicalTimeZoneIdentifier(f).toString()}catch{}const y=t[20];return RejectDateTime(o,n,a,i,l,d,c,u,h),{year:o,month:n,day:a,hasTime:s,hour:i,minute:l,second:d,millisecond:c,microsecond:u,nanosecond:h,ianaName:f,offset:T,z:p,calendar:y}}function ParseTemporalYearMonthString(e){const t=L.exec(e);let r,o,n,a;if(t){let a=t[1];if("−"===a[0]&&(a=`-${a.slice(1)}`),"-000000"===a)throw new RangeError(`invalid ISO 8601 string: ${e}`);r=ToInteger(a),o=ToInteger(t[2]),n=t[3]}else{let t;if(({year:r,month:o,calendar:n,day:a,z:t}=ParseISODateTime(e)),t)throw new RangeError("Z designator not supported for PlainYearMonth")}return{year:r,month:o,calendar:n,referenceISODay:a}}function ParseTemporalMonthDayString(e){const t=x.exec(e);let r,o,n,a;if(t)r=ToInteger(t[1]),o=ToInteger(t[2]);else{let t;if(({month:r,day:o,calendar:n,year:a,z:t}=ParseISODateTime(e)),t)throw new RangeError("Z designator not supported for PlainMonthDay")}return{month:r,day:o,calendar:n,referenceISOYear:a}}function ParseTemporalDurationString(e){const t=W.exec(e);if(!t)throw new RangeError(`invalid duration: ${e}`);if(t.slice(2).every((e=>void 0===e)))throw new RangeError(`invalid duration: ${e}`);const r="-"===t[1]||"−"===t[1]?-1:1,o=ToInteger(t[2])*r,n=ToInteger(t[3])*r,a=ToInteger(t[4])*r,i=ToInteger(t[5])*r,s=ToInteger(t[6])*r;let l=t[7],d=ToInteger(t[8])*r,m=t[9],c=ToInteger(t[10])*r;const u=t[11]+"000000000";let h=ToInteger(u.slice(0,3))*r,T=ToInteger(u.slice(3,6))*r,p=ToInteger(u.slice(6,9))*r;return l=l?r*ToInteger(l)/10**l.length:0,m=m?r*ToInteger(m)/10**m.length:0,({minutes:d,seconds:c,milliseconds:h,microseconds:T,nanoseconds:p}=function DurationHandleFractions(e,t,r,o,n,a,i){let s=e,l=t,d=r,m=o,c=n,u=a,h=i;if(0!==s){[l,d,m,c,u,h].forEach((e=>{if(0!==e)throw new RangeError("only the smallest unit can be fractional")}));const e=60*s;l=te(e),d=e%1}if(0!==d){[m,c,u,h].forEach((e=>{if(0!==e)throw new RangeError("only the smallest unit can be fractional")}));const e=60*d;m=te(e);const t=e%1;if(0!==t){const e=1e3*t;c=te(e);const r=e%1;if(0!==r){const e=1e3*r;u=te(e);const t=e%1;if(0!==t){h=te(1e3*t)}}}}return{minutes:l,seconds:m,milliseconds:c,microseconds:u,nanoseconds:h}}(l,d,m,c,h,T,p)),RejectDuration(o,n,a,i,s,d,c,h,T,p),{years:o,months:n,weeks:a,days:i,hours:s,minutes:d,seconds:c,milliseconds:h,microseconds:T,nanoseconds:p}}function ParseTemporalInstant(e){let{year:t,month:r,day:o,hour:n,minute:a,second:i,millisecond:s,microsecond:l,nanosecond:d,offset:m,z:c}=function ParseTemporalInstantString(e){const t=ParseISODateTime(e);if(!t.z&&!t.offset)throw new RangeError("Temporal.Instant requires a time zone offset");return t}(e);if(!c&&!m)throw new RangeError("Temporal.Instant requires a time zone offset");const u=c?0:ParseTimeZoneOffsetString(m);({year:t,month:r,day:o,hour:n,minute:a,second:i,millisecond:s,microsecond:l,nanosecond:d}=BalanceISODateTime(t,r,o,n,a,i,s,l,d-u));const h=GetEpochFromISOParts(t,r,o,n,a,i,s,l,d);if(null===h)throw new RangeError("DateTime outside of supported range");return h}function RegulateISODate(e,t,r,o){let n=e,a=t,i=r;switch(o){case"reject":RejectISODate(n,a,i);break;case"constrain":({year:n,month:a,day:i}=ConstrainISODate(n,a,i))}return{year:n,month:a,day:i}}function RegulateTime(e,t,r,o,n,a,i){let s=e,l=t,d=r,m=o,c=n,u=a;switch(i){case"reject":RejectTime(s,l,d,m,c,u);break;case"constrain":({hour:s,minute:l,second:d,millisecond:m,microsecond:c,nanosecond:u}=function ConstrainTime(e,t,r,o,n,a){const i=ConstrainToRange(e,0,23),s=ConstrainToRange(t,0,59),l=ConstrainToRange(r,0,59),d=ConstrainToRange(o,0,999),m=ConstrainToRange(n,0,999),c=ConstrainToRange(a,0,999);return{hour:i,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}}(s,l,d,m,c,u))}return{hour:s,minute:l,second:d,millisecond:m,microsecond:c,nanosecond:u}}function ToTemporalDurationRecord(e){if(!IsObject(e))return ParseTemporalDurationString(ToString(e));if(IsTemporalDuration(e))return{years:GetSlot(e,f),months:GetSlot(e,y),weeks:GetSlot(e,S),days:GetSlot(e,w),hours:GetSlot(e,g),minutes:GetSlot(e,I),seconds:GetSlot(e,D),milliseconds:GetSlot(e,G),microseconds:GetSlot(e,v),nanoseconds:GetSlot(e,O)};const t={years:0,months:0,weeks:0,days:0,hours:0,minutes:0,seconds:0,milliseconds:0,microseconds:0,nanoseconds:0};let r=function ToTemporalPartialDurationRecord(e){if(!IsObject(e))throw new TypeError("invalid duration-like");const t={years:void 0,months:void 0,weeks:void 0,days:void 0,hours:void 0,minutes:void 0,seconds:void 0,milliseconds:void 0,microseconds:void 0,nanoseconds:void 0};let r=!1;for(const o of Fe){const n=e[o];void 0!==n&&(r=!0,t[o]=ToIntegerWithoutRounding(n))}if(!r)throw new TypeError("invalid duration-like");return t}(e);for(const e of Fe){const o=r[e];void 0!==o&&(t[e]=o)}let{years:o,months:n,weeks:a,days:i,hours:s,minutes:l,seconds:d,milliseconds:m,microseconds:c,nanoseconds:u}=t;return RejectDuration(o,n,a,i,s,l,d,m,c,u),{years:o,months:n,weeks:a,days:i,hours:s,minutes:l,seconds:d,milliseconds:m,microseconds:c,nanoseconds:u}}function ToTemporalOverflow(e){return void 0===e?"constrain":GetOption(e,"overflow",["constrain","reject"],"constrain")}function ToTemporalDisambiguation(e){return void 0===e?"compatible":GetOption(e,"disambiguation",["compatible","earlier","later","reject"],"compatible")}function ToTemporalRoundingMode(e,t){return GetOption(e,"roundingMode",["ceil","floor","trunc","halfExpand"],t)}function NegateTemporalRoundingMode(e){switch(e){case"ceil":return"floor";case"floor":return"ceil";default:return e}}function ToTemporalOffset(e,t){return void 0===e?t:GetOption(e,"offset",["prefer","use","ignore","reject"],t)}function ToShowCalendarOption(e){return GetOption(e,"calendarName",["auto","always","never"],"auto")}function ToTemporalRoundingIncrement(e,t,r){let o=1/0;void 0!==t&&(o=t),r||void 0===t||(o=t>1?t-1:1);const n=function GetNumberOption(e,t,r,o,n){let a=e[t];if(void 0===a)return n;const i=ToNumber(a);if(re(i)||i<r||i>o)throw new RangeError(`${String(t)} must be between ${r} and ${o}, not ${i}`);return Q(i)}(e,"roundingIncrement",1,o,1);if(void 0!==t&&t%n!=0)throw new RangeError(`Rounding increment must divide evenly into ${t}`);return n}function ToTemporalDateTimeRoundingIncrement(e,t){return ToTemporalRoundingIncrement(e,{year:void 0,month:void 0,week:void 0,day:void 0,hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[t],!1)}function ToSecondsStringPrecision(e){const t=GetTemporalUnit(e,"smallestUnit","time",void 0);if("hour"===t){const e=Me.reduce(((e,[t,r,o])=>("time"===o&&"hour"!==r&&e.push(r,t),e)),[]);throw new RangeError(`smallestUnit must be one of ${e.join(", ")}, not ${t}`)}switch(t){case"minute":return{precision:"minute",unit:"minute",increment:1};case"second":return{precision:0,unit:"second",increment:1};case"millisecond":return{precision:3,unit:"millisecond",increment:1};case"microsecond":return{precision:6,unit:"microsecond",increment:1};case"nanosecond":return{precision:9,unit:"nanosecond",increment:1}}let r=e.fractionalSecondDigits;if(void 0===r&&(r="auto"),"number"!=typeof r){const e=ToString(r);if("auto"===e)return{precision:"auto",unit:"nanosecond",increment:1};throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${e}`)}if(re(r)||r<0||r>9)throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${r}`);const o=Q(r);switch(o){case 0:return{precision:o,unit:"second",increment:1};case 1:case 2:case 3:return{precision:o,unit:"millisecond",increment:10**(3-o)};case 4:case 5:case 6:return{precision:o,unit:"microsecond",increment:10**(6-o)};case 7:case 8:case 9:return{precision:o,unit:"nanosecond",increment:10**(9-o)};default:throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${r}`)}}const je=Symbol("~required~");function GetTemporalUnit(e,t,r,o,n=[]){const a=[];for(const[,e,t]of Me)"datetime"!==r&&r!==t||a.push(e);a.push(...n);let i=o;i===je?i=void 0:void 0!==i&&a.push(i);const s=[...a];for(const e of a){const t=Ze.get(e);void 0!==t&&s.push(t)}let l=GetOption(e,t,s,i);if(void 0===l&&o===je)throw new RangeError(`${t} is required`);return Re.has(l)?Re.get(l):l}function ToRelativeTemporalObject(e){const t=e.relativeTo;if(void 0===t)return t;let r,o,n,a,i,s,l,d,m,c,u,h,T="option",p=!1;if(IsObject(t)){if(IsTemporalZonedDateTime(t)||IsTemporalDate(t))return t;if(IsTemporalDateTime(t))return TemporalDateTimeToDate(t);c=GetTemporalCalendarWithISODefault(t);const e=PrepareTemporalFields(t,CalendarFields(c,["day","hour","microsecond","millisecond","minute","month","monthCode","nanosecond","second","year"]),[]),p=le(null);p.overflow="constrain",({year:r,month:o,day:n,hour:a,minute:i,second:s,millisecond:l,microsecond:d,nanosecond:m}=InterpretTemporalDateTimeFields(c,e,p)),h=t.offset,void 0===h&&(T="wall"),u=t.timeZone}else{let e,f;({year:r,month:o,day:n,hour:a,minute:i,second:s,millisecond:l,microsecond:d,nanosecond:m,calendar:c,ianaName:e,offset:h,z:f}=ParseISODateTime(ToString(t))),e&&(u=e),f?T="exact":h||(T="wall"),c||(c=GetISO8601Calendar()),c=ToTemporalCalendar(c),p=!0}if(void 0!==u){u=ToTemporalTimeZone(u);let e=0;"option"===T&&(e=ParseTimeZoneOffsetString(ToString(h)));return CreateTemporalZonedDateTime(InterpretISODateTimeOffset(r,o,n,a,i,s,l,d,m,T,e,u,"compatible","reject",p),u,c)}return CreateTemporalDate(r,o,n,c)}function DefaultTemporalLargestUnit(e,t,r,o,n,a,i,s,l,d){for(const[m,c]of[["years",e],["months",t],["weeks",r],["days",o],["hours",n],["minutes",a],["seconds",i],["milliseconds",s],["microseconds",l],["nanoseconds",d]])if(0!==c)return Re.get(m);return"nanosecond"}function LargerOfTwoTemporalUnits(e,t){return Pe.indexOf(e)>Pe.indexOf(t)?t:e}function MergeLargestUnitOption(e,t){let r=e;return void 0===r&&(r=le(null)),se(le(null),r,{largestUnit:t})}function PrepareTemporalFields(e,t,r,{emptySourceErrorMessage:o}={emptySourceErrorMessage:"no supported properties found"}){const n=le(null);let a=!1;for(const o of t){let t=e[o];if(void 0!==t)a=!0,Ee.has(o)&&(t=Ee.get(o)(t)),n[o]=t;else if("partial"!==r){if(z.call(r,o))throw new TypeError(`required property '${o}' missing or undefined`);t=be.get(o),n[o]=t}}if("partial"===r&&!a)throw new TypeError(o);if(void 0===n.era!=(void 0===n.eraYear))throw new RangeError("properties 'era' and 'eraYear' must be provided together");return n}function ToTemporalTimeRecord(e,t="complete"){const r=["hour","microsecond","millisecond","minute","nanosecond","second"],o=PrepareTemporalFields(e,r,"partial",{emptySourceErrorMessage:"invalid time-like"}),n={};for(const e of r){const r=de(o,e);void 0!==r?n[e]=r.value:"complete"===t&&(n[e]=0)}return n}function ToTemporalDate(e,t){let r=e;if(IsObject(r)){if(IsTemporalDate(r))return r;if(IsTemporalZonedDateTime(r)&&(ToTemporalOverflow(t),r=BuiltinTimeZoneGetPlainDateTimeFor(GetSlot(r,p),GetSlot(r,T),GetSlot(r,h))),IsTemporalDateTime(r))return ToTemporalOverflow(t),CreateTemporalDate(GetSlot(r,n),GetSlot(r,a),GetSlot(r,i),GetSlot(r,h));const e=GetTemporalCalendarWithISODefault(r);return CalendarDateFromFields(e,PrepareTemporalFields(r,CalendarFields(e,["day","month","monthCode","year"]),[]),t)}ToTemporalOverflow(t);const{year:o,month:s,day:l,calendar:d,z:m}=function ParseTemporalDateString(e){return ParseISODateTime(e)}(ToString(r));if(m)throw new RangeError("Z designator not supported for PlainDate");return new(GetIntrinsic("%Temporal.PlainDate%"))(o,s,l,d)}function InterpretTemporalDateTimeFields(e,t,r){let{hour:o,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}=ToTemporalTimeRecord(t);const u=ToTemporalOverflow(r),h=CalendarDateFromFields(e,t,r),T=GetSlot(h,n),p=GetSlot(h,a),f=GetSlot(h,i);return({hour:o,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}=RegulateTime(o,s,l,d,m,c,u)),{year:T,month:p,day:f,hour:o,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}}function ToTemporalDateTime(e,t){let r,o,s,l,d,m,c,u,f,y;if(IsObject(e)){if(IsTemporalDateTime(e))return e;if(IsTemporalZonedDateTime(e))return ToTemporalOverflow(t),BuiltinTimeZoneGetPlainDateTimeFor(GetSlot(e,p),GetSlot(e,T),GetSlot(e,h));if(IsTemporalDate(e))return ToTemporalOverflow(t),CreateTemporalDateTime(GetSlot(e,n),GetSlot(e,a),GetSlot(e,i),0,0,0,0,0,0,GetSlot(e,h));y=GetTemporalCalendarWithISODefault(e);const S=PrepareTemporalFields(e,CalendarFields(y,["day","hour","microsecond","millisecond","minute","month","monthCode","nanosecond","second","year"]),[]);({year:r,month:o,day:s,hour:l,minute:d,second:m,millisecond:c,microsecond:u,nanosecond:f}=InterpretTemporalDateTimeFields(y,S,t))}else{let n;if(ToTemporalOverflow(t),({year:r,month:o,day:s,hour:l,minute:d,second:m,millisecond:c,microsecond:u,nanosecond:f,calendar:y,z:n}=function ParseTemporalDateTimeString(e){return ParseISODateTime(e)}(ToString(e))),n)throw new RangeError("Z designator not supported for PlainDateTime");RejectDateTime(r,o,s,l,d,m,c,u,f),void 0===y&&(y=GetISO8601Calendar()),y=ToTemporalCalendar(y)}return CreateTemporalDateTime(r,o,s,l,d,m,c,u,f,y)}function ToTemporalDuration(e){if(IsTemporalDuration(e))return e;let{years:t,months:r,weeks:o,days:n,hours:a,minutes:i,seconds:s,milliseconds:l,microseconds:d,nanoseconds:m}=ToTemporalDurationRecord(e);return new(GetIntrinsic("%Temporal.Duration%"))(t,r,o,n,a,i,s,l,d,m)}function ToTemporalInstant(e){if(IsTemporalInstant(e))return e;if(IsTemporalZonedDateTime(e)){return new(GetIntrinsic("%Temporal.Instant%"))(GetSlot(e,r))}const t=ParseTemporalInstant(ToString(e));return new(GetIntrinsic("%Temporal.Instant%"))(t)}function ToTemporalMonthDay(e,t){let r=e;if(IsObject(r)){if(IsTemporalMonthDay(r))return r;let e,o;if(HasSlot(r,h))e=GetSlot(r,h),o=!1;else{let t=r.calendar;o=void 0===t,void 0===t&&(t=GetISO8601Calendar()),e=ToTemporalCalendar(t)}r=r;const n=PrepareTemporalFields(r,CalendarFields(e,["day","month","monthCode","year"]),[]);return o&&void 0!==n.month&&void 0===n.monthCode&&void 0===n.year&&(n.year=1972),CalendarMonthDayFromFields(e,n,t)}ToTemporalOverflow(t);let{month:o,day:n,referenceISOYear:a,calendar:i}=ParseTemporalMonthDayString(ToString(r)),s=i;if(void 0===s&&(s=GetISO8601Calendar()),s=ToTemporalCalendar(s),void 0===a)return RejectISODate(1972,o,n),CreateTemporalMonthDay(o,n,s);return CalendarMonthDayFromFields(s,CreateTemporalMonthDay(o,n,s,a))}function ToTemporalTime(e,t="constrain"){let r,o,n,a,i,f,y,S=e;if(IsObject(S)){if(IsTemporalTime(S))return S;if(IsTemporalZonedDateTime(S)&&(S=BuiltinTimeZoneGetPlainDateTimeFor(GetSlot(S,p),GetSlot(S,T),GetSlot(S,h))),IsTemporalDateTime(S)){return new(GetIntrinsic("%Temporal.PlainTime%"))(GetSlot(S,s),GetSlot(S,l),GetSlot(S,d),GetSlot(S,m),GetSlot(S,c),GetSlot(S,u))}if(y=GetTemporalCalendarWithISODefault(S),"iso8601"!==ToString(y))throw new RangeError("PlainTime can only have iso8601 calendar");({hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:f}=ToTemporalTimeRecord(S)),({hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:f}=RegulateTime(r,o,n,a,i,f,t))}else if(({hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:f,calendar:y}=function ParseTemporalTimeString(e){const t=U.exec(e);let r,o,n,a,i,s,l;if(t){r=ToInteger(t[1]),o=ToInteger(t[2]||t[5]),n=ToInteger(t[3]||t[6]),60===n&&(n=59);const e=(t[4]||t[7])+"000000000";a=ToInteger(e.slice(0,3)),i=ToInteger(e.slice(3,6)),s=ToInteger(e.slice(6,9)),l=t[15]}else{let t,d;if(({hasTime:d,hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:s,calendar:l,z:t}=ParseISODateTime(e)),!d)throw new RangeError(`time is missing in string: ${e}`);if(t)throw new RangeError("Z designator not supported for PlainTime")}if(/[tT ][0-9][0-9]/.test(e))return{hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:s,calendar:l};try{const{month:t,day:r}=ParseTemporalMonthDayString(e);RejectISODate(1972,t,r)}catch{try{const{year:t,month:r}=ParseTemporalYearMonthString(e);RejectISODate(t,r,1)}catch{return{hour:r,minute:o,second:n,millisecond:a,microsecond:i,nanosecond:s,calendar:l}}}throw new RangeError(`invalid ISO 8601 time-only string ${e}; may need a T prefix`)}(ToString(S))),RejectTime(r,o,n,a,i,f),void 0!==y&&"iso8601"!==y)throw new RangeError("PlainTime can only have iso8601 calendar");return new(GetIntrinsic("%Temporal.PlainTime%"))(r,o,n,a,i,f)}function ToTemporalYearMonth(e,t){if(IsObject(e)){if(IsTemporalYearMonth(e))return e;const r=GetTemporalCalendarWithISODefault(e);return CalendarYearMonthFromFields(r,PrepareTemporalFields(e,CalendarFields(r,["month","monthCode","year"]),[]),t)}ToTemporalOverflow(t);let{year:r,month:o,referenceISODay:n,calendar:a}=ParseTemporalYearMonthString(ToString(e)),i=a;if(void 0===i&&(i=GetISO8601Calendar()),i=ToTemporalCalendar(i),void 0===n)return RejectISODate(r,o,1),CreateTemporalYearMonth(r,o,i);return CalendarYearMonthFromFields(i,CreateTemporalYearMonth(r,o,i,n))}function InterpretISODateTimeOffset(t,n,a,i,s,l,d,m,c,u,h,T,p,f,y){const S=new(GetIntrinsic("%Temporal.PlainDateTime%"))(t,n,a,i,s,l,d,m,c);if("wall"===u||"ignore"===f){return GetSlot(BuiltinTimeZoneGetInstantFor(T,S,p),r)}if("exact"===u||"use"===f){const r=GetEpochFromISOParts(t,n,a,i,s,l,d,m,c);if(null===r)throw new RangeError("ZonedDateTime outside of supported range");return e.default.subtract(r,e.default.BigInt(h))}const w=GetPossibleInstantsFor(T,S);for(const t of w){const o=GetOffsetNanosecondsFor(T,t),n=e.default.toNumber(RoundNumberToIncrement(e.default.BigInt(o),6e10,"halfExpand"));if(o===h||y&&n===h)return GetSlot(t,r)}if("reject"===f){const e=FormatTimeZoneOffsetString(h),t=IsTemporalTimeZone(T)?GetSlot(T,o):"time zone";throw new RangeError(`Offset ${e} is invalid for ${S.toString()} in ${t}`)}return GetSlot(DisambiguatePossibleInstants(w,T,S,p),r)}function ToTemporalZonedDateTime(e,t){let r,o,n,a,i,s,l,d,m,c,u,h,T=!1,p="option";if(IsObject(e)){if(IsTemporalZonedDateTime(e))return e;h=GetTemporalCalendarWithISODefault(e);const T=PrepareTemporalFields(e,ArrayPush(CalendarFields(h,["day","hour","microsecond","millisecond","minute","month","monthCode","nanosecond","second","year"]),"timeZone","offset"),["timeZone"]);({year:r,month:o,day:n,hour:a,minute:i,second:s,millisecond:l,microsecond:d,nanosecond:m}=InterpretTemporalDateTimeFields(h,T,t)),c=ToTemporalTimeZone(T.timeZone),u=T.offset,void 0===u?p="wall":u=ToString(u)}else{let f,y;if(ToTemporalOverflow(t),({year:r,month:o,day:n,hour:a,minute:i,second:s,millisecond:l,microsecond:d,nanosecond:m,ianaName:f,offset:u,z:y,calendar:h}=function ParseTemporalZonedDateTimeString(e){const t=ParseISODateTime(e);if(!t.ianaName)throw new RangeError("Temporal.ZonedDateTime requires a time zone ID in brackets");return t}(ToString(e))),!f)throw new RangeError("time zone ID required in brackets");y?p="exact":u||(p="wall");c=new(GetIntrinsic("%Temporal.TimeZone%"))(f),h||(h=GetISO8601Calendar()),h=ToTemporalCalendar(h),T=!0}let f=0;"option"===p&&(f=ParseTimeZoneOffsetString(u));return CreateTemporalZonedDateTime(InterpretISODateTimeOffset(r,o,n,a,i,s,l,d,m,p,f,c,ToTemporalDisambiguation(t),ToTemporalOffset(t,"reject"),T),c,h)}function CreateTemporalDateSlots(e,t,r,o,s){RejectISODate(t,r,o),RejectDateRange(t,r,o),CreateSlots(e),SetSlot(e,n,t),SetSlot(e,a,r),SetSlot(e,i,o),SetSlot(e,h,s),SetSlot(e,"slot-date-brand",!0)}function CreateTemporalDate(e,t,r,o=GetISO8601Calendar()){const n=GetIntrinsic("%Temporal.PlainDate%"),a=le(n.prototype);return CreateTemporalDateSlots(a,e,t,r,o),a}function CreateTemporalDateTimeSlots(e,t,r,o,T,p,f,y,S,w,g){RejectDateTime(t,r,o,T,p,f,y,S,w),RejectDateTimeRange(t,r,o,T,p,f,y,S,w),CreateSlots(e),SetSlot(e,n,t),SetSlot(e,a,r),SetSlot(e,i,o),SetSlot(e,s,T),SetSlot(e,l,p),SetSlot(e,d,f),SetSlot(e,m,y),SetSlot(e,c,S),SetSlot(e,u,w),SetSlot(e,h,g)}function CreateTemporalDateTime(e,t,r,o,n,a,i,s,l,d=GetISO8601Calendar()){const m=GetIntrinsic("%Temporal.PlainDateTime%"),c=le(m.prototype);return CreateTemporalDateTimeSlots(c,e,t,r,o,n,a,i,s,l,d),c}function CreateTemporalMonthDaySlots(e,t,r,o,s){RejectISODate(s,t,r),RejectDateRange(s,t,r),CreateSlots(e),SetSlot(e,a,t),SetSlot(e,i,r),SetSlot(e,n,s),SetSlot(e,h,o),SetSlot(e,"slot-month-day-brand",!0)}function CreateTemporalMonthDay(e,t,r=GetISO8601Calendar(),o=1972){const n=GetIntrinsic("%Temporal.PlainMonthDay%"),a=le(n.prototype);return CreateTemporalMonthDaySlots(a,e,t,r,o),a}function CreateTemporalYearMonthSlots(e,t,r,o,s){RejectISODate(t,r,s),function RejectYearMonthRange(e,t){RejectToRange(e,-271821,275760),-271821===e?RejectToRange(t,4,12):275760===e&&RejectToRange(t,1,9)}(t,r),CreateSlots(e),SetSlot(e,n,t),SetSlot(e,a,r),SetSlot(e,i,s),SetSlot(e,h,o),SetSlot(e,"slot-year-month-brand",!0)}function CreateTemporalYearMonth(e,t,r=GetISO8601Calendar(),o=1){const n=GetIntrinsic("%Temporal.PlainYearMonth%"),a=le(n.prototype);return CreateTemporalYearMonthSlots(a,e,t,r,o),a}function CreateTemporalZonedDateTimeSlots(e,t,o,n){ValidateEpochNanoseconds(t),CreateSlots(e),SetSlot(e,r,t),SetSlot(e,p,o),SetSlot(e,h,n);const a=new(GetIntrinsic("%Temporal.Instant%"))(GetSlot(e,r));SetSlot(e,T,a)}function CreateTemporalZonedDateTime(e,t,r=GetISO8601Calendar()){const o=GetIntrinsic("%Temporal.ZonedDateTime%"),n=le(o.prototype);return CreateTemporalZonedDateTimeSlots(n,e,t,r),n}function GetISO8601Calendar(){return new(GetIntrinsic("%Temporal.Calendar%"))("iso8601")}function CalendarFields(e,t){let r=t;e.fields&&(r=e.fields(r));const o=[];for(const e of r){if("string"!=typeof e)throw new TypeError("bad return from calendar.fields()");_.call(o,e)}return o}function CalendarMergeFields(e,t,r){const o=e.mergeFields;if(!o)return{...t,...r};const n=Reflect.apply(o,e,[t,r]);if(!IsObject(n))throw new TypeError("bad return from calendar.mergeFields()");return n}function CalendarDateAdd(e,t,r,o,n){let a=n;void 0===a&&(a=e.dateAdd);const i=ce(a,e,[t,r,o]);if(!IsTemporalDate(i))throw new TypeError("invalid result");return i}function CalendarDateUntil(e,t,r,o,n){let a=n;void 0===a&&(a=e.dateUntil);const i=ce(a,e,[t,r,o]);if(!IsTemporalDuration(i))throw new TypeError("invalid result");return i}function CalendarYear(e,t){const r=e.year(t);if(void 0===r)throw new RangeError("calendar year result must be an integer");return ToIntegerThrowOnInfinity(r)}function CalendarMonth(e,t){const r=e.month(t);if(void 0===r)throw new RangeError("calendar month result must be a positive integer");return ToPositiveInteger(r)}function CalendarMonthCode(e,t){const r=e.monthCode(t);if(void 0===r)throw new RangeError("calendar monthCode result must be a string");return ToString(r)}function CalendarDay(e,t){const r=e.day(t);if(void 0===r)throw new RangeError("calendar day result must be a positive integer");return ToPositiveInteger(r)}function CalendarEra(e,t){let r=e.era(t);return void 0!==r&&(r=ToString(r)),r}function CalendarEraYear(e,t){let r=e.eraYear(t);return void 0!==r&&(r=ToIntegerThrowOnInfinity(r)),r}function CalendarDayOfWeek(e,t){return e.dayOfWeek(t)}function CalendarDayOfYear(e,t){return e.dayOfYear(t)}function CalendarWeekOfYear(e,t){return e.weekOfYear(t)}function CalendarDaysInWeek(e,t){return e.daysInWeek(t)}function CalendarDaysInMonth(e,t){return e.daysInMonth(t)}function CalendarDaysInYear(e,t){return e.daysInYear(t)}function CalendarMonthsInYear(e,t){return e.monthsInYear(t)}function CalendarInLeapYear(e,t){return e.inLeapYear(t)}function ToTemporalCalendar(e){let t=e;if(IsObject(t)){if(HasSlot(t,h))return GetSlot(t,h);if(!("calendar"in t))return t;if(t=t.calendar,IsObject(t)&&!("calendar"in t))return t}const r=ToString(t),o=GetIntrinsic("%Temporal.Calendar%");if(IsBuiltinCalendar(r))return new o(r);let n;try{({calendar:n}=ParseISODateTime(r))}catch{throw new RangeError(`Invalid calendar: ${r}`)}return n||(n="iso8601"),new o(n)}function GetTemporalCalendarWithISODefault(e){if(HasSlot(e,h))return GetSlot(e,h);const{calendar:t}=e;return void 0===t?GetISO8601Calendar():ToTemporalCalendar(t)}function CalendarEquals(e,t){if(e===t)return!0;return ToString(e)===ToString(t)}function ConsolidateCalendars(e,t){if(e===t)return t;const r=ToString(e),o=ToString(t);if(r===o||"iso8601"===r)return t;if("iso8601"===o)return e;throw new RangeError("irreconcilable calendars")}function CalendarDateFromFields(e,t,r){const o=e.dateFromFields(t,r);if(!IsTemporalDate(o))throw new TypeError("invalid result");return o}function CalendarYearMonthFromFields(e,t,r){const o=e.yearMonthFromFields(t,r);if(!IsTemporalYearMonth(o))throw new TypeError("invalid result");return o}function CalendarMonthDayFromFields(e,t,r){const o=e.monthDayFromFields(t,r);if(!IsTemporalMonthDay(o))throw new TypeError("invalid result");return o}function ToTemporalTimeZone(e){let t=e;if(IsObject(t)){if(IsTemporalZonedDateTime(t))return GetSlot(t,p);if(!("timeZone"in t))return t;if(t=t.timeZone,IsObject(t)&&!("timeZone"in t))return t}const r=ParseTemporalTimeZone(ToString(t));return new(GetIntrinsic("%Temporal.TimeZone%"))(r)}function TimeZoneEquals(e,t){if(e===t)return!0;return ToString(e)===ToString(t)}function TemporalDateTimeToDate(e){return CreateTemporalDate(GetSlot(e,n),GetSlot(e,a),GetSlot(e,i),GetSlot(e,h))}function TemporalDateTimeToTime(e){return new(GetIntrinsic("%Temporal.PlainTime%"))(GetSlot(e,s),GetSlot(e,l),GetSlot(e,d),GetSlot(e,m),GetSlot(e,c),GetSlot(e,u))}function GetOffsetNanosecondsFor(e,t){let r=e.getOffsetNanosecondsFor;if("function"!=typeof r)throw new TypeError("getOffsetNanosecondsFor not callable");const o=Reflect.apply(r,e,[t]);if("number"!=typeof o)throw new TypeError("bad return from getOffsetNanosecondsFor");if(!IsInteger(o)||K(o)>864e11)throw new RangeError("out-of-range return from getOffsetNanosecondsFor");return o}function BuiltinTimeZoneGetOffsetStringFor(e,t){return FormatTimeZoneOffsetString(GetOffsetNanosecondsFor(e,t))}function BuiltinTimeZoneGetPlainDateTimeFor(e,t,o){const n=GetSlot(t,r),a=GetOffsetNanosecondsFor(e,t);let{year:i,month:s,day:l,hour:d,minute:m,second:c,millisecond:u,microsecond:h,nanosecond:T}=GetISOPartsFromEpoch(n);return({year:i,month:s,day:l,hour:d,minute:m,second:c,millisecond:u,microsecond:h,nanosecond:T}=BalanceISODateTime(i,s,l,d,m,c,u,h,T+a)),CreateTemporalDateTime(i,s,l,d,m,c,u,h,T,o)}function BuiltinTimeZoneGetInstantFor(e,t,r){return DisambiguatePossibleInstants(GetPossibleInstantsFor(e,t),e,t,r)}function DisambiguatePossibleInstants(t,r,o,T){const p=GetIntrinsic("%Temporal.Instant%"),f=t.length;if(1===f)return t[0];if(f)switch(T){case"compatible":case"earlier":return t[0];case"later":return t[f-1];case"reject":throw new RangeError("multiple instants found")}const y=GetSlot(o,n),S=GetSlot(o,a),w=GetSlot(o,i),g=GetSlot(o,s),I=GetSlot(o,l),D=GetSlot(o,d),G=GetSlot(o,m),v=GetSlot(o,c),O=GetSlot(o,u),C=GetEpochFromISOParts(y,S,w,g,I,D,G,v,O);if(null===C)throw new RangeError("DateTime outside of supported range");const E=new p(e.default.subtract(C,we)),b=new p(e.default.add(C,we)),M=GetOffsetNanosecondsFor(r,E),R=GetOffsetNanosecondsFor(r,b)-M;switch(T){case"earlier":{const e=GetSlot(o,h),t=GetIntrinsic("%Temporal.PlainDateTime%"),n=AddDateTime(y,S,w,g,I,D,G,v,O,e,0,0,0,0,0,0,0,0,0,-R,void 0);return GetPossibleInstantsFor(r,new t(n.year,n.month,n.day,n.hour,n.minute,n.second,n.millisecond,n.microsecond,n.nanosecond,e))[0]}case"compatible":case"later":{const e=GetSlot(o,h),t=GetIntrinsic("%Temporal.PlainDateTime%"),n=AddDateTime(y,S,w,g,I,D,G,v,O,e,0,0,0,0,0,0,0,0,0,R,void 0),a=GetPossibleInstantsFor(r,new t(n.year,n.month,n.day,n.hour,n.minute,n.second,n.millisecond,n.microsecond,n.nanosecond,e));return a[a.length-1]}case"reject":throw new RangeError("no such instant found")}}function GetPossibleInstantsFor(e,t){const r=e.getPossibleInstantsFor(t),o=[];for(const e of r){if(!IsTemporalInstant(e))throw new TypeError("bad return from getPossibleInstantsFor");_.call(o,e)}return o}function ISOYearString(e){let t;if(e<0||e>9999){t=(e<0?"-":"+")+`000000${K(e)}`.slice(-6)}else t=`0000${e}`.slice(-4);return t}function ISODateTimePartString(e){return`00${e}`.slice(-2)}function FormatSecondsStringPart(e,t,r,o,n){if("minute"===n)return"";const a=`:${ISODateTimePartString(e)}`;let i,s=1e6*t+1e3*r+o;if("auto"===n){if(0===s)return a;for(i=`${s}`.padStart(9,"0");"0"===i[i.length-1];)i=i.slice(0,-1)}else{if(0===n)return a;i=`${s}`.padStart(9,"0").slice(0,n)}return`${a}.${i}`}function TemporalInstantToString(e,t,r){let o=t;if(void 0===o){o=new(GetIntrinsic("%Temporal.TimeZone%"))("UTC")}const h=BuiltinTimeZoneGetPlainDateTimeFor(o,e,GetISO8601Calendar()),T=ISOYearString(GetSlot(h,n)),p=ISODateTimePartString(GetSlot(h,a)),f=ISODateTimePartString(GetSlot(h,i)),y=ISODateTimePartString(GetSlot(h,s)),S=ISODateTimePartString(GetSlot(h,l)),w=FormatSecondsStringPart(GetSlot(h,d),GetSlot(h,m),GetSlot(h,c),GetSlot(h,u),r);let g="Z";if(void 0!==t){g=FormatISOTimeZoneOffsetString(GetOffsetNanosecondsFor(o,e))}return`${T}-${p}-${f}T${y}:${S}${w}${g}`}function TemporalDurationToString(t,r="auto",o){function formatNumber(t){return t<=ie?t.toString(10):e.default.BigInt(t).toString(10)}const n=GetSlot(t,f),a=GetSlot(t,y),i=GetSlot(t,S),s=GetSlot(t,w),l=GetSlot(t,g),d=GetSlot(t,I);let m=GetSlot(t,D),c=GetSlot(t,G),u=GetSlot(t,v),h=GetSlot(t,O);const T=DurationSign(n,a,i,s,l,d,m,c,u,h);if(o){const{unit:e,increment:t,roundingMode:r}=o;({seconds:m,milliseconds:c,microseconds:u,nanoseconds:h}=RoundDuration(0,0,0,0,0,0,m,c,u,h,t,e,r))}const p=[];n&&p.push(`${formatNumber(K(n))}Y`),a&&p.push(`${formatNumber(K(a))}M`),i&&p.push(`${formatNumber(K(i))}W`),s&&p.push(`${formatNumber(K(s))}D`);const C=[];l&&C.push(`${formatNumber(K(l))}H`),d&&C.push(`${formatNumber(K(d))}M`);const E=[];let b,M,R,Z,P=TotalDurationNanoseconds(0,0,0,m,c,u,h,0);({quotient:P,remainder:b}=divmod(P,pe)),({quotient:P,remainder:M}=divmod(P,pe)),({quotient:Z,remainder:R}=divmod(P,pe));const F=1e6*K(e.default.toNumber(R))+1e3*K(e.default.toNumber(M))+K(e.default.toNumber(b));let Y;if("auto"===r){if(0!==F)for(Y=`${F}`.padStart(9,"0");"0"===Y[Y.length-1];)Y=Y.slice(0,-1)}else 0!==r&&(Y=`${F}`.padStart(9,"0").slice(0,r));return Y&&E.unshift(".",Y),e.default.equal(Z,ue)&&!E.length&&"auto"===r||E.unshift(abs(Z).toString()),E.length&&C.push(`${E.join("")}S`),C.length&&C.unshift("T"),p.length||C.length?`${T<0?"-":""}P${p.join("")}${C.join("")}`:"PT0S"}function TemporalDateToString(e,t="auto"){return`${ISOYearString(GetSlot(e,n))}-${ISODateTimePartString(GetSlot(e,a))}-${ISODateTimePartString(GetSlot(e,i))}${FormatCalendarAnnotation(ToString(GetSlot(e,h)),t)}`}function TemporalDateTimeToString(e,t,r="auto",o){let T=GetSlot(e,n),p=GetSlot(e,a),f=GetSlot(e,i),y=GetSlot(e,s),S=GetSlot(e,l),w=GetSlot(e,d),g=GetSlot(e,m),I=GetSlot(e,c),D=GetSlot(e,u);if(o){const{unit:e,increment:t,roundingMode:r}=o;({year:T,month:p,day:f,hour:y,minute:S,second:w,millisecond:g,microsecond:I,nanosecond:D}=RoundISODateTime(T,p,f,y,S,w,g,I,D,t,e,r))}return`${ISOYearString(T)}-${ISODateTimePartString(p)}-${ISODateTimePartString(f)}T${ISODateTimePartString(y)}:${ISODateTimePartString(S)}${FormatSecondsStringPart(w,g,I,D,t)}${FormatCalendarAnnotation(ToString(GetSlot(e,h)),r)}`}function TemporalMonthDayToString(e,t="auto"){let r=`${ISODateTimePartString(GetSlot(e,a))}-${ISODateTimePartString(GetSlot(e,i))}`;const o=ToString(GetSlot(e,h));if("always"===t||"iso8601"!==o){r=`${ISOYearString(GetSlot(e,n))}-${r}`}const s=FormatCalendarAnnotation(o,t);return s&&(r+=s),r}function TemporalYearMonthToString(e,t="auto"){let r=`${ISOYearString(GetSlot(e,n))}-${ISODateTimePartString(GetSlot(e,a))}`;const o=ToString(GetSlot(e,h));if("always"===t||"iso8601"!==o){r+=`-${ISODateTimePartString(GetSlot(e,i))}`}const s=FormatCalendarAnnotation(o,t);return s&&(r+=s),r}function TemporalZonedDateTimeToString(e,t,o="auto",f="auto",y="auto",S){let w=GetSlot(e,T);if(S){const{unit:t,increment:o,roundingMode:n}=S,a=RoundInstant(GetSlot(e,r),o,t,n);w=new(GetIntrinsic("%Temporal.Instant%"))(a)}const g=GetSlot(e,p),I=BuiltinTimeZoneGetPlainDateTimeFor(g,w,GetISO8601Calendar());let D=`${ISOYearString(GetSlot(I,n))}-${ISODateTimePartString(GetSlot(I,a))}-${ISODateTimePartString(GetSlot(I,i))}T${ISODateTimePartString(GetSlot(I,s))}:${ISODateTimePartString(GetSlot(I,l))}${FormatSecondsStringPart(GetSlot(I,d),GetSlot(I,m),GetSlot(I,c),GetSlot(I,u),t)}`;if("never"!==y){D+=FormatISOTimeZoneOffsetString(GetOffsetNanosecondsFor(g,w))}"never"!==f&&(D+=`[${g}]`);return D+=FormatCalendarAnnotation(ToString(GetSlot(e,h)),o),D}function TestTimeZoneOffsetString(e){return Be.test(ae(e))}function ParseTimeZoneOffsetString(e){const t=Be.exec(ae(e));if(!t)throw new RangeError(`invalid time zone offset: ${e}`);return("-"===t[1]||"−"===t[1]?-1:1)*(1e9*(60*(60*+t[2]+ +(t[3]||0))+ +(t[4]||0))+ +((t[5]||0)+"000000000").slice(0,9))}function GetCanonicalTimeZoneIdentifier(e){if(TestTimeZoneOffsetString(e)){return FormatTimeZoneOffsetString(ParseTimeZoneOffsetString(e))}return getIntlDateTimeFormatEnUsForTimeZone(ae(e)).resolvedOptions().timeZone}function GetIANATimeZoneOffsetNanoseconds(t,r){const{year:o,month:n,day:a,hour:i,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}=GetIANATimeZoneDateTimeParts(t,r),u=GetEpochFromISOParts(o,n,a,i,s,l,d,m,c);if(null===u)throw new RangeError("Date outside of supported range");return e.default.toNumber(e.default.subtract(u,t))}function FormatTimeZoneOffsetString(e){const t=e<0?"-":"+",r=K(e),o=r%1e9,n=Q(r/1e9)%60,a=Q(r/6e10)%60,i=ISODateTimePartString(Q(r/36e11)),s=ISODateTimePartString(a),l=ISODateTimePartString(n);let d="";if(o){let e=`${o}`.padStart(9,"0");for(;"0"===e[e.length-1];)e=e.slice(0,-1);d=`:${l}.${e}`}else n&&(d=`:${l}`);return`${t}${i}:${s}${d}`}function FormatISOTimeZoneOffsetString(t){let r=e.default.toNumber(RoundNumberToIncrement(e.default.BigInt(t),6e10,"halfExpand"));const o=r<0?"-":"+";r=K(r);const n=r/6e10%60;return`${o}${ISODateTimePartString(Q(r/36e11))}:${ISODateTimePartString(n)}`}function GetEpochFromISOParts(t,r,o,n,a,i,s,l,d){const m=new Date;m.setUTCHours(n,a,i,s),m.setUTCFullYear(t,r-1,o);const c=m.getTime();if(re(c))return null;let u=e.default.multiply(e.default.BigInt(c),fe);return u=e.default.add(u,e.default.multiply(e.default.BigInt(l),pe)),u=e.default.add(u,e.default.BigInt(d)),e.default.lessThan(u,ge)||e.default.greaterThan(u,Ie)?null:u}function GetISOPartsFromEpoch(t){const{quotient:r,remainder:o}=divmod(t,fe);let n=e.default.toNumber(r),a=e.default.toNumber(o);a<0&&(a+=1e6,n-=1);const i=Q(a/1e3)%1e3,s=a%1e3,l=new Date(n);return{epochMilliseconds:n,year:l.getUTCFullYear(),month:l.getUTCMonth()+1,day:l.getUTCDate(),hour:l.getUTCHours(),minute:l.getUTCMinutes(),second:l.getUTCSeconds(),millisecond:l.getUTCMilliseconds(),microsecond:i,nanosecond:s}}function GetIANATimeZoneDateTimeParts(e,t){const{epochMilliseconds:r,millisecond:o,microsecond:n,nanosecond:a}=GetISOPartsFromEpoch(e),{year:i,month:s,day:l,hour:d,minute:m,second:c}=function GetFormatterParts(e,t){const r=getIntlDateTimeFormatEnUsForTimeZone(e);return function parseFromEnUsFormat(e){const t=e.split(/[^\w]+/);if(7!==t.length)throw new RangeError(`expected 7 parts in "${e}`);const r=+t[0],o=+t[1];let n=+t[2];const a=t[3].toUpperCase();if("B"===a||"BC"===a)n=1-n;else if("A"!==a&&"AD"!==a)throw new RangeError(`Unknown era ${a} in "${e}`);let i=+t[4];24===i&&(i=0);const s=+t[5],l=+t[6];if(!(oe(n)&&oe(r)&&oe(o)&&oe(i)&&oe(s)&&oe(l)))throw new RangeError(`Invalid number in "${e}`);return{year:n,month:r,day:o,hour:i,minute:s,second:l}}(r.format(new Date(t)))}(t,r);return BalanceISODateTime(i,s,l,d,m,c,o,n,a)}function maxJSBI(t,r){return e.default.lessThan(t,r)?r:t}function afterLatestPossibleTzdbRuleChange(){return e.default.add($e(),Ge)}function GetIANATimeZonePreviousTransition(t,r){const o=afterLatestPossibleTzdbRuleChange(),n=e.default.greaterThan(t,o),a=n?e.default.subtract(t,ve):De;let i=e.default.subtract(t,he);const s=GetIANATimeZoneOffsetNanoseconds(i,r);let l=i,d=s;for(;s===d&&e.default.greaterThan(i,a);)l=e.default.subtract(i,Oe),d=GetIANATimeZoneOffsetNanoseconds(l,r),s===d&&(i=l);if(s===d){if(n){return GetIANATimeZonePreviousTransition(e.default.subtract(o,we),r)}return null}return bisect((e=>GetIANATimeZoneOffsetNanoseconds(e,r)),l,i,d,s)}function LeapYear(e){if(void 0===e)return!1;return e%4==0&&(!(e%100==0)||e%400==0)}function ISODaysInMonth(e,t){return{standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]}[LeapYear(e)?"leapyear":"standard"][t-1]}function DayOfWeek(e,t,r){const o=t+(t<3?10:-2),n=e-(t<3?1:0),a=Q(n/100),i=n-100*a,s=(r+Q(2.6*o-.2)+(i+Q(i/4))+(Q(a/4)-2*a))%7;return s+(s<=0?7:0)}function DayOfYear(e,t,r){let o=r;for(let r=t-1;r>0;r--)o+=ISODaysInMonth(e,r);return o}function DurationSign(e,t,r,o,n,a,i,s,l,d){for(const m of[e,t,r,o,n,a,i,s,l,d])if(0!==m)return m<0?-1:1;return 0}function BalanceISOYearMonth(e,t){let r=e,o=t;if(!oe(r)||!oe(o))throw new RangeError("infinity is out of range");return o-=1,r+=Q(o/12),o%=12,o<0&&(o+=12),o+=1,{year:r,month:o}}function BalanceISODate(e,t,r){let o=e,n=t,a=r;if(!oe(a))throw new RangeError("infinity is out of range");({year:o,month:n}=BalanceISOYearMonth(o,n));let i=0,s=n>2?o:o-1;for(;i=LeapYear(s)?366:365,a<-i;)o-=1,s-=1,a+=i;for(s+=1;i=LeapYear(s)?366:365,a>i;)o+=1,s+=1,a-=i;for(;a<1;)({year:o,month:n}=BalanceISOYearMonth(o,n-1)),a+=ISODaysInMonth(o,n);for(;a>ISODaysInMonth(o,n);)a-=ISODaysInMonth(o,n),({year:o,month:n}=BalanceISOYearMonth(o,n+1));return{year:o,month:n,day:a}}function BalanceISODateTime(e,t,r,o,n,a,i,s,l){const{deltaDays:d,hour:m,minute:c,second:u,millisecond:h,microsecond:T,nanosecond:p}=BalanceTime(o,n,a,i,s,l),{year:f,month:y,day:S}=BalanceISODate(e,t,r+d);return{year:f,month:y,day:S,hour:m,minute:c,second:u,millisecond:h,microsecond:T,nanosecond:p}}function BalanceTime(e,t,r,o,n,a){let i=e,s=t,l=r,d=o,m=n,c=a;if(!(oe(i)&&oe(s)&&oe(l)&&oe(d)&&oe(m)&&oe(c)))throw new RangeError("infinity is out of range");m+=Q(c/1e3),c=NonNegativeModulo(c,1e3),d+=Q(m/1e3),m=NonNegativeModulo(m,1e3),l+=Q(d/1e3),d=NonNegativeModulo(d,1e3),s+=Q(l/60),l=NonNegativeModulo(l,60),i+=Q(s/60),s=NonNegativeModulo(s,60);const u=Q(i/24);return i=NonNegativeModulo(i,24),{deltaDays:u,hour:i,minute:s,second:l,millisecond:d,microsecond:m,nanosecond:c}}function TotalDurationNanoseconds(t,r,o,n,a,i,s,l){const d=e.default.BigInt(t);let m=e.default.BigInt(s);0!==t&&(m=e.default.subtract(e.default.BigInt(s),e.default.BigInt(l)));const c=e.default.add(e.default.BigInt(r),e.default.multiply(d,e.default.BigInt(24))),u=e.default.add(e.default.BigInt(o),e.default.multiply(c,Te)),h=e.default.add(e.default.BigInt(n),e.default.multiply(u,Te)),T=e.default.add(e.default.BigInt(a),e.default.multiply(h,pe)),p=e.default.add(e.default.BigInt(i),e.default.multiply(T,pe));return e.default.add(e.default.BigInt(m),e.default.multiply(p,pe))}function NanosecondsToDays(t,o){const f=GetIntrinsic("%Temporal.Instant%"),y=ee(e.default.toNumber(t));let S=e.default.BigInt(t),w=864e11;if(0===y)return{days:0,nanoseconds:ue,dayLengthNs:w};if(!IsTemporalZonedDateTime(o)){let t;return({quotient:t,remainder:S}=divmod(S,e.default.BigInt(w))),{days:e.default.toNumber(t),nanoseconds:S,dayLengthNs:w}}const g=GetSlot(o,r),I=GetSlot(o,T),D=e.default.add(g,S),G=new f(D),v=GetSlot(o,p),O=GetSlot(o,h),C=BuiltinTimeZoneGetPlainDateTimeFor(v,I,O),E=BuiltinTimeZoneGetPlainDateTimeFor(v,G,O);let{days:b}=DifferenceISODateTime(GetSlot(C,n),GetSlot(C,a),GetSlot(C,i),GetSlot(C,s),GetSlot(C,l),GetSlot(C,d),GetSlot(C,m),GetSlot(C,c),GetSlot(C,u),GetSlot(E,n),GetSlot(E,a),GetSlot(E,i),GetSlot(E,s),GetSlot(E,l),GetSlot(E,d),GetSlot(E,m),GetSlot(E,c),GetSlot(E,u),O,"day",le(null)),M=AddZonedDateTime(I,v,O,0,0,0,b,0,0,0,0,0,0);if(1===y)for(;b>0&&e.default.greaterThan(M,D);)--b,M=AddZonedDateTime(I,v,O,0,0,0,b,0,0,0,0,0,0);S=e.default.subtract(D,M);let R=!1,Z=new f(M);do{const t=AddZonedDateTime(Z,v,O,0,0,0,y,0,0,0,0,0,0),o=GetSlot(Z,r);w=e.default.toNumber(e.default.subtract(t,o)),R=e.default.greaterThan(e.default.multiply(e.default.subtract(S,e.default.BigInt(w)),e.default.BigInt(y)),ue),R&&(S=e.default.subtract(S,e.default.BigInt(w)),Z=new f(t),b+=y)}while(R);return{days:b,nanoseconds:S,dayLengthNs:K(w)}}function BalanceDuration(t,o,n,a,i,s,l,d,m){let c,u,f,y,S,w,g=t;if(IsTemporalZonedDateTime(m)){const t=AddZonedDateTime(GetSlot(m,T),GetSlot(m,p),GetSlot(m,h),0,0,0,g,o,n,a,i,s,l),d=GetSlot(m,r);c=e.default.subtract(t,d)}else c=TotalDurationNanoseconds(g,o,n,a,i,s,l,0);"year"===d||"month"===d||"week"===d||"day"===d?({days:g,nanoseconds:c}=NanosecondsToDays(c,m)):g=0;const I=e.default.lessThan(c,ue)?-1:1;switch(c=abs(c),u=f=y=S=w=ue,d){case"year":case"month":case"week":case"day":case"hour":({quotient:u,remainder:c}=divmod(c,pe)),({quotient:f,remainder:u}=divmod(u,pe)),({quotient:y,remainder:f}=divmod(f,pe)),({quotient:S,remainder:y}=divmod(y,Te)),({quotient:w,remainder:S}=divmod(S,Te));break;case"minute":({quo