function ownKeys(e, r) {var t = Object.keys(e);if (Object.getOwnPropertySymbols) {var o = Object.getOwnPropertySymbols(e);r && (o = o.filter(function (r) {return Object.getOwnPropertyDescriptor(e, r).enumerable;})), t.push.apply(t, o);}return t;}function _objectSpread(e) {for (var r = 1; r < arguments.length; r++) {var t = null != arguments[r] ? arguments[r] : {};r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {_defineProperty(e, r, t[r]);}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));});}return e;}function _createForOfIteratorHelper(o, allowArrayLike) {var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];if (!it) {if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {if (it) o = it;var i = 0;var F = function F() {};return { s: F, n: function n() {if (i >= o.length) return { done: true };return { done: false, value: o[i++] };}, e: function e(_e) {throw _e;}, f: F };}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion = true,didErr = false,err;return { s: function s() {it = it.call(o);}, n: function n() {var step = it.next();normalCompletion = step.done;return step;}, e: function e(_e2) {didErr = true;err = _e2;}, f: function f() {try {if (!normalCompletion && it.return != null) it.return();} finally {if (didErr) throw err;}} };}function _callSuper(t, o, e) {return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));}function _possibleConstructorReturn(self, call) {if (call && (_typeof(call) === "object" || typeof call === "function")) {return call;} else if (call !== void 0) {throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct() {try {var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));} catch (t) {}return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {return !!t;})();}function _getPrototypeOf(o) {_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {return o.__proto__ || Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass, superClass) {if (typeof superClass !== "function" && superClass !== null) {throw new TypeError("Super expression must either be null or a function");}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });Object.defineProperty(subClass, "prototype", { writable: false });if (superClass) _setPrototypeOf(subClass, superClass);}function _setPrototypeOf(o, p) {_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {o.__proto__ = p;return o;};return _setPrototypeOf(o, p);}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);Object.defineProperty(Constructor, "prototype", { writable: false });return Constructor;}function _defineProperty(obj, key, value) {key = _toPropertyKey(key);if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == _typeof(i) ? i : String(i);}function _toPrimitive(t, r) {if ("object" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != _typeof(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _iterableToArray(iter) {if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];return arr2;}function _typeof(o) {"@babel/helpers - typeof";return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;}, _typeof(o);}(function () {var __defProp = Object.defineProperty; var __export = function __export(target, all) { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, set: function set(newValue) {return all[name] = function () {return newValue;};} }); }; // lib/fp.mjs var exports_fp = {}; __export(exports_fp, { yearsToQuarters: function yearsToQuarters() { { return yearsToQuarters3; } }, yearsToMonths: function yearsToMonths() { { return yearsToMonths3; } }, yearsToDays: function yearsToDays() { { return yearsToDays3; } }, weeksToDays: function weeksToDays() { { return weeksToDays3; } }, transpose: function transpose() { { return transpose4; } }, toDate: function toDate() { { return toDate127; } }, subYears: function subYears() { { return subYears3; } }, subWeeks: function subWeeks() { { return subWeeks3; } }, subSeconds: function subSeconds() { { return subSeconds3; } }, subQuarters: function subQuarters() { { return subQuarters3; } }, subMonths: function subMonths() { { return subMonths4; } }, subMinutes: function subMinutes() { { return subMinutes3; } }, subMilliseconds: function subMilliseconds() { { return subMilliseconds3; } }, subISOWeekYears: function subISOWeekYears() { { return subISOWeekYears4; } }, subHours: function subHours() { { return subHours3; } }, subDays: function subDays() { { return subDays5; } }, subBusinessDays: function subBusinessDays() { { return subBusinessDays3; } }, sub: function sub() { { return sub3; } }, startOfYear: function startOfYear() { { return startOfYear5; } }, startOfWeekYearWithOptions: function startOfWeekYearWithOptions() { { return _startOfWeekYearWithOptions; } }, startOfWeekYear: function startOfWeekYear() { { return startOfWeekYear5; } }, startOfWeekWithOptions: function startOfWeekWithOptions() { { return _startOfWeekWithOptions; } }, startOfWeek: function startOfWeek() { { return startOfWeek12; } }, startOfSecond: function startOfSecond() { { return startOfSecond4; } }, startOfQuarter: function startOfQuarter() { { return startOfQuarter5; } }, startOfMonth: function startOfMonth() { { return startOfMonth6; } }, startOfMinute: function startOfMinute() { { return startOfMinute5; } }, startOfISOWeekYear: function startOfISOWeekYear() { { return startOfISOWeekYear7; } }, startOfISOWeek: function startOfISOWeek() { { return startOfISOWeek11; } }, startOfHour: function startOfHour() { { return startOfHour4; } }, startOfDecade: function startOfDecade() { { return startOfDecade3; } }, startOfDay: function startOfDay() { { return startOfDay5; } }, setYear: function setYear() { { return setYear3; } }, setWeekYearWithOptions: function setWeekYearWithOptions() { { return _setWeekYearWithOptions; } }, setWeekYear: function setWeekYear() { { return setWeekYear3; } }, setWeekWithOptions: function setWeekWithOptions() { { return _setWeekWithOptions; } }, setWeek: function setWeek() { { return setWeek4; } }, setSeconds: function setSeconds() { { return setSeconds3; } }, setQuarter: function setQuarter() { { return setQuarter3; } }, setMonth: function setMonth() { { return setMonth4; } }, setMinutes: function setMinutes() { { return setMinutes3; } }, setMilliseconds: function setMilliseconds() { { return setMilliseconds3; } }, setISOWeekYear: function setISOWeekYear() { { return setISOWeekYear4; } }, setISOWeek: function setISOWeek() { { return setISOWeek4; } }, setISODay: function setISODay() { { return setISODay4; } }, setHours: function setHours() { { return setHours3; } }, setDayWithOptions: function setDayWithOptions() { { return _setDayWithOptions; } }, setDayOfYear: function setDayOfYear() { { return setDayOfYear3; } }, setDay: function setDay() { { return setDay6; } }, setDate: function setDate() { { return setDate3; } }, set: function set() { { return set3; } }, secondsToMinutes: function secondsToMinutes() { { return secondsToMinutes3; } }, secondsToMilliseconds: function secondsToMilliseconds() { { return secondsToMilliseconds3; } }, secondsToHours: function secondsToHours() { { return secondsToHours3; } }, roundToNearestMinutesWithOptions: function roundToNearestMinutesWithOptions() { { return _roundToNearestMinutesWithOptions; } }, roundToNearestMinutes: function roundToNearestMinutes() { { return roundToNearestMinutes3; } }, roundToNearestHoursWithOptions: function roundToNearestHoursWithOptions() { { return _roundToNearestHoursWithOptions; } }, roundToNearestHours: function roundToNearestHours() { { return roundToNearestHours3; } }, quartersToYears: function quartersToYears() { { return quartersToYears3; } }, quartersToMonths: function quartersToMonths() { { return quartersToMonths3; } }, previousWednesday: function previousWednesday() { { return previousWednesday3; } }, previousTuesday: function previousTuesday() { { return previousTuesday3; } }, previousThursday: function previousThursday() { { return previousThursday3; } }, previousSunday: function previousSunday() { { return previousSunday3; } }, previousSaturday: function previousSaturday() { { return previousSaturday3; } }, previousMonday: function previousMonday() { { return previousMonday3; } }, previousFriday: function previousFriday() { { return previousFriday3; } }, previousDay: function previousDay() { { return previousDay3; } }, parseWithOptions: function parseWithOptions() { { return _parseWithOptions; } }, parseJSON: function parseJSON() { { return parseJSON3; } }, parseISOWithOptions: function parseISOWithOptions() { { return _parseISOWithOptions; } }, parseISO: function parseISO() { { return parseISO3; } }, parse: function parse() { { return parse4; } }, nextWednesday: function nextWednesday() { { return nextWednesday3; } }, nextTuesday: function nextTuesday() { { return nextTuesday3; } }, nextThursday: function nextThursday() { { return nextThursday3; } }, nextSunday: function nextSunday() { { return nextSunday3; } }, nextSaturday: function nextSaturday() { { return nextSaturday3; } }, nextMonday: function nextMonday() { { return nextMonday3; } }, nextFriday: function nextFriday() { { return nextFriday3; } }, nextDay: function nextDay() { { return nextDay3; } }, monthsToYears: function monthsToYears() { { return monthsToYears3; } }, monthsToQuarters: function monthsToQuarters() { { return monthsToQuarters3; } }, minutesToSeconds: function minutesToSeconds() { { return minutesToSeconds3; } }, minutesToMilliseconds: function minutesToMilliseconds() { { return minutesToMilliseconds3; } }, minutesToHours: function minutesToHours() { { return minutesToHours3; } }, min: function min() { { return min4; } }, millisecondsToSeconds: function millisecondsToSeconds() { { return millisecondsToSeconds3; } }, millisecondsToMinutes: function millisecondsToMinutes() { { return millisecondsToMinutes3; } }, millisecondsToHours: function millisecondsToHours() { { return millisecondsToHours3; } }, milliseconds: function milliseconds() { { return milliseconds3; } }, max: function max() { { return max4; } }, lightFormat: function lightFormat() { { return lightFormat3; } }, lastDayOfYear: function lastDayOfYear() { { return lastDayOfYear3; } }, lastDayOfWeekWithOptions: function lastDayOfWeekWithOptions() { { return _lastDayOfWeekWithOptions; } }, lastDayOfWeek: function lastDayOfWeek() { { return lastDayOfWeek4; } }, lastDayOfQuarter: function lastDayOfQuarter() { { return lastDayOfQuarter3; } }, lastDayOfMonth: function lastDayOfMonth() { { return lastDayOfMonth4; } }, lastDayOfISOWeekYear: function lastDayOfISOWeekYear() { { return lastDayOfISOWeekYear3; } }, lastDayOfISOWeek: function lastDayOfISOWeek() { { return lastDayOfISOWeek3; } }, lastDayOfDecade: function lastDayOfDecade() { { return lastDayOfDecade3; } }, isWithinInterval: function isWithinInterval() { { return isWithinInterval3; } }, isWeekend: function isWeekend() { { return isWeekend6; } }, isWednesday: function isWednesday() { { return isWednesday3; } }, isValid: function isValid() { { return isValid9; } }, isTuesday: function isTuesday() { { return isTuesday3; } }, isThursday: function isThursday() { { return isThursday3; } }, isSunday: function isSunday() { { return isSunday4; } }, isSaturday: function isSaturday() { { return isSaturday4; } }, isSameYear: function isSameYear() { { return isSameYear3; } }, isSameWeekWithOptions: function isSameWeekWithOptions() { { return _isSameWeekWithOptions; } }, isSameWeek: function isSameWeek() { { return isSameWeek4; } }, isSameSecond: function isSameSecond() { { return isSameSecond3; } }, isSameQuarter: function isSameQuarter() { { return isSameQuarter3; } }, isSameMonth: function isSameMonth() { { return isSameMonth3; } }, isSameMinute: function isSameMinute() { { return isSameMinute3; } }, isSameISOWeekYear: function isSameISOWeekYear() { { return isSameISOWeekYear3; } }, isSameISOWeek: function isSameISOWeek() { { return isSameISOWeek3; } }, isSameHour: function isSameHour() { { return isSameHour3; } }, isSameDay: function isSameDay() { { return isSameDay4; } }, isMonday: function isMonday() { { return isMonday3; } }, isMatchWithOptions: function isMatchWithOptions() { { return _isMatchWithOptions; } }, isMatch: function isMatch() { { return isMatch3; } }, isLeapYear: function isLeapYear() { { return isLeapYear4; } }, isLastDayOfMonth: function isLastDayOfMonth() { { return isLastDayOfMonth4; } }, isFriday: function isFriday() { { return isFriday3; } }, isFirstDayOfMonth: function isFirstDayOfMonth() { { return isFirstDayOfMonth3; } }, isExists: function isExists() { { return isExists3; } }, isEqual: function isEqual() { { return isEqual3; } }, isDate: function isDate() { { return isDate4; } }, isBefore: function isBefore() { { return isBefore3; } }, isAfter: function isAfter() { { return isAfter3; } }, intlFormatDistanceWithOptions: function intlFormatDistanceWithOptions() { { return _intlFormatDistanceWithOptions; } }, intlFormatDistance: function intlFormatDistance() { { return intlFormatDistance3; } }, intlFormat: function intlFormat() { { return intlFormat3; } }, intervalWithOptions: function intervalWithOptions() { { return _intervalWithOptions; } }, intervalToDuration: function intervalToDuration() { { return intervalToDuration3; } }, interval: function interval() { { return interval3; } }, hoursToSeconds: function hoursToSeconds() { { return hoursToSeconds3; } }, hoursToMinutes: function hoursToMinutes() { { return hoursToMinutes3; } }, hoursToMilliseconds: function hoursToMilliseconds() { { return hoursToMilliseconds3; } }, getYear: function getYear() { { return getYear3; } }, getWeeksInMonthWithOptions: function getWeeksInMonthWithOptions() { { return _getWeeksInMonthWithOptions; } }, getWeeksInMonth: function getWeeksInMonth() { { return getWeeksInMonth3; } }, getWeekYearWithOptions: function getWeekYearWithOptions() { { return _getWeekYearWithOptions; } }, getWeekYear: function getWeekYear() { { return getWeekYear5; } }, getWeekWithOptions: function getWeekWithOptions() { { return _getWeekWithOptions; } }, getWeekOfMonthWithOptions: function getWeekOfMonthWithOptions() { { return _getWeekOfMonthWithOptions; } }, getWeekOfMonth: function getWeekOfMonth() { { return getWeekOfMonth3; } }, getWeek: function getWeek() { { return getWeek4; } }, getUnixTime: function getUnixTime() { { return getUnixTime3; } }, getTime: function getTime() { { return getTime3; } }, getSeconds: function getSeconds() { { return getSeconds3; } }, getQuarter: function getQuarter() { { return getQuarter4; } }, getOverlappingDaysInIntervals: function getOverlappingDaysInIntervals() { { return getOverlappingDaysInIntervals3; } }, getMonth: function getMonth() { { return getMonth3; } }, getMinutes: function getMinutes() { { return getMinutes3; } }, getMilliseconds: function getMilliseconds() { { return getMilliseconds3; } }, getISOWeeksInYear: function getISOWeeksInYear() { { return getISOWeeksInYear3; } }, getISOWeekYear: function getISOWeekYear() { { return getISOWeekYear8; } }, getISOWeek: function getISOWeek() { { return getISOWeek4; } }, getISODay: function getISODay() { { return getISODay3; } }, getHours: function getHours() { { return getHours3; } }, getDecade: function getDecade() { { return getDecade3; } }, getDaysInYear: function getDaysInYear() { { return getDaysInYear3; } }, getDaysInMonth: function getDaysInMonth() { { return getDaysInMonth3; } }, getDayOfYear: function getDayOfYear() { { return getDayOfYear4; } }, getDay: function getDay() { { return getDay3; } }, getDate: function getDate() { { return getDate3; } }, fromUnixTime: function fromUnixTime() { { return fromUnixTime3; } }, formatWithOptions: function formatWithOptions() { { return _formatWithOptions; } }, formatRelativeWithOptions: function formatRelativeWithOptions() { { return _formatRelativeWithOptions; } }, formatRelative: function formatRelative() { { return formatRelative5; } }, formatRFC7231: function formatRFC7231() { { return formatRFC72313; } }, formatRFC3339WithOptions: function formatRFC3339WithOptions() { { return _formatRFC3339WithOptions; } }, formatRFC3339: function formatRFC3339() { { return formatRFC33393; } }, formatISOWithOptions: function formatISOWithOptions() { { return _formatISOWithOptions; } }, formatISODuration: function formatISODuration() { { return formatISODuration3; } }, formatISO9075WithOptions: function formatISO9075WithOptions() { { return _formatISO9075WithOptions; } }, formatISO9075: function formatISO9075() { { return formatISO90753; } }, formatISO: function formatISO() { { return formatISO3; } }, formatDurationWithOptions: function formatDurationWithOptions() { { return _formatDurationWithOptions; } }, formatDuration: function formatDuration() { { return formatDuration3; } }, formatDistanceWithOptions: function formatDistanceWithOptions() { { return _formatDistanceWithOptions; } }, formatDistanceStrictWithOptions: function formatDistanceStrictWithOptions() { { return _formatDistanceStrictWithOptions; } }, formatDistanceStrict: function formatDistanceStrict() { { return formatDistanceStrict3; } }, formatDistance: function formatDistance() { { return formatDistance5; } }, format: function format() { { return format3; } }, endOfYear: function endOfYear() { { return endOfYear4; } }, endOfWeekWithOptions: function endOfWeekWithOptions() { { return _endOfWeekWithOptions; } }, endOfWeek: function endOfWeek() { { return endOfWeek4; } }, endOfSecond: function endOfSecond() { { return endOfSecond3; } }, endOfQuarter: function endOfQuarter() { { return endOfQuarter3; } }, endOfMonth: function endOfMonth() { { return endOfMonth5; } }, endOfMinute: function endOfMinute() { { return endOfMinute3; } }, endOfISOWeekYear: function endOfISOWeekYear() { { return endOfISOWeekYear3; } }, endOfISOWeek: function endOfISOWeek() { { return endOfISOWeek3; } }, endOfHour: function endOfHour() { { return endOfHour3; } }, endOfDecade: function endOfDecade() { { return endOfDecade3; } }, endOfDay: function endOfDay() { { return endOfDay4; } }, eachYearOfIntervalWithOptions: function eachYearOfIntervalWithOptions() { { return _eachYearOfIntervalWithOptions; } }, eachYearOfInterval: function eachYearOfInterval() { { return eachYearOfInterval3; } }, eachWeekendOfYear: function eachWeekendOfYear() { { return eachWeekendOfYear3; } }, eachWeekendOfMonth: function eachWeekendOfMonth() { { return eachWeekendOfMonth3; } }, eachWeekendOfInterval: function eachWeekendOfInterval() { { return eachWeekendOfInterval3; } }, eachWeekOfIntervalWithOptions: function eachWeekOfIntervalWithOptions() { { return _eachWeekOfIntervalWithOptions; } }, eachWeekOfInterval: function eachWeekOfInterval() { { return eachWeekOfInterval3; } }, eachQuarterOfIntervalWithOptions: function eachQuarterOfIntervalWithOptions() { { return _eachQuarterOfIntervalWithOptions; } }, eachQuarterOfInterval: function eachQuarterOfInterval() { { return eachQuarterOfInterval3; } }, eachMonthOfIntervalWithOptions: function eachMonthOfIntervalWithOptions() { { return _eachMonthOfIntervalWithOptions; } }, eachMonthOfInterval: function eachMonthOfInterval() { { return eachMonthOfInterval3; } }, eachMinuteOfIntervalWithOptions: function eachMinuteOfIntervalWithOptions() { { return _eachMinuteOfIntervalWithOptions; } }, eachMinuteOfInterval: function eachMinuteOfInterval() { { return eachMinuteOfInterval3; } }, eachHourOfIntervalWithOptions: function eachHourOfIntervalWithOptions() { { return _eachHourOfIntervalWithOptions; } }, eachHourOfInterval: function eachHourOfInterval() { { return eachHourOfInterval3; } }, eachDayOfIntervalWithOptions: function eachDayOfIntervalWithOptions() { { return _eachDayOfIntervalWithOptions; } }, eachDayOfInterval: function eachDayOfInterval() { { return eachDayOfInterval3; } }, differenceInYears: function differenceInYears() { { return differenceInYears3; } }, differenceInWeeksWithOptions: function differenceInWeeksWithOptions() { { return _differenceInWeeksWithOptions; } }, differenceInWeeks: function differenceInWeeks() { { return differenceInWeeks3; } }, differenceInSecondsWithOptions: function differenceInSecondsWithOptions() { { return _differenceInSecondsWithOptions; } }, differenceInSeconds: function differenceInSeconds() { { return differenceInSeconds3; } }, differenceInQuartersWithOptions: function differenceInQuartersWithOptions() { { return _differenceInQuartersWithOptions; } }, differenceInQuarters: function differenceInQuarters() { { return differenceInQuarters3; } }, differenceInMonths: function differenceInMonths() { { return differenceInMonths3; } }, differenceInMinutesWithOptions: function differenceInMinutesWithOptions() { { return _differenceInMinutesWithOptions; } }, differenceInMinutes: function differenceInMinutes() { { return differenceInMinutes3; } }, differenceInMilliseconds: function differenceInMilliseconds() { { return differenceInMilliseconds4; } }, differenceInISOWeekYears: function differenceInISOWeekYears() { { return differenceInISOWeekYears3; } }, differenceInHoursWithOptions: function differenceInHoursWithOptions() { { return _differenceInHoursWithOptions; } }, differenceInHours: function differenceInHours() { { return differenceInHours3; } }, differenceInDays: function differenceInDays() { { return differenceInDays3; } }, differenceInCalendarYears: function differenceInCalendarYears() { { return differenceInCalendarYears3; } }, differenceInCalendarWeeksWithOptions: function differenceInCalendarWeeksWithOptions() { { return _differenceInCalendarWeeksWithOptions; } }, differenceInCalendarWeeks: function differenceInCalendarWeeks() { { return differenceInCalendarWeeks3; } }, differenceInCalendarQuarters: function differenceInCalendarQuarters() { { return differenceInCalendarQuarters3; } }, differenceInCalendarMonths: function differenceInCalendarMonths() { { return differenceInCalendarMonths3; } }, differenceInCalendarISOWeeks: function differenceInCalendarISOWeeks() { { return differenceInCalendarISOWeeks3; } }, differenceInCalendarISOWeekYears: function differenceInCalendarISOWeekYears() { { return differenceInCalendarISOWeekYears3; } }, differenceInCalendarDays: function differenceInCalendarDays() { { return differenceInCalendarDays5; } }, differenceInBusinessDays: function differenceInBusinessDays() { { return differenceInBusinessDays3; } }, daysToWeeks: function daysToWeeks() { { return daysToWeeks3; } }, constructFrom: function constructFrom() { { return constructFrom12; } }, compareDesc: function compareDesc() { { return compareDesc3; } }, compareAsc: function compareAsc() { { return compareAsc3; } }, closestTo: function closestTo() { { return closestTo3; } }, closestIndexTo: function closestIndexTo() { { return closestIndexTo3; } }, clamp: function clamp() { { return clamp3; } }, areIntervalsOverlappingWithOptions: function areIntervalsOverlappingWithOptions() { { return _areIntervalsOverlappingWithOptions; } }, areIntervalsOverlapping: function areIntervalsOverlapping() { { return areIntervalsOverlapping3; } }, addYears: function addYears() { { return addYears3; } }, addWeeks: function addWeeks() { { return addWeeks3; } }, addSeconds: function addSeconds() { { return addSeconds3; } }, addQuarters: function addQuarters() { { return addQuarters3; } }, addMonths: function addMonths() { { return addMonths4; } }, addMinutes: function addMinutes() { { return addMinutes3; } }, addMilliseconds: function addMilliseconds() { { return addMilliseconds4; } }, addISOWeekYears: function addISOWeekYears() { { return addISOWeekYears3; } }, addHours: function addHours() { { return addHours3; } }, addDays: function addDays() { { return addDays4; } }, addBusinessDays: function addBusinessDays() { { return addBusinessDays3; } }, add: function add() { { return add3; } } }); // lib/toDate.mjs function toDate(argument) { var argStr = Object.prototype.toString.call(argument); if (argument instanceof Date || _typeof(argument) === "object" && argStr === "[object Date]") { return new argument.constructor(+argument); } else if (typeof argument === "number" || argStr === "[object Number]" || typeof argument === "string" || argStr === "[object String]") { return new Date(argument); } else { return new Date(NaN); } } // lib/constructFrom.mjs function constructFrom(date, value) { if (date instanceof Date) { return new date.constructor(value); } else { return new Date(value); } } // lib/addDays.mjs function addDays(date, amount) { var _date = toDate(date); if (isNaN(amount)) return constructFrom(date, NaN); if (!amount) { return _date; } _date.setDate(_date.getDate() + amount); return _date; } // lib/addMonths.mjs function addMonths(date, amount) { var _date = toDate(date); if (isNaN(amount)) return constructFrom(date, NaN); if (!amount) { return _date; } var dayOfMonth = _date.getDate(); var endOfDesiredMonth = constructFrom(date, _date.getTime()); endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0); var daysInMonth = endOfDesiredMonth.getDate(); if (dayOfMonth >= daysInMonth) { return endOfDesiredMonth; } else { _date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth); return _date; } } // lib/add.mjs function add(date, duration) { var _duration$years = duration.years,years = _duration$years === void 0 ? 0 : _duration$years,_duration$months = duration.months,months = _duration$months === void 0 ? 0 : _duration$months,_duration$weeks = duration.weeks,weeks = _duration$weeks === void 0 ? 0 : _duration$weeks,_duration$days = duration.days,days = _duration$days === void 0 ? 0 : _duration$days,_duration$hours = duration.hours,hours = _duration$hours === void 0 ? 0 : _duration$hours,_duration$minutes = duration.minutes,minutes = _duration$minutes === void 0 ? 0 : _duration$minutes,_duration$seconds = duration.seconds,seconds = _duration$seconds === void 0 ? 0 : _duration$seconds; var _date = toDate(date); var dateWithMonths = months || years ? addMonths(_date, months + years * 12) : _date; var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths; var minutesToAdd = minutes + hours * 60; var secondsToAdd = seconds + minutesToAdd * 60; var msToAdd = secondsToAdd * 1000; var finalDate = constructFrom(date, dateWithDays.getTime() + msToAdd); return finalDate; } // lib/fp/_lib/convertToFP.mjs function convertToFP(fn, arity) {var curriedArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; return curriedArgs.length >= arity ? fn.apply(void 0, _toConsumableArray(curriedArgs.slice(0, arity).reverse())) : function () {for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}return convertToFP(fn, arity, curriedArgs.concat(args));}; } // lib/fp/add.mjs var add3 = convertToFP(add, 2); // lib/isSaturday.mjs function isSaturday(date) { return toDate(date).getDay() === 6; } // lib/isSunday.mjs function isSunday(date) { return toDate(date).getDay() === 0; } // lib/isWeekend.mjs function isWeekend(date) { var day = toDate(date).getDay(); return day === 0 || day === 6; } // lib/addBusinessDays.mjs function addBusinessDays(date, amount) { var _date = toDate(date); var startedOnWeekend = isWeekend(_date); if (isNaN(amount)) return constructFrom(date, NaN); var hours = _date.getHours(); var sign = amount < 0 ? -1 : 1; var fullWeeks = Math.trunc(amount / 5); _date.setDate(_date.getDate() + fullWeeks * 7); var restDays = Math.abs(amount % 5); while (restDays > 0) { _date.setDate(_date.getDate() + sign); if (!isWeekend(_date)) restDays -= 1; } if (startedOnWeekend && isWeekend(_date) && amount !== 0) { if (isSaturday(_date)) _date.setDate(_date.getDate() + (sign < 0 ? 2 : -1)); if (isSunday(_date)) _date.setDate(_date.getDate() + (sign < 0 ? 1 : -2)); } _date.setHours(hours); return _date; } // lib/fp/addBusinessDays.mjs var addBusinessDays3 = convertToFP(addBusinessDays, 2); // lib/fp/addDays.mjs var addDays4 = convertToFP(addDays, 2); // lib/addMilliseconds.mjs function addMilliseconds(date, amount) { var timestamp = +toDate(date); return constructFrom(date, timestamp + amount); } // lib/constants.mjs var daysInWeek = 7; var daysInYear = 365.2425; var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000; var minTime = -maxTime; var millisecondsInWeek = 604800000; var millisecondsInDay = 86400000; var millisecondsInMinute = 60000; var millisecondsInHour = 3600000; var millisecondsInSecond = 1000; var minutesInYear = 525600; var minutesInMonth = 43200; var minutesInDay = 1440; var minutesInHour = 60; var monthsInQuarter = 3; var monthsInYear = 12; var quartersInYear = 4; var secondsInHour = 3600; var secondsInMinute = 60; var secondsInDay = secondsInHour * 24; var secondsInWeek = secondsInDay * 7; var secondsInYear = secondsInDay * daysInYear; var secondsInMonth = secondsInYear / 12; var secondsInQuarter = secondsInMonth * 3; // lib/addHours.mjs function addHours(date, amount) { return addMilliseconds(date, amount * millisecondsInHour); } // lib/fp/addHours.mjs var addHours3 = convertToFP(addHours, 2); // lib/_lib/defaultOptions.mjs function getDefaultOptions() { return defaultOptions; } function setDefaultOptions(newOptions) { defaultOptions = newOptions; } var defaultOptions = {}; // lib/startOfWeek.mjs function startOfWeek(date, options) {var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _defaultOptions3$loca; var defaultOptions3 = getDefaultOptions(); var weekStartsOn = (_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 || (_options$locale = options.locale) === null || _options$locale === void 0 || (_options$locale = _options$locale.options) === null || _options$locale === void 0 ? void 0 : _options$locale.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions3.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions3$loca = defaultOptions3.locale) === null || _defaultOptions3$loca === void 0 || (_defaultOptions3$loca = _defaultOptions3$loca.options) === null || _defaultOptions3$loca === void 0 ? void 0 : _defaultOptions3$loca.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0; var _date = toDate(date); var day = _date.getDay(); var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; _date.setDate(_date.getDate() - diff); _date.setHours(0, 0, 0, 0); return _date; } // lib/startOfISOWeek.mjs function startOfISOWeek(date) { return startOfWeek(date, { weekStartsOn: 1 }); } // lib/getISOWeekYear.mjs function getISOWeekYear(date) { var _date = toDate(date); var year = _date.getFullYear(); var fourthOfJanuaryOfNextYear = constructFrom(date, 0); fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear); var fourthOfJanuaryOfThisYear = constructFrom(date, 0); fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4); fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0); var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear); if (_date.getTime() >= startOfNextYear.getTime()) { return year + 1; } else if (_date.getTime() >= startOfThisYear.getTime()) { return year; } else { return year - 1; } } // lib/startOfDay.mjs function startOfDay(date) { var _date = toDate(date); _date.setHours(0, 0, 0, 0); return _date; } // lib/_lib/getTimezoneOffsetInMilliseconds.mjs function getTimezoneOffsetInMilliseconds(date) { var _date = toDate(date); var utcDate = new Date(Date.UTC(_date.getFullYear(), _date.getMonth(), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds(), _date.getMilliseconds())); utcDate.setUTCFullYear(_date.getFullYear()); return +date - +utcDate; } // lib/differenceInCalendarDays.mjs function differenceInCalendarDays(dateLeft, dateRight) { var startOfDayLeft = startOfDay(dateLeft); var startOfDayRight = startOfDay(dateRight); var timestampLeft = +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft); var timestampRight = +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight); return Math.round((timestampLeft - timestampRight) / millisecondsInDay); } // lib/startOfISOWeekYear.mjs function startOfISOWeekYear(date) { var year = getISOWeekYear(date); var fourthOfJanuary = constructFrom(date, 0); fourthOfJanuary.setFullYear(year, 0, 4); fourthOfJanuary.setHours(0, 0, 0, 0); return startOfISOWeek(fourthOfJanuary); } // lib/setISOWeekYear.mjs function setISOWeekYear(date, weekYear) { var _date = toDate(date); var diff = differenceInCalendarDays(_date, startOfISOWeekYear(_date)); var fourthOfJanuary = constructFrom(date, 0); fourthOfJanuary.setFullYear(weekYear, 0, 4); fourthOfJanuary.setHours(0, 0, 0, 0); _date = startOfISOWeekYear(fourthOfJanuary); _date.setDate(_date.getDate() + diff); return _date; } // lib/addISOWeekYears.mjs function addISOWeekYears(date, amount) { return setISOWeekYear(date, getISOWeekYear(date) + amount); } // lib/fp/addISOWeekYears.mjs var addISOWeekYears3 = convertToFP(addISOWeekYears, 2); // lib/fp/addMilliseconds.mjs var addMilliseconds4 = convertToFP(addMilliseconds, 2); // lib/addMinutes.mjs function addMinutes(date, amount) { return addMilliseconds(date, amount * millisecondsInMinute); } // lib/fp/addMinutes.mjs var addMinutes3 = convertToFP(addMinutes, 2); // lib/fp/addMonths.mjs var addMonths4 = convertToFP(addMonths, 2); // lib/addQuarters.mjs function addQuarters(date, amount) { var months = amount * 3; return addMonths(date, months); } // lib/fp/addQuarters.mjs var addQuarters3 = convertToFP(addQuarters, 2); // lib/addSeconds.mjs function addSeconds(date, amount) { return addMilliseconds(date, amount * 1000); } // lib/fp/addSeconds.mjs var addSeconds3 = convertToFP(addSeconds, 2); // lib/addWeeks.mjs function addWeeks(date, amount) { var days = amount * 7; return addDays(date, days); } // lib/fp/addWeeks.mjs var addWeeks3 = convertToFP(addWeeks, 2); // lib/addYears.mjs function addYears(date, amount) { return addMonths(date, amount * 12); } // lib/fp/addYears.mjs var addYears3 = convertToFP(addYears, 2); // lib/areIntervalsOverlapping.mjs function areIntervalsOverlapping(intervalLeft, intervalRight, options) { var _sort = [ +toDate(intervalLeft.start), +toDate(intervalLeft.end)]. sort(function (a, b) {return a - b;}),_sort2 = _slicedToArray(_sort, 2),leftStartTime = _sort2[0],leftEndTime = _sort2[1]; var _sort3 = [ +toDate(intervalRight.start), +toDate(intervalRight.end)]. sort(function (a, b) {return a - b;}),_sort4 = _slicedToArray(_sort3, 2),rightStartTime = _sort4[0],rightEndTime = _sort4[1]; if (options !== null && options !== void 0 && options.inclusive) return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime; return leftStartTime < rightEndTime && rightStartTime < leftEndTime; } // lib/fp/areIntervalsOverlapping.mjs var areIntervalsOverlapping3 = convertToFP(areIntervalsOverlapping, 2); // lib/fp/areIntervalsOverlappingWithOptions.mjs var _areIntervalsOverlappingWithOptions = convertToFP(areIntervalsOverlapping, 3); // lib/max.mjs function max(dates) { var result; dates.forEach(function (dirtyDate) { var currentDate = toDate(dirtyDate); if (result === undefined || result < currentDate || isNaN(Number(currentDate))) { result = currentDate; } }); return result || new Date(NaN); } // lib/min.mjs function min(dates) { var result; dates.forEach(function (dirtyDate) { var date = toDate(dirtyDate); if (!result || result > date || isNaN(+date)) { result = date; } }); return result || new Date(NaN); } // lib/clamp.mjs function clamp(date, interval) { return min([max([date, interval.start]), interval.end]); } // lib/fp/clamp.mjs var clamp3 = convertToFP(clamp, 2); // lib/closestIndexTo.mjs function closestIndexTo(dateToCompare, dates) { var date = toDate(dateToCompare); if (isNaN(Number(date))) return NaN; var timeToCompare = date.getTime(); var result; var minDistance; dates.forEach(function (dirtyDate, index) { var currentDate = toDate(dirtyDate); if (isNaN(Number(currentDate))) { result = NaN; minDistance = NaN; return; } var distance = Math.abs(timeToCompare - currentDate.getTime()); if (result == null || distance < minDistance) { result = index; minDistance = distance; } }); return result; } // lib/fp/closestIndexTo.mjs var closestIndexTo3 = convertToFP(closestIndexTo, 2); // lib/closestTo.mjs function closestTo(dateToCompare, dates) { var date = toDate(dateToCompare); if (isNaN(Number(date))) return constructFrom(dateToCompare, NaN); var timeToCompare = date.getTime(); var result; var minDistance; dates.forEach(function (dirtyDate) { var currentDate = toDate(dirtyDate); if (isNaN(Number(currentDate))) { result = constructFrom(dateToCompare, NaN); minDistance = NaN; return; } var distance = Math.abs(timeToCompare - currentDate.getTime()); if (result == null || distance < minDistance) { result = currentDate; minDistance = distance; } }); return result; } // lib/fp/closestTo.mjs var closestTo3 = convertToFP(closestTo, 2); // lib/compareAsc.mjs function compareAsc(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var diff = _dateLeft.getTime() - _dateRight.getTime(); if (diff < 0) { return -1; } else if (diff > 0) { return 1; } else { return diff; } } // lib/fp/compareAsc.mjs var compareAsc3 = convertToFP(compareAsc, 2); // lib/compareDesc.mjs function compareDesc(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var diff = _dateLeft.getTime() - _dateRight.getTime(); if (diff > 0) { return -1; } else if (diff < 0) { return 1; } else { return diff; } } // lib/fp/compareDesc.mjs var compareDesc3 = convertToFP(compareDesc, 2); // lib/fp/constructFrom.mjs var constructFrom12 = convertToFP(constructFrom, 2); // lib/daysToWeeks.mjs function daysToWeeks(days) { var weeks = days / daysInWeek; var result = Math.trunc(weeks); return result === 0 ? 0 : result; } // lib/fp/daysToWeeks.mjs var daysToWeeks3 = convertToFP(daysToWeeks, 1); // lib/isSameDay.mjs function isSameDay(dateLeft, dateRight) { var dateLeftStartOfDay = startOfDay(dateLeft); var dateRightStartOfDay = startOfDay(dateRight); return +dateLeftStartOfDay === +dateRightStartOfDay; } // lib/isDate.mjs function isDate(value) { return value instanceof Date || _typeof(value) === "object" && Object.prototype.toString.call(value) === "[object Date]"; } // lib/isValid.mjs function isValid(date) { if (!isDate(date) && typeof date !== "number") { return false; } var _date = toDate(date); return !isNaN(Number(_date)); } // lib/differenceInBusinessDays.mjs function differenceInBusinessDays(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); if (!isValid(_dateLeft) || !isValid(_dateRight)) return NaN; var calendarDifference = differenceInCalendarDays(_dateLeft, _dateRight); var sign = calendarDifference < 0 ? -1 : 1; var weeks = Math.trunc(calendarDifference / 7); var result = weeks * 5; _dateRight = addDays(_dateRight, weeks * 7); while (!isSameDay(_dateLeft, _dateRight)) { result += isWeekend(_dateRight) ? 0 : sign; _dateRight = addDays(_dateRight, sign); } return result === 0 ? 0 : result; } // lib/fp/differenceInBusinessDays.mjs var differenceInBusinessDays3 = convertToFP(differenceInBusinessDays, 2); // lib/fp/differenceInCalendarDays.mjs var differenceInCalendarDays5 = convertToFP(differenceInCalendarDays, 2); // lib/differenceInCalendarISOWeekYears.mjs function differenceInCalendarISOWeekYears(dateLeft, dateRight) { return getISOWeekYear(dateLeft) - getISOWeekYear(dateRight); } // lib/fp/differenceInCalendarISOWeekYears.mjs var differenceInCalendarISOWeekYears3 = convertToFP(differenceInCalendarISOWeekYears, 2); // lib/differenceInCalendarISOWeeks.mjs function differenceInCalendarISOWeeks(dateLeft, dateRight) { var startOfISOWeekLeft = startOfISOWeek(dateLeft); var startOfISOWeekRight = startOfISOWeek(dateRight); var timestampLeft = +startOfISOWeekLeft - getTimezoneOffsetInMilliseconds(startOfISOWeekLeft); var timestampRight = +startOfISOWeekRight - getTimezoneOffsetInMilliseconds(startOfISOWeekRight); return Math.round((timestampLeft - timestampRight) / millisecondsInWeek); } // lib/fp/differenceInCalendarISOWeeks.mjs var differenceInCalendarISOWeeks3 = convertToFP(differenceInCalendarISOWeeks, 2); // lib/differenceInCalendarMonths.mjs function differenceInCalendarMonths(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear(); var monthDiff = _dateLeft.getMonth() - _dateRight.getMonth(); return yearDiff * 12 + monthDiff; } // lib/fp/differenceInCalendarMonths.mjs var differenceInCalendarMonths3 = convertToFP(differenceInCalendarMonths, 2); // lib/getQuarter.mjs function getQuarter(date) { var _date = toDate(date); var quarter = Math.trunc(_date.getMonth() / 3) + 1; return quarter; } // lib/differenceInCalendarQuarters.mjs function differenceInCalendarQuarters(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear(); var quarterDiff = getQuarter(_dateLeft) - getQuarter(_dateRight); return yearDiff * 4 + quarterDiff; } // lib/fp/differenceInCalendarQuarters.mjs var differenceInCalendarQuarters3 = convertToFP(differenceInCalendarQuarters, 2); // lib/differenceInCalendarWeeks.mjs function differenceInCalendarWeeks(dateLeft, dateRight, options) { var startOfWeekLeft = startOfWeek(dateLeft, options); var startOfWeekRight = startOfWeek(dateRight, options); var timestampLeft = +startOfWeekLeft - getTimezoneOffsetInMilliseconds(startOfWeekLeft); var timestampRight = +startOfWeekRight - getTimezoneOffsetInMilliseconds(startOfWeekRight); return Math.round((timestampLeft - timestampRight) / millisecondsInWeek); } // lib/fp/differenceInCalendarWeeks.mjs var differenceInCalendarWeeks3 = convertToFP(differenceInCalendarWeeks, 2); // lib/fp/differenceInCalendarWeeksWithOptions.mjs var _differenceInCalendarWeeksWithOptions = convertToFP(differenceInCalendarWeeks, 3); // lib/differenceInCalendarYears.mjs function differenceInCalendarYears(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); return _dateLeft.getFullYear() - _dateRight.getFullYear(); } // lib/fp/differenceInCalendarYears.mjs var differenceInCalendarYears3 = convertToFP(differenceInCalendarYears, 2); // lib/differenceInDays.mjs function differenceInDays(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var sign = compareLocalAsc(_dateLeft, _dateRight); var difference = Math.abs(differenceInCalendarDays(_dateLeft, _dateRight)); _dateLeft.setDate(_dateLeft.getDate() - sign * difference); var isLastDayNotFull = Number(compareLocalAsc(_dateLeft, _dateRight) === -sign); var result = sign * (difference - isLastDayNotFull); return result === 0 ? 0 : result; } var compareLocalAsc = function compareLocalAsc(dateLeft, dateRight) { var diff = dateLeft.getFullYear() - dateRight.getFullYear() || dateLeft.getMonth() - dateRight.getMonth() || dateLeft.getDate() - dateRight.getDate() || dateLeft.getHours() - dateRight.getHours() || dateLeft.getMinutes() - dateRight.getMinutes() || dateLeft.getSeconds() - dateRight.getSeconds() || dateLeft.getMilliseconds() - dateRight.getMilliseconds(); if (diff < 0) { return -1; } else if (diff > 0) { return 1; } else { return diff; } }; // lib/fp/differenceInDays.mjs var differenceInDays3 = convertToFP(differenceInDays, 2); // lib/_lib/getRoundingMethod.mjs function getRoundingMethod(method) { return function (number) { var round = method ? Math[method] : Math.trunc; var result = round(number); return result === 0 ? 0 : result; }; } // lib/differenceInMilliseconds.mjs function differenceInMilliseconds(dateLeft, dateRight) { return +toDate(dateLeft) - +toDate(dateRight); } // lib/differenceInHours.mjs function differenceInHours(dateLeft, dateRight, options) { var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInHour; return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); } // lib/fp/differenceInHours.mjs var differenceInHours3 = convertToFP(differenceInHours, 2); // lib/fp/differenceInHoursWithOptions.mjs var _differenceInHoursWithOptions = convertToFP(differenceInHours, 3); // lib/subISOWeekYears.mjs function subISOWeekYears(date, amount) { return addISOWeekYears(date, -amount); } // lib/differenceInISOWeekYears.mjs function differenceInISOWeekYears(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var sign = compareAsc(_dateLeft, _dateRight); var difference = Math.abs(differenceInCalendarISOWeekYears(_dateLeft, _dateRight)); _dateLeft = subISOWeekYears(_dateLeft, sign * difference); var isLastISOWeekYearNotFull = Number(compareAsc(_dateLeft, _dateRight) === -sign); var result = sign * (difference - isLastISOWeekYearNotFull); return result === 0 ? 0 : result; } // lib/fp/differenceInISOWeekYears.mjs var differenceInISOWeekYears3 = convertToFP(differenceInISOWeekYears, 2); // lib/fp/differenceInMilliseconds.mjs var differenceInMilliseconds4 = convertToFP(differenceInMilliseconds, 2); // lib/differenceInMinutes.mjs function differenceInMinutes(dateLeft, dateRight, options) { var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute; return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); } // lib/fp/differenceInMinutes.mjs var differenceInMinutes3 = convertToFP(differenceInMinutes, 2); // lib/fp/differenceInMinutesWithOptions.mjs var _differenceInMinutesWithOptions = convertToFP(differenceInMinutes, 3); // lib/endOfDay.mjs function endOfDay(date) { var _date = toDate(date); _date.setHours(23, 59, 59, 999); return _date; } // lib/endOfMonth.mjs function endOfMonth(date) { var _date = toDate(date); var month = _date.getMonth(); _date.setFullYear(_date.getFullYear(), month + 1, 0); _date.setHours(23, 59, 59, 999); return _date; } // lib/isLastDayOfMonth.mjs function isLastDayOfMonth(date) { var _date = toDate(date); return +endOfDay(_date) === +endOfMonth(_date); } // lib/differenceInMonths.mjs function differenceInMonths(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var sign = compareAsc(_dateLeft, _dateRight); var difference = Math.abs(differenceInCalendarMonths(_dateLeft, _dateRight)); var result; if (difference < 1) { result = 0; } else { if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) { _dateLeft.setDate(30); } _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference); var isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign; if (isLastDayOfMonth(toDate(dateLeft)) && difference === 1 && compareAsc(dateLeft, _dateRight) === 1) { isLastMonthNotFull = false; } result = sign * (difference - Number(isLastMonthNotFull)); } return result === 0 ? 0 : result; } // lib/fp/differenceInMonths.mjs var differenceInMonths3 = convertToFP(differenceInMonths, 2); // lib/differenceInQuarters.mjs function differenceInQuarters(dateLeft, dateRight, options) { var diff = differenceInMonths(dateLeft, dateRight) / 3; return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); } // lib/fp/differenceInQuarters.mjs var differenceInQuarters3 = convertToFP(differenceInQuarters, 2); // lib/fp/differenceInQuartersWithOptions.mjs var _differenceInQuartersWithOptions = convertToFP(differenceInQuarters, 3); // lib/differenceInSeconds.mjs function differenceInSeconds(dateLeft, dateRight, options) { var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000; return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); } // lib/fp/differenceInSeconds.mjs var differenceInSeconds3 = convertToFP(differenceInSeconds, 2); // lib/fp/differenceInSecondsWithOptions.mjs var _differenceInSecondsWithOptions = convertToFP(differenceInSeconds, 3); // lib/differenceInWeeks.mjs function differenceInWeeks(dateLeft, dateRight, options) { var diff = differenceInDays(dateLeft, dateRight) / 7; return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); } // lib/fp/differenceInWeeks.mjs var differenceInWeeks3 = convertToFP(differenceInWeeks, 2); // lib/fp/differenceInWeeksWithOptions.mjs var _differenceInWeeksWithOptions = convertToFP(differenceInWeeks, 3); // lib/differenceInYears.mjs function differenceInYears(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); var sign = compareAsc(_dateLeft, _dateRight); var difference = Math.abs(differenceInCalendarYears(_dateLeft, _dateRight)); _dateLeft.setFullYear(1584); _dateRight.setFullYear(1584); var isLastYearNotFull = compareAsc(_dateLeft, _dateRight) === -sign; var result = sign * (difference - +isLastYearNotFull); return result === 0 ? 0 : result; } // lib/fp/differenceInYears.mjs var differenceInYears3 = convertToFP(differenceInYears, 2); // lib/eachDayOfInterval.mjs function eachDayOfInterval(interval, options) {var _options$step; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startDate : +endDate; var currentDate = reversed ? endDate : startDate; currentDate.setHours(0, 0, 0, 0); var step = (_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate.setDate(currentDate.getDate() + step); currentDate.setHours(0, 0, 0, 0); } return reversed ? dates.reverse() : dates; } // lib/fp/eachDayOfInterval.mjs var eachDayOfInterval3 = convertToFP(eachDayOfInterval, 1); // lib/fp/eachDayOfIntervalWithOptions.mjs var _eachDayOfIntervalWithOptions = convertToFP(eachDayOfInterval, 2); // lib/eachHourOfInterval.mjs function eachHourOfInterval(interval, options) {var _options$step2; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startDate : +endDate; var currentDate = reversed ? endDate : startDate; currentDate.setMinutes(0, 0, 0); var step = (_options$step2 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step2 !== void 0 ? _options$step2 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate = addHours(currentDate, step); } return reversed ? dates.reverse() : dates; } // lib/fp/eachHourOfInterval.mjs var eachHourOfInterval3 = convertToFP(eachHourOfInterval, 1); // lib/fp/eachHourOfIntervalWithOptions.mjs var _eachHourOfIntervalWithOptions = convertToFP(eachHourOfInterval, 2); // lib/startOfMinute.mjs function startOfMinute(date) { var _date = toDate(date); _date.setSeconds(0, 0); return _date; } // lib/eachMinuteOfInterval.mjs function eachMinuteOfInterval(interval, options) {var _options$step3; var startDate = startOfMinute(toDate(interval.start)); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startDate : +endDate; var currentDate = reversed ? endDate : startDate; var step = (_options$step3 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step3 !== void 0 ? _options$step3 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate = addMinutes(currentDate, step); } return reversed ? dates.reverse() : dates; } // lib/fp/eachMinuteOfInterval.mjs var eachMinuteOfInterval3 = convertToFP(eachMinuteOfInterval, 1); // lib/fp/eachMinuteOfIntervalWithOptions.mjs var _eachMinuteOfIntervalWithOptions = convertToFP(eachMinuteOfInterval, 2); // lib/eachMonthOfInterval.mjs function eachMonthOfInterval(interval, options) {var _options$step4; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startDate : +endDate; var currentDate = reversed ? endDate : startDate; currentDate.setHours(0, 0, 0, 0); currentDate.setDate(1); var step = (_options$step4 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step4 !== void 0 ? _options$step4 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate.setMonth(currentDate.getMonth() + step); } return reversed ? dates.reverse() : dates; } // lib/fp/eachMonthOfInterval.mjs var eachMonthOfInterval3 = convertToFP(eachMonthOfInterval, 1); // lib/fp/eachMonthOfIntervalWithOptions.mjs var _eachMonthOfIntervalWithOptions = convertToFP(eachMonthOfInterval, 2); // lib/startOfQuarter.mjs function startOfQuarter(date) { var _date = toDate(date); var currentMonth = _date.getMonth(); var month = currentMonth - currentMonth % 3; _date.setMonth(month, 1); _date.setHours(0, 0, 0, 0); return _date; } // lib/eachQuarterOfInterval.mjs function eachQuarterOfInterval(interval, options) {var _options$step5; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startOfQuarter(startDate) : +startOfQuarter(endDate); var currentDate = reversed ? startOfQuarter(endDate) : startOfQuarter(startDate); var step = (_options$step5 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step5 !== void 0 ? _options$step5 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate = addQuarters(currentDate, step); } return reversed ? dates.reverse() : dates; } // lib/fp/eachQuarterOfInterval.mjs var eachQuarterOfInterval3 = convertToFP(eachQuarterOfInterval, 1); // lib/fp/eachQuarterOfIntervalWithOptions.mjs var _eachQuarterOfIntervalWithOptions = convertToFP(eachQuarterOfInterval, 2); // lib/eachWeekOfInterval.mjs function eachWeekOfInterval(interval, options) {var _options$step6; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var startDateWeek = reversed ? startOfWeek(endDate, options) : startOfWeek(startDate, options); var endDateWeek = reversed ? startOfWeek(startDate, options) : startOfWeek(endDate, options); startDateWeek.setHours(15); endDateWeek.setHours(15); var endTime = +endDateWeek.getTime(); var currentDate = startDateWeek; var step = (_options$step6 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step6 !== void 0 ? _options$step6 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { currentDate.setHours(0); dates.push(toDate(currentDate)); currentDate = addWeeks(currentDate, step); currentDate.setHours(15); } return reversed ? dates.reverse() : dates; } // lib/fp/eachWeekOfInterval.mjs var eachWeekOfInterval3 = convertToFP(eachWeekOfInterval, 1); // lib/fp/eachWeekOfIntervalWithOptions.mjs var _eachWeekOfIntervalWithOptions = convertToFP(eachWeekOfInterval, 2); // lib/eachWeekendOfInterval.mjs function eachWeekendOfInterval(interval) { var dateInterval = eachDayOfInterval(interval); var weekends = []; var index = 0; while (index < dateInterval.length) { var date = dateInterval[index++]; if (isWeekend(date)) weekends.push(date); } return weekends; } // lib/fp/eachWeekendOfInterval.mjs var eachWeekendOfInterval3 = convertToFP(eachWeekendOfInterval, 1); // lib/startOfMonth.mjs function startOfMonth(date) { var _date = toDate(date); _date.setDate(1); _date.setHours(0, 0, 0, 0); return _date; } // lib/eachWeekendOfMonth.mjs function eachWeekendOfMonth(date) { var start = startOfMonth(date); var end = endOfMonth(date); return eachWeekendOfInterval({ start: start, end: end }); } // lib/fp/eachWeekendOfMonth.mjs var eachWeekendOfMonth3 = convertToFP(eachWeekendOfMonth, 1); // lib/endOfYear.mjs function endOfYear(date) { var _date = toDate(date); var year = _date.getFullYear(); _date.setFullYear(year + 1, 0, 0); _date.setHours(23, 59, 59, 999); return _date; } // lib/startOfYear.mjs function startOfYear(date) { var cleanDate = toDate(date); var _date = constructFrom(date, 0); _date.setFullYear(cleanDate.getFullYear(), 0, 1); _date.setHours(0, 0, 0, 0); return _date; } // lib/eachWeekendOfYear.mjs function eachWeekendOfYear(date) { var start = startOfYear(date); var end = endOfYear(date); return eachWeekendOfInterval({ start: start, end: end }); } // lib/fp/eachWeekendOfYear.mjs var eachWeekendOfYear3 = convertToFP(eachWeekendOfYear, 1); // lib/eachYearOfInterval.mjs function eachYearOfInterval(interval, options) {var _options$step7; var startDate = toDate(interval.start); var endDate = toDate(interval.end); var reversed = +startDate > +endDate; var endTime = reversed ? +startDate : +endDate; var currentDate = reversed ? endDate : startDate; currentDate.setHours(0, 0, 0, 0); currentDate.setMonth(0, 1); var step = (_options$step7 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step7 !== void 0 ? _options$step7 : 1; if (!step) return []; if (step < 0) { step = -step; reversed = !reversed; } var dates = []; while (+currentDate <= endTime) { dates.push(toDate(currentDate)); currentDate.setFullYear(currentDate.getFullYear() + step); } return reversed ? dates.reverse() : dates; } // lib/fp/eachYearOfInterval.mjs var eachYearOfInterval3 = convertToFP(eachYearOfInterval, 1); // lib/fp/eachYearOfIntervalWithOptions.mjs var _eachYearOfIntervalWithOptions = convertToFP(eachYearOfInterval, 2); // lib/fp/endOfDay.mjs var endOfDay4 = convertToFP(endOfDay, 1); // lib/endOfDecade.mjs function endOfDecade(date) { var _date = toDate(date); var year = _date.getFullYear(); var decade = 9 + Math.floor(year / 10) * 10; _date.setFullYear(decade, 11, 31); _date.setHours(23, 59, 59, 999); return _date; } // lib/fp/endOfDecade.mjs var endOfDecade3 = convertToFP(endOfDecade, 1); // lib/endOfHour.mjs function endOfHour(date) { var _date = toDate(date); _date.setMinutes(59, 59, 999); return _date; } // lib/fp/endOfHour.mjs var endOfHour3 = convertToFP(endOfHour, 1); // lib/endOfWeek.mjs function endOfWeek(date, options) {var _ref4, _ref5, _ref6, _options$weekStartsOn2, _options$locale2, _defaultOptions4$loca; var defaultOptions4 = getDefaultOptions(); var weekStartsOn = (_ref4 = (_ref5 = (_ref6 = (_options$weekStartsOn2 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn2 !== void 0 ? _options$weekStartsOn2 : options === null || options === void 0 || (_options$locale2 = options.locale) === null || _options$locale2 === void 0 || (_options$locale2 = _options$locale2.options) === null || _options$locale2 === void 0 ? void 0 : _options$locale2.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : defaultOptions4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : (_defaultOptions4$loca = defaultOptions4.locale) === null || _defaultOptions4$loca === void 0 || (_defaultOptions4$loca = _defaultOptions4$loca.options) === null || _defaultOptions4$loca === void 0 ? void 0 : _defaultOptions4$loca.weekStartsOn) !== null && _ref4 !== void 0 ? _ref4 : 0; var _date = toDate(date); var day = _date.getDay(); var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); _date.setDate(_date.getDate() + diff); _date.setHours(23, 59, 59, 999); return _date; } // lib/endOfISOWeek.mjs function endOfISOWeek(date) { return endOfWeek(date, { weekStartsOn: 1 }); } // lib/fp/endOfISOWeek.mjs var endOfISOWeek3 = convertToFP(endOfISOWeek, 1); // lib/endOfISOWeekYear.mjs function endOfISOWeekYear(date) { var year = getISOWeekYear(date); var fourthOfJanuaryOfNextYear = constructFrom(date, 0); fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); var _date = startOfISOWeek(fourthOfJanuaryOfNextYear); _date.setMilliseconds(_date.getMilliseconds() - 1); return _date; } // lib/fp/endOfISOWeekYear.mjs var endOfISOWeekYear3 = convertToFP(endOfISOWeekYear, 1); // lib/endOfMinute.mjs function endOfMinute(date) { var _date = toDate(date); _date.setSeconds(59, 999); return _date; } // lib/fp/endOfMinute.mjs var endOfMinute3 = convertToFP(endOfMinute, 1); // lib/fp/endOfMonth.mjs var endOfMonth5 = convertToFP(endOfMonth, 1); // lib/endOfQuarter.mjs function endOfQuarter(date) { var _date = toDate(date); var currentMonth = _date.getMonth(); var month = currentMonth - currentMonth % 3 + 3; _date.setMonth(month, 0); _date.setHours(23, 59, 59, 999); return _date; } // lib/fp/endOfQuarter.mjs var endOfQuarter3 = convertToFP(endOfQuarter, 1); // lib/endOfSecond.mjs function endOfSecond(date) { var _date = toDate(date); _date.setMilliseconds(999); return _date; } // lib/fp/endOfSecond.mjs var endOfSecond3 = convertToFP(endOfSecond, 1); // lib/fp/endOfWeek.mjs var endOfWeek4 = convertToFP(endOfWeek, 1); // lib/fp/endOfWeekWithOptions.mjs var _endOfWeekWithOptions = convertToFP(endOfWeek, 2); // lib/fp/endOfYear.mjs var endOfYear4 = convertToFP(endOfYear, 1); // lib/locale/en-US/_lib/formatDistance.mjs var formatDistanceLocale = { lessThanXSeconds: { one: "less than a second", other: "less than {{count}} seconds" }, xSeconds: { one: "1 second", other: "{{count}} seconds" }, halfAMinute: "half a minute", lessThanXMinutes: { one: "less than a minute", other: "less than {{count}} minutes" }, xMinutes: { one: "1 minute", other: "{{count}} minutes" }, aboutXHours: { one: "about 1 hour", other: "about {{count}} hours" }, xHours: { one: "1 hour", other: "{{count}} hours" }, xDays: { one: "1 day", other: "{{count}} days" }, aboutXWeeks: { one: "about 1 week", other: "about {{count}} weeks" }, xWeeks: { one: "1 week", other: "{{count}} weeks" }, aboutXMonths: { one: "about 1 month", other: "about {{count}} months" }, xMonths: { one: "1 month", other: "{{count}} months" }, aboutXYears: { one: "about 1 year", other: "about {{count}} years" }, xYears: { one: "1 year", other: "{{count}} years" }, overXYears: { one: "over 1 year", other: "over {{count}} years" }, almostXYears: { one: "almost 1 year", other: "almost {{count}} years" } }; var formatDistance = function formatDistance(token, count, options) { var result; var tokenValue = formatDistanceLocale[token]; if (typeof tokenValue === "string") { result = tokenValue; } else if (count === 1) { result = tokenValue.one; } else { result = tokenValue.other.replace("{{count}}", count.toString()); } if (options !== null && options !== void 0 && options.addSuffix) { if (options.comparison && options.comparison > 0) { return "in " + result; } else { return result + " ago"; } } return result; }; // lib/locale/_lib/buildFormatLongFn.mjs function buildFormatLongFn(args) { return function () {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var width = options.width ? String(options.width) : args.defaultWidth; var format = args.formats[width] || args.formats[args.defaultWidth]; return format; }; } // lib/locale/en-US/_lib/formatLong.mjs var dateFormats = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }; var timeFormats = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }; var dateTimeFormats = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }; var formatLong = { date: buildFormatLongFn({ formats: dateFormats, defaultWidth: "full" }), time: buildFormatLongFn({ formats: timeFormats, defaultWidth: "full" }), dateTime: buildFormatLongFn({ formats: dateTimeFormats, defaultWidth: "full" }) }; // lib/locale/en-US/_lib/formatRelative.mjs var formatRelativeLocale = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }; var formatRelative = function formatRelative(token, _date, _baseDate, _options) {return formatRelativeLocale[token];}; // lib/locale/_lib/buildLocalizeFn.mjs function buildLocalizeFn(args) { return function (value, options) { var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone"; var valuesArray; if (context === "formatting" && args.formattingValues) { var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth; valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; } else { var _defaultWidth = args.defaultWidth; var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth; valuesArray = args.values[_width] || args.values[_defaultWidth]; } var index = args.argumentCallback ? args.argumentCallback(value) : value; return valuesArray[index]; }; } // lib/locale/en-US/_lib/localize.mjs var eraValues = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }; var quarterValues = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }; var monthValues = { narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], abbreviated: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], wide: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] }; var dayValues = { narrow: ["S", "M", "T", "W", "T", "F", "S"], short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], wide: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] }; var dayPeriodValues = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" } }; var formattingDayPeriodValues = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" } }; var ordinalNumber = function ordinalNumber(dirtyNumber, _options) { var number = Number(dirtyNumber); var rem100 = number % 100; if (rem100 > 20 || rem100 < 10) { switch (rem100 % 10) { case 1: return number + "st"; case 2: return number + "nd"; case 3: return number + "rd"; } } return number + "th"; }; var localize = { ordinalNumber: ordinalNumber, era: buildLocalizeFn({ values: eraValues, defaultWidth: "wide" }), quarter: buildLocalizeFn({ values: quarterValues, defaultWidth: "wide", argumentCallback: function argumentCallback(quarter) {return quarter - 1;} }), month: buildLocalizeFn({ values: monthValues, defaultWidth: "wide" }), day: buildLocalizeFn({ values: dayValues, defaultWidth: "wide" }), dayPeriod: buildLocalizeFn({ values: dayPeriodValues, defaultWidth: "wide", formattingValues: formattingDayPeriodValues, defaultFormattingWidth: "wide" }) }; // lib/locale/_lib/buildMatchFn.mjs function buildMatchFn(args) { return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var width = options.width; var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; var matchResult = string.match(matchPattern); if (!matchResult) { return null; } var matchedString = matchResult[0]; var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {return pattern.test(matchedString);}) : findKey(parsePatterns, function (pattern) {return pattern.test(matchedString);}); var value; value = args.valueCallback ? args.valueCallback(key) : key; value = options.valueCallback ? options.valueCallback(value) : value; var rest = string.slice(matchedString.length); return { value: value, rest: rest }; }; } var findKey = function findKey(object, predicate) { for (var key in object) { if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) { return key; } } return; }; var findIndex = function findIndex(array, predicate) { for (var key = 0; key < array.length; key++) { if (predicate(array[key])) { return key; } } return; }; // lib/locale/_lib/buildMatchPatternFn.mjs function buildMatchPatternFn(args) { return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var matchResult = string.match(args.matchPattern); if (!matchResult) return null; var matchedString = matchResult[0]; var parseResult = string.match(args.parsePattern); if (!parseResult) return null; var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; value = options.valueCallback ? options.valueCallback(value) : value; var rest = string.slice(matchedString.length); return { value: value, rest: rest }; }; } // lib/locale/en-US/_lib/match.mjs var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; var parseOrdinalNumberPattern = /\d+/i; var matchEraPatterns = { narrow: /^(b|a)/i, abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, wide: /^(before christ|before common era|anno domini|common era)/i }; var parseEraPatterns = { any: [/^b/i, /^(a|c)/i] }; var matchQuarterPatterns = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }; var parseQuarterPatterns = { any: [/1/i, /2/i, /3/i, /4/i] }; var matchMonthPatterns = { narrow: /^[jfmasond]/i, abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i }; var parseMonthPatterns = { narrow: [ /^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], any: [ /^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] }; var matchDayPatterns = { narrow: /^[smtwf]/i, short: /^(su|mo|tu|we|th|fr|sa)/i, abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i }; var parseDayPatterns = { narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] }; var matchDayPeriodPatterns = { narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i }; var parseDayPeriodPatterns = { any: { am: /^a/i, pm: /^p/i, midnight: /^mi/i, noon: /^no/i, morning: /morning/i, afternoon: /afternoon/i, evening: /evening/i, night: /night/i } }; var match = { ordinalNumber: buildMatchPatternFn({ matchPattern: matchOrdinalNumberPattern, parsePattern: parseOrdinalNumberPattern, valueCallback: function valueCallback(value) {return parseInt(value, 10);} }), era: buildMatchFn({ matchPatterns: matchEraPatterns, defaultMatchWidth: "wide", parsePatterns: parseEraPatterns, defaultParseWidth: "any" }), quarter: buildMatchFn({ matchPatterns: matchQuarterPatterns, defaultMatchWidth: "wide", parsePatterns: parseQuarterPatterns, defaultParseWidth: "any", valueCallback: function valueCallback(index) {return index + 1;} }), month: buildMatchFn({ matchPatterns: matchMonthPatterns, defaultMatchWidth: "wide", parsePatterns: parseMonthPatterns, defaultParseWidth: "any" }), day: buildMatchFn({ matchPatterns: matchDayPatterns, defaultMatchWidth: "wide", parsePatterns: parseDayPatterns, defaultParseWidth: "any" }), dayPeriod: buildMatchFn({ matchPatterns: matchDayPeriodPatterns, defaultMatchWidth: "any", parsePatterns: parseDayPeriodPatterns, defaultParseWidth: "any" }) }; // lib/locale/en-US.mjs var enUS = { code: "en-US", formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: match, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }; // lib/getDayOfYear.mjs function getDayOfYear(date) { var _date = toDate(date); var diff = differenceInCalendarDays(_date, startOfYear(_date)); var dayOfYear = diff + 1; return dayOfYear; } // lib/getISOWeek.mjs function getISOWeek(date) { var _date = toDate(date); var diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date); return Math.round(diff / millisecondsInWeek) + 1; } // lib/getWeekYear.mjs function getWeekYear(date, options) {var _ref7, _ref8, _ref9, _options$firstWeekCon, _options$locale3, _defaultOptions5$loca; var _date = toDate(date); var year = _date.getFullYear(); var defaultOptions5 = getDefaultOptions(); var firstWeekContainsDate = (_ref7 = (_ref8 = (_ref9 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 || (_options$locale3 = options.locale) === null || _options$locale3 === void 0 || (_options$locale3 = _options$locale3.options) === null || _options$locale3 === void 0 ? void 0 : _options$locale3.firstWeekContainsDate) !== null && _ref9 !== void 0 ? _ref9 : defaultOptions5.firstWeekContainsDate) !== null && _ref8 !== void 0 ? _ref8 : (_defaultOptions5$loca = defaultOptions5.locale) === null || _defaultOptions5$loca === void 0 || (_defaultOptions5$loca = _defaultOptions5$loca.options) === null || _defaultOptions5$loca === void 0 ? void 0 : _defaultOptions5$loca.firstWeekContainsDate) !== null && _ref7 !== void 0 ? _ref7 : 1; var firstWeekOfNextYear = constructFrom(date, 0); firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate); firstWeekOfNextYear.setHours(0, 0, 0, 0); var startOfNextYear = startOfWeek(firstWeekOfNextYear, options); var firstWeekOfThisYear = constructFrom(date, 0); firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate); firstWeekOfThisYear.setHours(0, 0, 0, 0); var startOfThisYear = startOfWeek(firstWeekOfThisYear, options); if (_date.getTime() >= startOfNextYear.getTime()) { return year + 1; } else if (_date.getTime() >= startOfThisYear.getTime()) { return year; } else { return year - 1; } } // lib/startOfWeekYear.mjs function startOfWeekYear(date, options) {var _ref10, _ref11, _ref12, _options$firstWeekCon2, _options$locale4, _defaultOptions6$loca; var defaultOptions6 = getDefaultOptions(); var firstWeekContainsDate = (_ref10 = (_ref11 = (_ref12 = (_options$firstWeekCon2 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon2 !== void 0 ? _options$firstWeekCon2 : options === null || options === void 0 || (_options$locale4 = options.locale) === null || _options$locale4 === void 0 || (_options$locale4 = _options$locale4.options) === null || _options$locale4 === void 0 ? void 0 : _options$locale4.firstWeekContainsDate) !== null && _ref12 !== void 0 ? _ref12 : defaultOptions6.firstWeekContainsDate) !== null && _ref11 !== void 0 ? _ref11 : (_defaultOptions6$loca = defaultOptions6.locale) === null || _defaultOptions6$loca === void 0 || (_defaultOptions6$loca = _defaultOptions6$loca.options) === null || _defaultOptions6$loca === void 0 ? void 0 : _defaultOptions6$loca.firstWeekContainsDate) !== null && _ref10 !== void 0 ? _ref10 : 1; var year = getWeekYear(date, options); var firstWeek = constructFrom(date, 0); firstWeek.setFullYear(year, 0, firstWeekContainsDate); firstWeek.setHours(0, 0, 0, 0); var _date = startOfWeek(firstWeek, options); return _date; } // lib/getWeek.mjs function getWeek(date, options) { var _date = toDate(date); var diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options); return Math.round(diff / millisecondsInWeek) + 1; } // lib/_lib/addLeadingZeros.mjs function addLeadingZeros(number, targetLength) { var sign = number < 0 ? "-" : ""; var output = Math.abs(number).toString().padStart(targetLength, "0"); return sign + output; } // lib/_lib/format/lightFormatters.mjs var lightFormatters = { y: function y(date, token) { var signedYear = date.getFullYear(); var year = signedYear > 0 ? signedYear : 1 - signedYear; return addLeadingZeros(token === "yy" ? year % 100 : year, token.length); }, M: function M(date, token) { var month = date.getMonth(); return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2); }, d: function d(date, token) { return addLeadingZeros(date.getDate(), token.length); }, a: function a(date, token) { var dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am"; switch (token) { case "a": case "aa": return dayPeriodEnumValue.toUpperCase(); case "aaa": return dayPeriodEnumValue; case "aaaaa": return dayPeriodEnumValue[0]; case "aaaa": default: return dayPeriodEnumValue === "am" ? "a.m." : "p.m."; } }, h: function h(date, token) { return addLeadingZeros(date.getHours() % 12 || 12, token.length); }, H: function H(date, token) { return addLeadingZeros(date.getHours(), token.length); }, m: function m(date, token) { return addLeadingZeros(date.getMinutes(), token.length); }, s: function s(date, token) { return addLeadingZeros(date.getSeconds(), token.length); }, S: function S(date, token) { var numberOfDigits = token.length; var milliseconds = date.getMilliseconds(); var fractionalSeconds = Math.trunc(milliseconds * Math.pow(10, numberOfDigits - 3)); return addLeadingZeros(fractionalSeconds, token.length); } }; // lib/_lib/format/formatters.mjs var formatTimezoneShort = function formatTimezoneShort(offset) {var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var sign = offset > 0 ? "-" : "+"; var absOffset = Math.abs(offset); var hours = Math.trunc(absOffset / 60); var minutes = absOffset % 60; if (minutes === 0) { return sign + String(hours); } return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2); }; var formatTimezoneWithOptionalMinutes = function formatTimezoneWithOptionalMinutes(offset, delimiter) { if (offset % 60 === 0) { var sign = offset > 0 ? "-" : "+"; return sign + addLeadingZeros(Math.abs(offset) / 60, 2); } return formatTimezone(offset, delimiter); }; var formatTimezone = function formatTimezone(offset) {var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var sign = offset > 0 ? "-" : "+"; var absOffset = Math.abs(offset); var hours = addLeadingZeros(Math.trunc(absOffset / 60), 2); var minutes = addLeadingZeros(absOffset % 60, 2); return sign + hours + delimiter + minutes; }; var dayPeriodEnum = { am: "am", pm: "pm", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }; var formatters = { G: function G(date, token, localize3) { var era = date.getFullYear() > 0 ? 1 : 0; switch (token) { case "G": case "GG": case "GGG": return localize3.era(era, { width: "abbreviated" }); case "GGGGG": return localize3.era(era, { width: "narrow" }); case "GGGG": default: return localize3.era(era, { width: "wide" }); } }, y: function y(date, token, localize3) { if (token === "yo") { var signedYear = date.getFullYear(); var year = signedYear > 0 ? signedYear : 1 - signedYear; return localize3.ordinalNumber(year, { unit: "year" }); } return lightFormatters.y(date, token); }, Y: function Y(date, token, localize3, options) { var signedWeekYear = getWeekYear(date, options); var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; if (token === "YY") { var twoDigitYear = weekYear % 100; return addLeadingZeros(twoDigitYear, 2); } if (token === "Yo") { return localize3.ordinalNumber(weekYear, { unit: "year" }); } return addLeadingZeros(weekYear, token.length); }, R: function R(date, token) { var isoWeekYear = getISOWeekYear(date); return addLeadingZeros(isoWeekYear, token.length); }, u: function u(date, token) { var year = date.getFullYear(); return addLeadingZeros(year, token.length); }, Q: function Q(date, token, localize3) { var quarter = Math.ceil((date.getMonth() + 1) / 3); switch (token) { case "Q": return String(quarter); case "QQ": return addLeadingZeros(quarter, 2); case "Qo": return localize3.ordinalNumber(quarter, { unit: "quarter" }); case "QQQ": return localize3.quarter(quarter, { width: "abbreviated", context: "formatting" }); case "QQQQQ": return localize3.quarter(quarter, { width: "narrow", context: "formatting" }); case "QQQQ": default: return localize3.quarter(quarter, { width: "wide", context: "formatting" }); } }, q: function q(date, token, localize3) { var quarter = Math.ceil((date.getMonth() + 1) / 3); switch (token) { case "q": return String(quarter); case "qq": return addLeadingZeros(quarter, 2); case "qo": return localize3.ordinalNumber(quarter, { unit: "quarter" }); case "qqq": return localize3.quarter(quarter, { width: "abbreviated", context: "standalone" }); case "qqqqq": return localize3.quarter(quarter, { width: "narrow", context: "standalone" }); case "qqqq": default: return localize3.quarter(quarter, { width: "wide", context: "standalone" }); } }, M: function M(date, token, localize3) { var month = date.getMonth(); switch (token) { case "M": case "MM": return lightFormatters.M(date, token); case "Mo": return localize3.ordinalNumber(month + 1, { unit: "month" }); case "MMM": return localize3.month(month, { width: "abbreviated", context: "formatting" }); case "MMMMM": return localize3.month(month, { width: "narrow", context: "formatting" }); case "MMMM": default: return localize3.month(month, { width: "wide", context: "formatting" }); } }, L: function L(date, token, localize3) { var month = date.getMonth(); switch (token) { case "L": return String(month + 1); case "LL": return addLeadingZeros(month + 1, 2); case "Lo": return localize3.ordinalNumber(month + 1, { unit: "month" }); case "LLL": return localize3.month(month, { width: "abbreviated", context: "standalone" }); case "LLLLL": return localize3.month(month, { width: "narrow", context: "standalone" }); case "LLLL": default: return localize3.month(month, { width: "wide", context: "standalone" }); } }, w: function w(date, token, localize3, options) { var week = getWeek(date, options); if (token === "wo") { return localize3.ordinalNumber(week, { unit: "week" }); } return addLeadingZeros(week, token.length); }, I: function I(date, token, localize3) { var isoWeek = getISOWeek(date); if (token === "Io") { return localize3.ordinalNumber(isoWeek, { unit: "week" }); } return addLeadingZeros(isoWeek, token.length); }, d: function d(date, token, localize3) { if (token === "do") { return localize3.ordinalNumber(date.getDate(), { unit: "date" }); } return lightFormatters.d(date, token); }, D: function D(date, token, localize3) { var dayOfYear = getDayOfYear(date); if (token === "Do") { return localize3.ordinalNumber(dayOfYear, { unit: "dayOfYear" }); } return addLeadingZeros(dayOfYear, token.length); }, E: function E(date, token, localize3) { var dayOfWeek = date.getDay(); switch (token) { case "E": case "EE": case "EEE": return localize3.day(dayOfWeek, { width: "abbreviated", context: "formatting" }); case "EEEEE": return localize3.day(dayOfWeek, { width: "narrow", context: "formatting" }); case "EEEEEE": return localize3.day(dayOfWeek, { width: "short", context: "formatting" }); case "EEEE": default: return localize3.day(dayOfWeek, { width: "wide", context: "formatting" }); } }, e: function e(date, token, localize3, options) { var dayOfWeek = date.getDay(); var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; switch (token) { case "e": return String(localDayOfWeek); case "ee": return addLeadingZeros(localDayOfWeek, 2); case "eo": return localize3.ordinalNumber(localDayOfWeek, { unit: "day" }); case "eee": return localize3.day(dayOfWeek, { width: "abbreviated", context: "formatting" }); case "eeeee": return localize3.day(dayOfWeek, { width: "narrow", context: "formatting" }); case "eeeeee": return localize3.day(dayOfWeek, { width: "short", context: "formatting" }); case "eeee": default: return localize3.day(dayOfWeek, { width: "wide", context: "formatting" }); } }, c: function c(date, token, localize3, options) { var dayOfWeek = date.getDay(); var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; switch (token) { case "c": return String(localDayOfWeek); case "cc": return addLeadingZeros(localDayOfWeek, token.length); case "co": return localize3.ordinalNumber(localDayOfWeek, { unit: "day" }); case "ccc": return localize3.day(dayOfWeek, { width: "abbreviated", context: "standalone" }); case "ccccc": return localize3.day(dayOfWeek, { width: "narrow", context: "standalone" }); case "cccccc": return localize3.day(dayOfWeek, { width: "short", context: "standalone" }); case "cccc": default: return localize3.day(dayOfWeek, { width: "wide", context: "standalone" }); } }, i: function i(date, token, localize3) { var dayOfWeek = date.getDay(); var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; switch (token) { case "i": return String(isoDayOfWeek); case "ii": return addLeadingZeros(isoDayOfWeek, token.length); case "io": return localize3.ordinalNumber(isoDayOfWeek, { unit: "day" }); case "iii": return localize3.day(dayOfWeek, { width: "abbreviated", context: "formatting" }); case "iiiii": return localize3.day(dayOfWeek, { width: "narrow", context: "formatting" }); case "iiiiii": return localize3.day(dayOfWeek, { width: "short", context: "formatting" }); case "iiii": default: return localize3.day(dayOfWeek, { width: "wide", context: "formatting" }); } }, a: function a(date, token, localize3) { var hours = date.getHours(); var dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; switch (token) { case "a": case "aa": return localize3.dayPeriod(dayPeriodEnumValue, { width: "abbreviated", context: "formatting" }); case "aaa": return localize3.dayPeriod(dayPeriodEnumValue, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "aaaaa": return localize3.dayPeriod(dayPeriodEnumValue, { width: "narrow", context: "formatting" }); case "aaaa": default: return localize3.dayPeriod(dayPeriodEnumValue, { width: "wide", context: "formatting" }); } }, b: function b(date, token, localize3) { var hours = date.getHours(); var dayPeriodEnumValue; if (hours === 12) { dayPeriodEnumValue = dayPeriodEnum.noon; } else if (hours === 0) { dayPeriodEnumValue = dayPeriodEnum.midnight; } else { dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; } switch (token) { case "b": case "bb": return localize3.dayPeriod(dayPeriodEnumValue, { width: "abbreviated", context: "formatting" }); case "bbb": return localize3.dayPeriod(dayPeriodEnumValue, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "bbbbb": return localize3.dayPeriod(dayPeriodEnumValue, { width: "narrow", context: "formatting" }); case "bbbb": default: return localize3.dayPeriod(dayPeriodEnumValue, { width: "wide", context: "formatting" }); } }, B: function B(date, token, localize3) { var hours = date.getHours(); var dayPeriodEnumValue; if (hours >= 17) { dayPeriodEnumValue = dayPeriodEnum.evening; } else if (hours >= 12) { dayPeriodEnumValue = dayPeriodEnum.afternoon; } else if (hours >= 4) { dayPeriodEnumValue = dayPeriodEnum.morning; } else { dayPeriodEnumValue = dayPeriodEnum.night; } switch (token) { case "B": case "BB": case "BBB": return localize3.dayPeriod(dayPeriodEnumValue, { width: "abbreviated", context: "formatting" }); case "BBBBB": return localize3.dayPeriod(dayPeriodEnumValue, { width: "narrow", context: "formatting" }); case "BBBB": default: return localize3.dayPeriod(dayPeriodEnumValue, { width: "wide", context: "formatting" }); } }, h: function h(date, token, localize3) { if (token === "ho") { var hours = date.getHours() % 12; if (hours === 0) hours = 12; return localize3.ordinalNumber(hours, { unit: "hour" }); } return lightFormatters.h(date, token); }, H: function H(date, token, localize3) { if (token === "Ho") { return localize3.ordinalNumber(date.getHours(), { unit: "hour" }); } return lightFormatters.H(date, token); }, K: function K(date, token, localize3) { var hours = date.getHours() % 12; if (token === "Ko") { return localize3.ordinalNumber(hours, { unit: "hour" }); } return addLeadingZeros(hours, token.length); }, k: function k(date, token, localize3) { var hours = date.getHours(); if (hours === 0) hours = 24; if (token === "ko") { return localize3.ordinalNumber(hours, { unit: "hour" }); } return addLeadingZeros(hours, token.length); }, m: function m(date, token, localize3) { if (token === "mo") { return localize3.ordinalNumber(date.getMinutes(), { unit: "minute" }); } return lightFormatters.m(date, token); }, s: function s(date, token, localize3) { if (token === "so") { return localize3.ordinalNumber(date.getSeconds(), { unit: "second" }); } return lightFormatters.s(date, token); }, S: function S(date, token) { return lightFormatters.S(date, token); }, X: function X(date, token, _localize) { var timezoneOffset = date.getTimezoneOffset(); if (timezoneOffset === 0) { return "Z"; } switch (token) { case "X": return formatTimezoneWithOptionalMinutes(timezoneOffset); case "XXXX": case "XX": return formatTimezone(timezoneOffset); case "XXXXX": case "XXX": default: return formatTimezone(timezoneOffset, ":"); } }, x: function x(date, token, _localize) { var timezoneOffset = date.getTimezoneOffset(); switch (token) { case "x": return formatTimezoneWithOptionalMinutes(timezoneOffset); case "xxxx": case "xx": return formatTimezone(timezoneOffset); case "xxxxx": case "xxx": default: return formatTimezone(timezoneOffset, ":"); } }, O: function O(date, token, _localize) { var timezoneOffset = date.getTimezoneOffset(); switch (token) { case "O": case "OO": case "OOO": return "GMT" + formatTimezoneShort(timezoneOffset, ":"); case "OOOO": default: return "GMT" + formatTimezone(timezoneOffset, ":"); } }, z: function z(date, token, _localize) { var timezoneOffset = date.getTimezoneOffset(); switch (token) { case "z": case "zz": case "zzz": return "GMT" + formatTimezoneShort(timezoneOffset, ":"); case "zzzz": default: return "GMT" + formatTimezone(timezoneOffset, ":"); } }, t: function t(date, token, _localize) { var timestamp = Math.trunc(date.getTime() / 1000); return addLeadingZeros(timestamp, token.length); }, T: function T(date, token, _localize) { var timestamp = date.getTime(); return addLeadingZeros(timestamp, token.length); } }; // lib/_lib/format/longFormatters.mjs var dateLongFormatter = function dateLongFormatter(pattern, formatLong3) { switch (pattern) { case "P": return formatLong3.date({ width: "short" }); case "PP": return formatLong3.date({ width: "medium" }); case "PPP": return formatLong3.date({ width: "long" }); case "PPPP": default: return formatLong3.date({ width: "full" }); } }; var timeLongFormatter = function timeLongFormatter(pattern, formatLong3) { switch (pattern) { case "p": return formatLong3.time({ width: "short" }); case "pp": return formatLong3.time({ width: "medium" }); case "ppp": return formatLong3.time({ width: "long" }); case "pppp": default: return formatLong3.time({ width: "full" }); } }; var dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong3) { var matchResult = pattern.match(/(P+)(p+)?/) || []; var datePattern = matchResult[1]; var timePattern = matchResult[2]; if (!timePattern) { return dateLongFormatter(pattern, formatLong3); } var dateTimeFormat; switch (datePattern) { case "P": dateTimeFormat = formatLong3.dateTime({ width: "short" }); break; case "PP": dateTimeFormat = formatLong3.dateTime({ width: "medium" }); break; case "PPP": dateTimeFormat = formatLong3.dateTime({ width: "long" }); break; case "PPPP": default: dateTimeFormat = formatLong3.dateTime({ width: "full" }); break; } return dateTimeFormat.replace("{{date}}", dateLongFormatter(datePattern, formatLong3)).replace("{{time}}", timeLongFormatter(timePattern, formatLong3)); }; var longFormatters = { p: timeLongFormatter, P: dateTimeLongFormatter }; // lib/_lib/protectedTokens.mjs function isProtectedDayOfYearToken(token) { return dayOfYearTokenRE.test(token); } function isProtectedWeekYearToken(token) { return weekYearTokenRE.test(token); } function warnOrThrowProtectedError(token, format, input) { var _message = message(token, format, input); console.warn(_message); if (throwTokens.includes(token)) throw new RangeError(_message); } var message = function message(token, format, input) { var subject = token[0] === "Y" ? "years" : "days of the month"; return "Use `".concat(token.toLowerCase(), "` instead of `").concat(token, "` (in `").concat(format, "`) for formatting ").concat(subject, " to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"); }; var dayOfYearTokenRE = /^D+$/; var weekYearTokenRE = /^Y+$/; var throwTokens = ["D", "DD", "YY", "YYYY"]; // lib/format.mjs function format(date, formatStr, options) {var _ref13, _options$locale5, _ref14, _ref15, _ref16, _options$firstWeekCon3, _options$locale6, _defaultOptions7$loca, _ref17, _ref18, _ref19, _options$weekStartsOn3, _options$locale7, _defaultOptions7$loca2; var defaultOptions7 = getDefaultOptions(); var locale = (_ref13 = (_options$locale5 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale5 !== void 0 ? _options$locale5 : defaultOptions7.locale) !== null && _ref13 !== void 0 ? _ref13 : enUS; var firstWeekContainsDate = (_ref14 = (_ref15 = (_ref16 = (_options$firstWeekCon3 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon3 !== void 0 ? _options$firstWeekCon3 : options === null || options === void 0 || (_options$locale6 = options.locale) === null || _options$locale6 === void 0 || (_options$locale6 = _options$locale6.options) === null || _options$locale6 === void 0 ? void 0 : _options$locale6.firstWeekContainsDate) !== null && _ref16 !== void 0 ? _ref16 : defaultOptions7.firstWeekContainsDate) !== null && _ref15 !== void 0 ? _ref15 : (_defaultOptions7$loca = defaultOptions7.locale) === null || _defaultOptions7$loca === void 0 || (_defaultOptions7$loca = _defaultOptions7$loca.options) === null || _defaultOptions7$loca === void 0 ? void 0 : _defaultOptions7$loca.firstWeekContainsDate) !== null && _ref14 !== void 0 ? _ref14 : 1; var weekStartsOn = (_ref17 = (_ref18 = (_ref19 = (_options$weekStartsOn3 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn3 !== void 0 ? _options$weekStartsOn3 : options === null || options === void 0 || (_options$locale7 = options.locale) === null || _options$locale7 === void 0 || (_options$locale7 = _options$locale7.options) === null || _options$locale7 === void 0 ? void 0 : _options$locale7.weekStartsOn) !== null && _ref19 !== void 0 ? _ref19 : defaultOptions7.weekStartsOn) !== null && _ref18 !== void 0 ? _ref18 : (_defaultOptions7$loca2 = defaultOptions7.locale) === null || _defaultOptions7$loca2 === void 0 || (_defaultOptions7$loca2 = _defaultOptions7$loca2.options) === null || _defaultOptions7$loca2 === void 0 ? void 0 : _defaultOptions7$loca2.weekStartsOn) !== null && _ref17 !== void 0 ? _ref17 : 0; var originalDate = toDate(date); if (!isValid(originalDate)) { throw new RangeError("Invalid time value"); } var parts = formatStr.match(longFormattingTokensRegExp).map(function (substring) { var firstCharacter = substring[0]; if (firstCharacter === "p" || firstCharacter === "P") { var longFormatter = longFormatters[firstCharacter]; return longFormatter(substring, locale.formatLong); } return substring; }).join("").match(formattingTokensRegExp).map(function (substring) { if (substring === "''") { return { isToken: false, value: "'" }; } var firstCharacter = substring[0]; if (firstCharacter === "'") { return { isToken: false, value: cleanEscapedString(substring) }; } if (formatters[firstCharacter]) { return { isToken: true, value: substring }; } if (firstCharacter.match(unescapedLatinCharacterRegExp)) { throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"); } return { isToken: false, value: substring }; }); if (locale.localize.preprocessor) { parts = locale.localize.preprocessor(originalDate, parts); } var formatterOptions = { firstWeekContainsDate: firstWeekContainsDate, weekStartsOn: weekStartsOn, locale: locale }; return parts.map(function (part) { if (!part.isToken) return part.value; var token = part.value; if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token) || !(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) { warnOrThrowProtectedError(token, formatStr, String(date)); } var formatter = formatters[token[0]]; return formatter(originalDate, token, locale.localize, formatterOptions); }).join(""); } var cleanEscapedString = function cleanEscapedString(input) { var matched = input.match(escapedStringRegExp); if (!matched) { return input; } return matched[1].replace(doubleQuoteRegExp, "'"); }; var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; var escapedStringRegExp = /^'([^]*?)'?$/; var doubleQuoteRegExp = /''/g; var unescapedLatinCharacterRegExp = /[a-zA-Z]/; // lib/fp/format.mjs var format3 = convertToFP(format, 2); // lib/formatDistance.mjs function formatDistance3(date, baseDate, options) {var _ref20, _options$locale8; var defaultOptions8 = getDefaultOptions(); var locale = (_ref20 = (_options$locale8 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale8 !== void 0 ? _options$locale8 : defaultOptions8.locale) !== null && _ref20 !== void 0 ? _ref20 : enUS; var minutesInAlmostTwoDays = 2520; var comparison = compareAsc(date, baseDate); if (isNaN(comparison)) { throw new RangeError("Invalid time value"); } var localizeOptions = Object.assign({}, options, { addSuffix: options === null || options === void 0 ? void 0 : options.addSuffix, comparison: comparison }); var dateLeft; var dateRight; if (comparison > 0) { dateLeft = toDate(baseDate); dateRight = toDate(date); } else { dateLeft = toDate(date); dateRight = toDate(baseDate); } var seconds = differenceInSeconds(dateRight, dateLeft); var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1000; var minutes = Math.round((seconds - offsetInSeconds) / 60); var months; if (minutes < 2) { if (options !== null && options !== void 0 && options.includeSeconds) { if (seconds < 5) { return locale.formatDistance("lessThanXSeconds", 5, localizeOptions); } else if (seconds < 10) { return locale.formatDistance("lessThanXSeconds", 10, localizeOptions); } else if (seconds < 20) { return locale.formatDistance("lessThanXSeconds", 20, localizeOptions); } else if (seconds < 40) { return locale.formatDistance("halfAMinute", 0, localizeOptions); } else if (seconds < 60) { return locale.formatDistance("lessThanXMinutes", 1, localizeOptions); } else { return locale.formatDistance("xMinutes", 1, localizeOptions); } } else { if (minutes === 0) { return locale.formatDistance("lessThanXMinutes", 1, localizeOptions); } else { return locale.formatDistance("xMinutes", minutes, localizeOptions); } } } else if (minutes < 45) { return locale.formatDistance("xMinutes", minutes, localizeOptions); } else if (minutes < 90) { return locale.formatDistance("aboutXHours", 1, localizeOptions); } else if (minutes < minutesInDay) { var hours = Math.round(minutes / 60); return locale.formatDistance("aboutXHours", hours, localizeOptions); } else if (minutes < minutesInAlmostTwoDays) { return locale.formatDistance("xDays", 1, localizeOptions); } else if (minutes < minutesInMonth) { var _days = Math.round(minutes / minutesInDay); return locale.formatDistance("xDays", _days, localizeOptions); } else if (minutes < minutesInMonth * 2) { months = Math.round(minutes / minutesInMonth); return locale.formatDistance("aboutXMonths", months, localizeOptions); } months = differenceInMonths(dateRight, dateLeft); if (months < 12) { var nearestMonth = Math.round(minutes / minutesInMonth); return locale.formatDistance("xMonths", nearestMonth, localizeOptions); } else { var monthsSinceStartOfYear = months % 12; var years = Math.trunc(months / 12); if (monthsSinceStartOfYear < 3) { return locale.formatDistance("aboutXYears", years, localizeOptions); } else if (monthsSinceStartOfYear < 9) { return locale.formatDistance("overXYears", years, localizeOptions); } else { return locale.formatDistance("almostXYears", years + 1, localizeOptions); } } } // lib/fp/formatDistance.mjs var formatDistance5 = convertToFP(formatDistance3, 2); // lib/formatDistanceStrict.mjs function formatDistanceStrict(date, baseDate, options) {var _ref21, _options$locale9, _options$roundingMeth; var defaultOptions9 = getDefaultOptions(); var locale = (_ref21 = (_options$locale9 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale9 !== void 0 ? _options$locale9 : defaultOptions9.locale) !== null && _ref21 !== void 0 ? _ref21 : enUS; var comparison = compareAsc(date, baseDate); if (isNaN(comparison)) { throw new RangeError("Invalid time value"); } var localizeOptions = Object.assign({}, options, { addSuffix: options === null || options === void 0 ? void 0 : options.addSuffix, comparison: comparison }); var dateLeft; var dateRight; if (comparison > 0) { dateLeft = toDate(baseDate); dateRight = toDate(date); } else { dateLeft = toDate(date); dateRight = toDate(baseDate); } var roundingMethod = getRoundingMethod((_options$roundingMeth = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth !== void 0 ? _options$roundingMeth : "round"); var milliseconds = dateRight.getTime() - dateLeft.getTime(); var minutes = milliseconds / millisecondsInMinute; var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft); var dstNormalizedMinutes = (milliseconds - timezoneOffset) / millisecondsInMinute; var defaultUnit = options === null || options === void 0 ? void 0 : options.unit; var unit; if (!defaultUnit) { if (minutes < 1) { unit = "second"; } else if (minutes < 60) { unit = "minute"; } else if (minutes < minutesInDay) { unit = "hour"; } else if (dstNormalizedMinutes < minutesInMonth) { unit = "day"; } else if (dstNormalizedMinutes < minutesInYear) { unit = "month"; } else { unit = "year"; } } else { unit = defaultUnit; } if (unit === "second") { var seconds = roundingMethod(milliseconds / 1000); return locale.formatDistance("xSeconds", seconds, localizeOptions); } else if (unit === "minute") { var roundedMinutes = roundingMethod(minutes); return locale.formatDistance("xMinutes", roundedMinutes, localizeOptions); } else if (unit === "hour") { var hours = roundingMethod(minutes / 60); return locale.formatDistance("xHours", hours, localizeOptions); } else if (unit === "day") { var _days2 = roundingMethod(dstNormalizedMinutes / minutesInDay); return locale.formatDistance("xDays", _days2, localizeOptions); } else if (unit === "month") { var _months = roundingMethod(dstNormalizedMinutes / minutesInMonth); return _months === 12 && defaultUnit !== "month" ? locale.formatDistance("xYears", 1, localizeOptions) : locale.formatDistance("xMonths", _months, localizeOptions); } else { var years = roundingMethod(dstNormalizedMinutes / minutesInYear); return locale.formatDistance("xYears", years, localizeOptions); } } // lib/fp/formatDistanceStrict.mjs var formatDistanceStrict3 = convertToFP(formatDistanceStrict, 2); // lib/fp/formatDistanceStrictWithOptions.mjs var _formatDistanceStrictWithOptions = convertToFP(formatDistanceStrict, 3); // lib/fp/formatDistanceWithOptions.mjs var _formatDistanceWithOptions = convertToFP(formatDistance3, 3); // lib/formatDuration.mjs function formatDuration(duration, options) {var _ref22, _options$locale10, _options$format, _options$zero, _options$delimiter; var defaultOptions10 = getDefaultOptions(); var locale = (_ref22 = (_options$locale10 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale10 !== void 0 ? _options$locale10 : defaultOptions10.locale) !== null && _ref22 !== void 0 ? _ref22 : enUS; var format4 = (_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : defaultFormat; var zero = (_options$zero = options === null || options === void 0 ? void 0 : options.zero) !== null && _options$zero !== void 0 ? _options$zero : false; var delimiter = (_options$delimiter = options === null || options === void 0 ? void 0 : options.delimiter) !== null && _options$delimiter !== void 0 ? _options$delimiter : " "; if (!locale.formatDistance) { return ""; } var result = format4.reduce(function (acc, unit) { var token = "x".concat(unit.replace(/(^.)/, function (m) {return m.toUpperCase();})); var value = duration[unit]; if (value !== undefined && (zero || duration[unit])) { return acc.concat(locale.formatDistance(token, value)); } return acc; }, []).join(delimiter); return result; } var defaultFormat = [ "years", "months", "weeks", "days", "hours", "minutes", "seconds"]; // lib/fp/formatDuration.mjs var formatDuration3 = convertToFP(formatDuration, 1); // lib/fp/formatDurationWithOptions.mjs var _formatDurationWithOptions = convertToFP(formatDuration, 2); // lib/formatISO.mjs function formatISO(date, options) {var _options$format2, _options$representati; var _date = toDate(date); if (isNaN(_date.getTime())) { throw new RangeError("Invalid time value"); } var format4 = (_options$format2 = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format2 !== void 0 ? _options$format2 : "extended"; var representation = (_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : "complete"; var result = ""; var tzOffset = ""; var dateDelimiter = format4 === "extended" ? "-" : ""; var timeDelimiter = format4 === "extended" ? ":" : ""; if (representation !== "time") { var day = addLeadingZeros(_date.getDate(), 2); var month = addLeadingZeros(_date.getMonth() + 1, 2); var year = addLeadingZeros(_date.getFullYear(), 4); result = "".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day); } if (representation !== "date") { var offset = _date.getTimezoneOffset(); if (offset !== 0) { var absoluteOffset = Math.abs(offset); var hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2); var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2); var sign = offset < 0 ? "+" : "-"; tzOffset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset); } else { tzOffset = "Z"; } var hour = addLeadingZeros(_date.getHours(), 2); var minute = addLeadingZeros(_date.getMinutes(), 2); var second = addLeadingZeros(_date.getSeconds(), 2); var separator = result === "" ? "" : "T"; var time = [hour, minute, second].join(timeDelimiter); result = "".concat(result).concat(separator).concat(time).concat(tzOffset); } return result; } // lib/fp/formatISO.mjs var formatISO3 = convertToFP(formatISO, 1); // lib/formatISO9075.mjs function formatISO9075(date, options) {var _options$format3, _options$representati2; var _date = toDate(date); if (!isValid(_date)) { throw new RangeError("Invalid time value"); } var format4 = (_options$format3 = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format3 !== void 0 ? _options$format3 : "extended"; var representation = (_options$representati2 = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati2 !== void 0 ? _options$representati2 : "complete"; var result = ""; var dateDelimiter = format4 === "extended" ? "-" : ""; var timeDelimiter = format4 === "extended" ? ":" : ""; if (representation !== "time") { var day = addLeadingZeros(_date.getDate(), 2); var month = addLeadingZeros(_date.getMonth() + 1, 2); var year = addLeadingZeros(_date.getFullYear(), 4); result = "".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day); } if (representation !== "date") { var hour = addLeadingZeros(_date.getHours(), 2); var minute = addLeadingZeros(_date.getMinutes(), 2); var second = addLeadingZeros(_date.getSeconds(), 2); var separator = result === "" ? "" : " "; result = "".concat(result).concat(separator).concat(hour).concat(timeDelimiter).concat(minute).concat(timeDelimiter).concat(second); } return result; } // lib/fp/formatISO9075.mjs var formatISO90753 = convertToFP(formatISO9075, 1); // lib/fp/formatISO9075WithOptions.mjs var _formatISO9075WithOptions = convertToFP(formatISO9075, 2); // lib/formatISODuration.mjs function formatISODuration(duration) { var _duration$years2 = duration.years,years = _duration$years2 === void 0 ? 0 : _duration$years2,_duration$months2 = duration.months,months = _duration$months2 === void 0 ? 0 : _duration$months2,_duration$days2 = duration.days,days = _duration$days2 === void 0 ? 0 : _duration$days2,_duration$hours2 = duration.hours,hours = _duration$hours2 === void 0 ? 0 : _duration$hours2,_duration$minutes2 = duration.minutes,minutes = _duration$minutes2 === void 0 ? 0 : _duration$minutes2,_duration$seconds2 = duration.seconds,seconds = _duration$seconds2 === void 0 ? 0 : _duration$seconds2; return "P".concat(years, "Y").concat(months, "M").concat(days, "DT").concat(hours, "H").concat(minutes, "M").concat(seconds, "S"); } // lib/fp/formatISODuration.mjs var formatISODuration3 = convertToFP(formatISODuration, 1); // lib/fp/formatISOWithOptions.mjs var _formatISOWithOptions = convertToFP(formatISO, 2); // lib/formatRFC3339.mjs function formatRFC3339(date, options) {var _options$fractionDigi; var _date = toDate(date); if (!isValid(_date)) { throw new RangeError("Invalid time value"); } var fractionDigits = (_options$fractionDigi = options === null || options === void 0 ? void 0 : options.fractionDigits) !== null && _options$fractionDigi !== void 0 ? _options$fractionDigi : 0; var day = addLeadingZeros(_date.getDate(), 2); var month = addLeadingZeros(_date.getMonth() + 1, 2); var year = _date.getFullYear(); var hour = addLeadingZeros(_date.getHours(), 2); var minute = addLeadingZeros(_date.getMinutes(), 2); var second = addLeadingZeros(_date.getSeconds(), 2); var fractionalSecond = ""; if (fractionDigits > 0) { var _milliseconds = _date.getMilliseconds(); var fractionalSeconds = Math.trunc(_milliseconds * Math.pow(10, fractionDigits - 3)); fractionalSecond = "." + addLeadingZeros(fractionalSeconds, fractionDigits); } var offset = ""; var tzOffset = _date.getTimezoneOffset(); if (tzOffset !== 0) { var absoluteOffset = Math.abs(tzOffset); var hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2); var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2); var sign = tzOffset < 0 ? "+" : "-"; offset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset); } else { offset = "Z"; } return "".concat(year, "-").concat(month, "-").concat(day, "T").concat(hour, ":").concat(minute, ":").concat(second).concat(fractionalSecond).concat(offset); } // lib/fp/formatRFC3339.mjs var formatRFC33393 = convertToFP(formatRFC3339, 1); // lib/fp/formatRFC3339WithOptions.mjs var _formatRFC3339WithOptions = convertToFP(formatRFC3339, 2); // lib/formatRFC7231.mjs function formatRFC7231(date) { var _date = toDate(date); if (!isValid(_date)) { throw new RangeError("Invalid time value"); } var dayName = days[_date.getUTCDay()]; var dayOfMonth = addLeadingZeros(_date.getUTCDate(), 2); var monthName = months[_date.getUTCMonth()]; var year = _date.getUTCFullYear(); var hour = addLeadingZeros(_date.getUTCHours(), 2); var minute = addLeadingZeros(_date.getUTCMinutes(), 2); var second = addLeadingZeros(_date.getUTCSeconds(), 2); return "".concat(dayName, ", ").concat(dayOfMonth, " ").concat(monthName, " ").concat(year, " ").concat(hour, ":").concat(minute, ":").concat(second, " GMT"); } var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; var months = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; // lib/fp/formatRFC7231.mjs var formatRFC72313 = convertToFP(formatRFC7231, 1); // lib/formatRelative.mjs function formatRelative3(date, baseDate, options) {var _ref23, _options$locale11, _ref24, _ref25, _ref26, _options$weekStartsOn4, _options$locale12, _defaultOptions11$loc; var _date = toDate(date); var _baseDate = toDate(baseDate); var defaultOptions11 = getDefaultOptions(); var locale = (_ref23 = (_options$locale11 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale11 !== void 0 ? _options$locale11 : defaultOptions11.locale) !== null && _ref23 !== void 0 ? _ref23 : enUS; var weekStartsOn = (_ref24 = (_ref25 = (_ref26 = (_options$weekStartsOn4 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn4 !== void 0 ? _options$weekStartsOn4 : options === null || options === void 0 || (_options$locale12 = options.locale) === null || _options$locale12 === void 0 || (_options$locale12 = _options$locale12.options) === null || _options$locale12 === void 0 ? void 0 : _options$locale12.weekStartsOn) !== null && _ref26 !== void 0 ? _ref26 : defaultOptions11.weekStartsOn) !== null && _ref25 !== void 0 ? _ref25 : (_defaultOptions11$loc = defaultOptions11.locale) === null || _defaultOptions11$loc === void 0 || (_defaultOptions11$loc = _defaultOptions11$loc.options) === null || _defaultOptions11$loc === void 0 ? void 0 : _defaultOptions11$loc.weekStartsOn) !== null && _ref24 !== void 0 ? _ref24 : 0; var diff = differenceInCalendarDays(_date, _baseDate); if (isNaN(diff)) { throw new RangeError("Invalid time value"); } var token; if (diff < -6) { token = "other"; } else if (diff < -1) { token = "lastWeek"; } else if (diff < 0) { token = "yesterday"; } else if (diff < 1) { token = "today"; } else if (diff < 2) { token = "tomorrow"; } else if (diff < 7) { token = "nextWeek"; } else { token = "other"; } var formatStr = locale.formatRelative(token, _date, _baseDate, { locale: locale, weekStartsOn: weekStartsOn }); return format(_date, formatStr, { locale: locale, weekStartsOn: weekStartsOn }); } // lib/fp/formatRelative.mjs var formatRelative5 = convertToFP(formatRelative3, 2); // lib/fp/formatRelativeWithOptions.mjs var _formatRelativeWithOptions = convertToFP(formatRelative3, 3); // lib/fp/formatWithOptions.mjs var _formatWithOptions = convertToFP(format, 3); // lib/fromUnixTime.mjs function fromUnixTime(unixTime) { return toDate(unixTime * 1000); } // lib/fp/fromUnixTime.mjs var fromUnixTime3 = convertToFP(fromUnixTime, 1); // lib/getDate.mjs function getDate(date) { var _date = toDate(date); var dayOfMonth = _date.getDate(); return dayOfMonth; } // lib/fp/getDate.mjs var getDate3 = convertToFP(getDate, 1); // lib/getDay.mjs function getDay(date) { var _date = toDate(date); var day = _date.getDay(); return day; } // lib/fp/getDay.mjs var getDay3 = convertToFP(getDay, 1); // lib/fp/getDayOfYear.mjs var getDayOfYear4 = convertToFP(getDayOfYear, 1); // lib/getDaysInMonth.mjs function getDaysInMonth(date) { var _date = toDate(date); var year = _date.getFullYear(); var monthIndex = _date.getMonth(); var lastDayOfMonth = constructFrom(date, 0); lastDayOfMonth.setFullYear(year, monthIndex + 1, 0); lastDayOfMonth.setHours(0, 0, 0, 0); return lastDayOfMonth.getDate(); } // lib/fp/getDaysInMonth.mjs var getDaysInMonth3 = convertToFP(getDaysInMonth, 1); // lib/isLeapYear.mjs function isLeapYear(date) { var _date = toDate(date); var year = _date.getFullYear(); return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; } // lib/getDaysInYear.mjs function getDaysInYear(date) { var _date = toDate(date); if (String(new Date(_date)) === "Invalid Date") { return NaN; } return isLeapYear(_date) ? 366 : 365; } // lib/fp/getDaysInYear.mjs var getDaysInYear3 = convertToFP(getDaysInYear, 1); // lib/getDecade.mjs function getDecade(date) { var _date = toDate(date); var year = _date.getFullYear(); var decade = Math.floor(year / 10) * 10; return decade; } // lib/fp/getDecade.mjs var getDecade3 = convertToFP(getDecade, 1); // lib/getHours.mjs function getHours(date) { var _date = toDate(date); var hours = _date.getHours(); return hours; } // lib/fp/getHours.mjs var getHours3 = convertToFP(getHours, 1); // lib/getISODay.mjs function getISODay(date) { var _date = toDate(date); var day = _date.getDay(); if (day === 0) { day = 7; } return day; } // lib/fp/getISODay.mjs var getISODay3 = convertToFP(getISODay, 1); // lib/fp/getISOWeek.mjs var getISOWeek4 = convertToFP(getISOWeek, 1); // lib/fp/getISOWeekYear.mjs var getISOWeekYear8 = convertToFP(getISOWeekYear, 1); // lib/getISOWeeksInYear.mjs function getISOWeeksInYear(date) { var thisYear = startOfISOWeekYear(date); var nextYear = startOfISOWeekYear(addWeeks(thisYear, 60)); var diff = +nextYear - +thisYear; return Math.round(diff / millisecondsInWeek); } // lib/fp/getISOWeeksInYear.mjs var getISOWeeksInYear3 = convertToFP(getISOWeeksInYear, 1); // lib/getMilliseconds.mjs function getMilliseconds(date) { var _date = toDate(date); var milliseconds = _date.getMilliseconds(); return milliseconds; } // lib/fp/getMilliseconds.mjs var getMilliseconds3 = convertToFP(getMilliseconds, 1); // lib/getMinutes.mjs function getMinutes(date) { var _date = toDate(date); var minutes = _date.getMinutes(); return minutes; } // lib/fp/getMinutes.mjs var getMinutes3 = convertToFP(getMinutes, 1); // lib/getMonth.mjs function getMonth(date) { var _date = toDate(date); var month = _date.getMonth(); return month; } // lib/fp/getMonth.mjs var getMonth3 = convertToFP(getMonth, 1); // lib/getOverlappingDaysInIntervals.mjs function getOverlappingDaysInIntervals(intervalLeft, intervalRight) { var _sort5 = [ +toDate(intervalLeft.start), +toDate(intervalLeft.end)]. sort(function (a, b) {return a - b;}),_sort6 = _slicedToArray(_sort5, 2),leftStart = _sort6[0],leftEnd = _sort6[1]; var _sort7 = [ +toDate(intervalRight.start), +toDate(intervalRight.end)]. sort(function (a, b) {return a - b;}),_sort8 = _slicedToArray(_sort7, 2),rightStart = _sort8[0],rightEnd = _sort8[1]; var isOverlapping = leftStart < rightEnd && rightStart < leftEnd; if (!isOverlapping) return 0; var overlapLeft = rightStart < leftStart ? leftStart : rightStart; var left = overlapLeft - getTimezoneOffsetInMilliseconds(overlapLeft); var overlapRight = rightEnd > leftEnd ? leftEnd : rightEnd; var right = overlapRight - getTimezoneOffsetInMilliseconds(overlapRight); return Math.ceil((right - left) / millisecondsInDay); } // lib/fp/getOverlappingDaysInIntervals.mjs var getOverlappingDaysInIntervals3 = convertToFP(getOverlappingDaysInIntervals, 2); // lib/fp/getQuarter.mjs var getQuarter4 = convertToFP(getQuarter, 1); // lib/getSeconds.mjs function getSeconds(date) { var _date = toDate(date); var seconds = _date.getSeconds(); return seconds; } // lib/fp/getSeconds.mjs var getSeconds3 = convertToFP(getSeconds, 1); // lib/getTime.mjs function getTime(date) { var _date = toDate(date); var timestamp = _date.getTime(); return timestamp; } // lib/fp/getTime.mjs var getTime3 = convertToFP(getTime, 1); // lib/getUnixTime.mjs function getUnixTime(date) { return Math.trunc(+toDate(date) / 1000); } // lib/fp/getUnixTime.mjs var getUnixTime3 = convertToFP(getUnixTime, 1); // lib/fp/getWeek.mjs var getWeek4 = convertToFP(getWeek, 1); // lib/getWeekOfMonth.mjs function getWeekOfMonth(date, options) {var _ref27, _ref28, _ref29, _options$weekStartsOn5, _options$locale13, _defaultOptions12$loc; var defaultOptions12 = getDefaultOptions(); var weekStartsOn = (_ref27 = (_ref28 = (_ref29 = (_options$weekStartsOn5 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn5 !== void 0 ? _options$weekStartsOn5 : options === null || options === void 0 || (_options$locale13 = options.locale) === null || _options$locale13 === void 0 || (_options$locale13 = _options$locale13.options) === null || _options$locale13 === void 0 ? void 0 : _options$locale13.weekStartsOn) !== null && _ref29 !== void 0 ? _ref29 : defaultOptions12.weekStartsOn) !== null && _ref28 !== void 0 ? _ref28 : (_defaultOptions12$loc = defaultOptions12.locale) === null || _defaultOptions12$loc === void 0 || (_defaultOptions12$loc = _defaultOptions12$loc.options) === null || _defaultOptions12$loc === void 0 ? void 0 : _defaultOptions12$loc.weekStartsOn) !== null && _ref27 !== void 0 ? _ref27 : 0; var currentDayOfMonth = getDate(date); if (isNaN(currentDayOfMonth)) return NaN; var startWeekDay = getDay(startOfMonth(date)); var lastDayOfFirstWeek = weekStartsOn - startWeekDay; if (lastDayOfFirstWeek <= 0) lastDayOfFirstWeek += 7; var remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek; return Math.ceil(remainingDaysAfterFirstWeek / 7) + 1; } // lib/fp/getWeekOfMonth.mjs var getWeekOfMonth3 = convertToFP(getWeekOfMonth, 1); // lib/fp/getWeekOfMonthWithOptions.mjs var _getWeekOfMonthWithOptions = convertToFP(getWeekOfMonth, 2); // lib/fp/getWeekWithOptions.mjs var _getWeekWithOptions = convertToFP(getWeek, 2); // lib/fp/getWeekYear.mjs var getWeekYear5 = convertToFP(getWeekYear, 1); // lib/fp/getWeekYearWithOptions.mjs var _getWeekYearWithOptions = convertToFP(getWeekYear, 2); // lib/lastDayOfMonth.mjs function lastDayOfMonth(date) { var _date = toDate(date); var month = _date.getMonth(); _date.setFullYear(_date.getFullYear(), month + 1, 0); _date.setHours(0, 0, 0, 0); return _date; } // lib/getWeeksInMonth.mjs function getWeeksInMonth(date, options) { return differenceInCalendarWeeks(lastDayOfMonth(date), startOfMonth(date), options) + 1; } // lib/fp/getWeeksInMonth.mjs var getWeeksInMonth3 = convertToFP(getWeeksInMonth, 1); // lib/fp/getWeeksInMonthWithOptions.mjs var _getWeeksInMonthWithOptions = convertToFP(getWeeksInMonth, 2); // lib/getYear.mjs function getYear(date) { return toDate(date).getFullYear(); } // lib/fp/getYear.mjs var getYear3 = convertToFP(getYear, 1); // lib/hoursToMilliseconds.mjs function hoursToMilliseconds(hours) { return Math.trunc(hours * millisecondsInHour); } // lib/fp/hoursToMilliseconds.mjs var hoursToMilliseconds3 = convertToFP(hoursToMilliseconds, 1); // lib/hoursToMinutes.mjs function hoursToMinutes(hours) { return Math.trunc(hours * minutesInHour); } // lib/fp/hoursToMinutes.mjs var hoursToMinutes3 = convertToFP(hoursToMinutes, 1); // lib/hoursToSeconds.mjs function hoursToSeconds(hours) { return Math.trunc(hours * secondsInHour); } // lib/fp/hoursToSeconds.mjs var hoursToSeconds3 = convertToFP(hoursToSeconds, 1); // lib/interval.mjs function interval(start, end, options) { var _start = toDate(start); if (isNaN(+_start)) throw new TypeError("Start date is invalid"); var _end = toDate(end); if (isNaN(+_end)) throw new TypeError("End date is invalid"); if (options !== null && options !== void 0 && options.assertPositive && +_start > +_end) throw new TypeError("End date must be after start date"); return { start: _start, end: _end }; } // lib/fp/interval.mjs var interval3 = convertToFP(interval, 2); // lib/intervalToDuration.mjs function intervalToDuration(interval4) { var start = toDate(interval4.start); var end = toDate(interval4.end); var duration = {}; var years = differenceInYears(end, start); if (years) duration.years = years; var remainingMonths = add(start, { years: duration.years }); var months2 = differenceInMonths(end, remainingMonths); if (months2) duration.months = months2; var remainingDays = add(remainingMonths, { months: duration.months }); var days2 = differenceInDays(end, remainingDays); if (days2) duration.days = days2; var remainingHours = add(remainingDays, { days: duration.days }); var hours = differenceInHours(end, remainingHours); if (hours) duration.hours = hours; var remainingMinutes = add(remainingHours, { hours: duration.hours }); var minutes = differenceInMinutes(end, remainingMinutes); if (minutes) duration.minutes = minutes; var remainingSeconds = add(remainingMinutes, { minutes: duration.minutes }); var seconds = differenceInSeconds(end, remainingSeconds); if (seconds) duration.seconds = seconds; return duration; } // lib/fp/intervalToDuration.mjs var intervalToDuration3 = convertToFP(intervalToDuration, 1); // lib/fp/intervalWithOptions.mjs var _intervalWithOptions = convertToFP(interval, 3); // lib/intlFormat.mjs function intlFormat(date, formatOrLocale, localeOptions) {var _localeOptions; var formatOptions; if (isFormatOptions(formatOrLocale)) { formatOptions = formatOrLocale; } else { localeOptions = formatOrLocale; } return new Intl.DateTimeFormat((_localeOptions = localeOptions) === null || _localeOptions === void 0 ? void 0 : _localeOptions.locale, formatOptions).format(toDate(date)); } var isFormatOptions = function isFormatOptions(opts) { return opts !== undefined && !("locale" in opts); }; // lib/fp/intlFormat.mjs var intlFormat3 = convertToFP(intlFormat, 3); // lib/intlFormatDistance.mjs function intlFormatDistance(date, baseDate, options) { var value = 0; var unit; var dateLeft = toDate(date); var dateRight = toDate(baseDate); if (!(options !== null && options !== void 0 && options.unit)) { var diffInSeconds = differenceInSeconds(dateLeft, dateRight); if (Math.abs(diffInSeconds) < secondsInMinute) { value = differenceInSeconds(dateLeft, dateRight); unit = "second"; } else if (Math.abs(diffInSeconds) < secondsInHour) { value = differenceInMinutes(dateLeft, dateRight); unit = "minute"; } else if (Math.abs(diffInSeconds) < secondsInDay && Math.abs(differenceInCalendarDays(dateLeft, dateRight)) < 1) { value = differenceInHours(dateLeft, dateRight); unit = "hour"; } else if (Math.abs(diffInSeconds) < secondsInWeek && (value = differenceInCalendarDays(dateLeft, dateRight)) && Math.abs(value) < 7) { unit = "day"; } else if (Math.abs(diffInSeconds) < secondsInMonth) { value = differenceInCalendarWeeks(dateLeft, dateRight); unit = "week"; } else if (Math.abs(diffInSeconds) < secondsInQuarter) { value = differenceInCalendarMonths(dateLeft, dateRight); unit = "month"; } else if (Math.abs(diffInSeconds) < secondsInYear) { if (differenceInCalendarQuarters(dateLeft, dateRight) < 4) { value = differenceInCalendarQuarters(dateLeft, dateRight); unit = "quarter"; } else { value = differenceInCalendarYears(dateLeft, dateRight); unit = "year"; } } else { value = differenceInCalendarYears(dateLeft, dateRight); unit = "year"; } } else { unit = options === null || options === void 0 ? void 0 : options.unit; if (unit === "second") { value = differenceInSeconds(dateLeft, dateRight); } else if (unit === "minute") { value = differenceInMinutes(dateLeft, dateRight); } else if (unit === "hour") { value = differenceInHours(dateLeft, dateRight); } else if (unit === "day") { value = differenceInCalendarDays(dateLeft, dateRight); } else if (unit === "week") { value = differenceInCalendarWeeks(dateLeft, dateRight); } else if (unit === "month") { value = differenceInCalendarMonths(dateLeft, dateRight); } else if (unit === "quarter") { value = differenceInCalendarQuarters(dateLeft, dateRight); } else if (unit === "year") { value = differenceInCalendarYears(dateLeft, dateRight); } } var rtf = new Intl.RelativeTimeFormat(options === null || options === void 0 ? void 0 : options.locale, { localeMatcher: options === null || options === void 0 ? void 0 : options.localeMatcher, numeric: (options === null || options === void 0 ? void 0 : options.numeric) || "auto", style: options === null || options === void 0 ? void 0 : options.style }); return rtf.format(value, unit); } // lib/fp/intlFormatDistance.mjs var intlFormatDistance3 = convertToFP(intlFormatDistance, 2); // lib/fp/intlFormatDistanceWithOptions.mjs var _intlFormatDistanceWithOptions = convertToFP(intlFormatDistance, 3); // lib/isAfter.mjs function isAfter(date, dateToCompare) { var _date = toDate(date); var _dateToCompare = toDate(dateToCompare); return _date.getTime() > _dateToCompare.getTime(); } // lib/fp/isAfter.mjs var isAfter3 = convertToFP(isAfter, 2); // lib/isBefore.mjs function isBefore(date, dateToCompare) { var _date = toDate(date); var _dateToCompare = toDate(dateToCompare); return +_date < +_dateToCompare; } // lib/fp/isBefore.mjs var isBefore3 = convertToFP(isBefore, 2); // lib/fp/isDate.mjs var isDate4 = convertToFP(isDate, 1); // lib/isEqual.mjs function isEqual(leftDate, rightDate) { var _dateLeft = toDate(leftDate); var _dateRight = toDate(rightDate); return +_dateLeft === +_dateRight; } // lib/fp/isEqual.mjs var isEqual3 = convertToFP(isEqual, 2); // lib/isExists.mjs function isExists(year, month, day) { var date = new Date(year, month, day); return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day; } // lib/fp/isExists.mjs var isExists3 = convertToFP(isExists, 3); // lib/isFirstDayOfMonth.mjs function isFirstDayOfMonth(date) { return toDate(date).getDate() === 1; } // lib/fp/isFirstDayOfMonth.mjs var isFirstDayOfMonth3 = convertToFP(isFirstDayOfMonth, 1); // lib/isFriday.mjs function isFriday(date) { return toDate(date).getDay() === 5; } // lib/fp/isFriday.mjs var isFriday3 = convertToFP(isFriday, 1); // lib/fp/isLastDayOfMonth.mjs var isLastDayOfMonth4 = convertToFP(isLastDayOfMonth, 1); // lib/fp/isLeapYear.mjs var isLeapYear4 = convertToFP(isLeapYear, 1); // lib/getDefaultOptions.mjs function getDefaultOptions2() { return Object.assign({}, getDefaultOptions()); } // lib/transpose.mjs function transpose(fromDate, constructor) { var date = constructor instanceof Date ? constructFrom(constructor, 0) : new constructor(0); date.setFullYear(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate()); date.setHours(fromDate.getHours(), fromDate.getMinutes(), fromDate.getSeconds(), fromDate.getMilliseconds()); return date; } // lib/parse/_lib/Setter.mjs var TIMEZONE_UNIT_PRIORITY = 10;var Setter = /*#__PURE__*/function () {function Setter() {_classCallCheck(this, Setter);_defineProperty(this, "subPriority", 0);}_createClass(Setter, [{ key: "validate", value: function validate(_utcDate, _options) { return true; } }]);return Setter;}();var ValueSetter = /*#__PURE__*/function (_Setter2) {_inherits(ValueSetter, _Setter2); function ValueSetter(value, validateValue, setValue, priority, subPriority) {var _this;_classCallCheck(this, ValueSetter); _this = _callSuper(this, ValueSetter); _this.value = value; _this.validateValue = validateValue; _this.setValue = setValue; _this.priority = priority; if (subPriority) { _this.subPriority = subPriority; }return _this; }_createClass(ValueSetter, [{ key: "validate", value: function validate(date, options) { return this.validateValue(date, this.value, options); } }, { key: "set", value: function set(date, flags, options) { return this.setValue(date, flags, this.value, options); } }]);return ValueSetter;}(Setter);var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter3) {_inherits(DateToSystemTimezoneSetter, _Setter3);function DateToSystemTimezoneSetter() {var _this2;_classCallCheck(this, DateToSystemTimezoneSetter);for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this2 = _callSuper(this, DateToSystemTimezoneSetter, [].concat(args));_defineProperty(_assertThisInitialized(_this2), "priority", TIMEZONE_UNIT_PRIORITY);_defineProperty(_assertThisInitialized(_this2), "subPriority", -1);return _this2;}_createClass(DateToSystemTimezoneSetter, [{ key: "set", value: function set(date, flags) { if (flags.timestampIsSet) return date; return constructFrom(date, transpose(date, Date)); } }]);return DateToSystemTimezoneSetter;}(Setter); // lib/parse/_lib/Parser.mjs var Parser = /*#__PURE__*/function () {function Parser() {_classCallCheck(this, Parser);}_createClass(Parser, [{ key: "run", value: function run(dateString, token, match3, options) { var result = this.parse(dateString, token, match3, options); if (!result) { return null; } return { setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority), rest: result.rest }; } }, { key: "validate", value: function validate(_utcDate, _value, _options) { return true; } }]);return Parser;}(); // lib/parse/_lib/parsers/EraParser.mjs var EraParser = /*#__PURE__*/function (_Parser) {_inherits(EraParser, _Parser);function EraParser() {var _this3;_classCallCheck(this, EraParser);for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {args[_key3] = arguments[_key3];}_this3 = _callSuper(this, EraParser, [].concat(args));_defineProperty(_assertThisInitialized(_this3), "priority", 140);_defineProperty(_assertThisInitialized(_this3), "incompatibleTokens", ["R", "u", "t", "T"]);return _this3;}_createClass(EraParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "G":case "GG":case "GGG":return match3.era(dateString, { width: "abbreviated" }) || match3.era(dateString, { width: "narrow" });case "GGGGG":return match3.era(dateString, { width: "narrow" });case "GGGG":default:return match3.era(dateString, { width: "wide" }) || match3.era(dateString, { width: "abbreviated" }) || match3.era(dateString, { width: "narrow" });}} }, { key: "set", value: function set(date, flags, value) {flags.era = value;date.setFullYear(value, 0, 1);date.setHours(0, 0, 0, 0);return date;} }]);return EraParser;}(Parser); // lib/parse/_lib/constants.mjs var numericPatterns = { month: /^(1[0-2]|0?\d)/, date: /^(3[0-1]|[0-2]?\d)/, dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, week: /^(5[0-3]|[0-4]?\d)/, hour23h: /^(2[0-3]|[0-1]?\d)/, hour24h: /^(2[0-4]|[0-1]?\d)/, hour11h: /^(1[0-1]|0?\d)/, hour12h: /^(1[0-2]|0?\d)/, minute: /^[0-5]?\d/, second: /^[0-5]?\d/, singleDigit: /^\d/, twoDigits: /^\d{1,2}/, threeDigits: /^\d{1,3}/, fourDigits: /^\d{1,4}/, anyDigitsSigned: /^-?\d+/, singleDigitSigned: /^-?\d/, twoDigitsSigned: /^-?\d{1,2}/, threeDigitsSigned: /^-?\d{1,3}/, fourDigitsSigned: /^-?\d{1,4}/ }; var timezonePatterns = { basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/, basic: /^([+-])(\d{2})(\d{2})|Z/, basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/, extended: /^([+-])(\d{2}):(\d{2})|Z/, extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/ }; // lib/parse/_lib/utils.mjs function mapValue(parseFnResult, mapFn) { if (!parseFnResult) { return parseFnResult; } return { value: mapFn(parseFnResult.value), rest: parseFnResult.rest }; } function parseNumericPattern(pattern, dateString) { var matchResult = dateString.match(pattern); if (!matchResult) { return null; } return { value: parseInt(matchResult[0], 10), rest: dateString.slice(matchResult[0].length) }; } function parseTimezonePattern(pattern, dateString) { var matchResult = dateString.match(pattern); if (!matchResult) { return null; } if (matchResult[0] === "Z") { return { value: 0, rest: dateString.slice(1) }; } var sign = matchResult[1] === "+" ? 1 : -1; var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0; var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0; var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0; return { value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond), rest: dateString.slice(matchResult[0].length) }; } function parseAnyDigitsSigned(dateString) { return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString); } function parseNDigits(n, dateString) { switch (n) { case 1: return parseNumericPattern(numericPatterns.singleDigit, dateString); case 2: return parseNumericPattern(numericPatterns.twoDigits, dateString); case 3: return parseNumericPattern(numericPatterns.threeDigits, dateString); case 4: return parseNumericPattern(numericPatterns.fourDigits, dateString); default: return parseNumericPattern(new RegExp("^\\d{1," + n + "}"), dateString); } } function parseNDigitsSigned(n, dateString) { switch (n) { case 1: return parseNumericPattern(numericPatterns.singleDigitSigned, dateString); case 2: return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString); case 3: return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString); case 4: return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString); default: return parseNumericPattern(new RegExp("^-?\\d{1," + n + "}"), dateString); } } function dayPeriodEnumToHours(dayPeriod) { switch (dayPeriod) { case "morning": return 4; case "evening": return 17; case "pm": case "noon": case "afternoon": return 12; case "am": case "midnight": case "night": default: return 0; } } function normalizeTwoDigitYear(twoDigitYear, currentYear) { var isCommonEra = currentYear > 0; var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear; var result; if (absCurrentYear <= 50) { result = twoDigitYear || 100; } else { var rangeEnd = absCurrentYear + 50; var rangeEndCentury = Math.trunc(rangeEnd / 100) * 100; var isPreviousCentury = twoDigitYear >= rangeEnd % 100; result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0); } return isCommonEra ? result : 1 - result; } function isLeapYearIndex(year) { return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; } // lib/parse/_lib/parsers/YearParser.mjs var YearParser = /*#__PURE__*/function (_Parser2) {_inherits(YearParser, _Parser2);function YearParser() {var _this4;_classCallCheck(this, YearParser);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}_this4 = _callSuper(this, YearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this4), "priority", 130);_defineProperty(_assertThisInitialized(_this4), "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);return _this4;}_createClass(YearParser, [{ key: "parse", value: function parse(dateString, token, match3) { var valueCallback = function valueCallback(year) {return { year: year, isTwoDigitYear: token === "yy" };}; switch (token) { case "y": return mapValue(parseNDigits(4, dateString), valueCallback); case "yo": return mapValue(match3.ordinalNumber(dateString, { unit: "year" }), valueCallback); default: return mapValue(parseNDigits(token.length, dateString), valueCallback); } } }, { key: "validate", value: function validate(_date, value) { return value.isTwoDigitYear || value.year > 0; } }, { key: "set", value: function set(date, flags, value) { var currentYear = date.getFullYear(); if (value.isTwoDigitYear) { var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear); date.setFullYear(normalizedTwoDigitYear, 0, 1); date.setHours(0, 0, 0, 0); return date; } var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year; date.setFullYear(year, 0, 1); date.setHours(0, 0, 0, 0); return date; } }]);return YearParser;}(Parser); // lib/parse/_lib/parsers/LocalWeekYearParser.mjs var LocalWeekYearParser = /*#__PURE__*/function (_Parser3) {_inherits(LocalWeekYearParser, _Parser3);function LocalWeekYearParser() {var _this5;_classCallCheck(this, LocalWeekYearParser);for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {args[_key5] = arguments[_key5];}_this5 = _callSuper(this, LocalWeekYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this5), "priority", 130);_defineProperty(_assertThisInitialized(_this5), "incompatibleTokens", [ "y", "R", "u", "Q", "q", "M", "L", "I", "d", "D", "i", "t", "T"]);return _this5;}_createClass(LocalWeekYearParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(year) {return { year: year, isTwoDigitYear: token === "YY" };};switch (token) {case "Y":return mapValue(parseNDigits(4, dateString), valueCallback);case "Yo":return mapValue(match3.ordinalNumber(dateString, { unit: "year" }), valueCallback);default:return mapValue(parseNDigits(token.length, dateString), valueCallback);}} }, { key: "validate", value: function validate(_date, value) {return value.isTwoDigitYear || value.year > 0;} }, { key: "set", value: function set(date, flags, value, options) {var currentYear = getWeekYear(date, options);if (value.isTwoDigitYear) {var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);date.setFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);date.setHours(0, 0, 0, 0);return startOfWeek(date, options);}var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;date.setFullYear(year, 0, options.firstWeekContainsDate);date.setHours(0, 0, 0, 0);return startOfWeek(date, options);} }]);return LocalWeekYearParser;}(Parser); // lib/parse/_lib/parsers/ISOWeekYearParser.mjs var ISOWeekYearParser = /*#__PURE__*/function (_Parser4) {_inherits(ISOWeekYearParser, _Parser4);function ISOWeekYearParser() {var _this6;_classCallCheck(this, ISOWeekYearParser);for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {args[_key6] = arguments[_key6];}_this6 = _callSuper(this, ISOWeekYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this6), "priority", 130);_defineProperty(_assertThisInitialized(_this6), "incompatibleTokens", [ "G", "y", "Y", "u", "Q", "q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]);return _this6;}_createClass(ISOWeekYearParser, [{ key: "parse", value: function parse(dateString, token) {if (token === "R") {return parseNDigitsSigned(4, dateString);}return parseNDigitsSigned(token.length, dateString);} }, { key: "set", value: function set(date, _flags, value) {var firstWeekOfYear = constructFrom(date, 0);firstWeekOfYear.setFullYear(value, 0, 4);firstWeekOfYear.setHours(0, 0, 0, 0);return startOfISOWeek(firstWeekOfYear);} }]);return ISOWeekYearParser;}(Parser); // lib/parse/_lib/parsers/ExtendedYearParser.mjs var ExtendedYearParser = /*#__PURE__*/function (_Parser5) {_inherits(ExtendedYearParser, _Parser5);function ExtendedYearParser() {var _this7;_classCallCheck(this, ExtendedYearParser);for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {args[_key7] = arguments[_key7];}_this7 = _callSuper(this, ExtendedYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this7), "priority", 130);_defineProperty(_assertThisInitialized(_this7), "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);return _this7;}_createClass(ExtendedYearParser, [{ key: "parse", value: function parse(dateString, token) {if (token === "u") {return parseNDigitsSigned(4, dateString);}return parseNDigitsSigned(token.length, dateString);} }, { key: "set", value: function set(date, _flags, value) {date.setFullYear(value, 0, 1);date.setHours(0, 0, 0, 0);return date;} }]);return ExtendedYearParser;}(Parser); // lib/parse/_lib/parsers/QuarterParser.mjs var QuarterParser = /*#__PURE__*/function (_Parser6) {_inherits(QuarterParser, _Parser6);function QuarterParser() {var _this8;_classCallCheck(this, QuarterParser);for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {args[_key8] = arguments[_key8];}_this8 = _callSuper(this, QuarterParser, [].concat(args));_defineProperty(_assertThisInitialized(_this8), "priority", 120);_defineProperty(_assertThisInitialized(_this8), "incompatibleTokens", [ "Y", "R", "q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]);return _this8;}_createClass(QuarterParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "Q":case "QQ":return parseNDigits(token.length, dateString);case "Qo":return match3.ordinalNumber(dateString, { unit: "quarter" });case "QQQ":return match3.quarter(dateString, { width: "abbreviated", context: "formatting" }) || match3.quarter(dateString, { width: "narrow", context: "formatting" });case "QQQQQ":return match3.quarter(dateString, { width: "narrow", context: "formatting" });case "QQQQ":default:return match3.quarter(dateString, { width: "wide", context: "formatting" }) || match3.quarter(dateString, { width: "abbreviated", context: "formatting" }) || match3.quarter(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 4;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth((value - 1) * 3, 1);date.setHours(0, 0, 0, 0);return date;} }]);return QuarterParser;}(Parser); // lib/parse/_lib/parsers/StandAloneQuarterParser.mjs var StandAloneQuarterParser = /*#__PURE__*/function (_Parser7) {_inherits(StandAloneQuarterParser, _Parser7);function StandAloneQuarterParser() {var _this9;_classCallCheck(this, StandAloneQuarterParser);for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {args[_key9] = arguments[_key9];}_this9 = _callSuper(this, StandAloneQuarterParser, [].concat(args));_defineProperty(_assertThisInitialized(_this9), "priority", 120);_defineProperty(_assertThisInitialized(_this9), "incompatibleTokens", [ "Y", "R", "Q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]);return _this9;}_createClass(StandAloneQuarterParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "q":case "qq":return parseNDigits(token.length, dateString);case "qo":return match3.ordinalNumber(dateString, { unit: "quarter" });case "qqq":return match3.quarter(dateString, { width: "abbreviated", context: "standalone" }) || match3.quarter(dateString, { width: "narrow", context: "standalone" });case "qqqqq":return match3.quarter(dateString, { width: "narrow", context: "standalone" });case "qqqq":default:return match3.quarter(dateString, { width: "wide", context: "standalone" }) || match3.quarter(dateString, { width: "abbreviated", context: "standalone" }) || match3.quarter(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 4;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth((value - 1) * 3, 1);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneQuarterParser;}(Parser); // lib/parse/_lib/parsers/MonthParser.mjs var MonthParser = /*#__PURE__*/function (_Parser8) {_inherits(MonthParser, _Parser8);function MonthParser() {var _this10;_classCallCheck(this, MonthParser);for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {args[_key10] = arguments[_key10];}_this10 = _callSuper(this, MonthParser, [].concat(args));_defineProperty(_assertThisInitialized(_this10), "incompatibleTokens", [ "Y", "R", "q", "Q", "L", "w", "I", "D", "i", "e", "c", "t", "T"]);_defineProperty(_assertThisInitialized(_this10), "priority", 110);return _this10;}_createClass(MonthParser, [{ key: "parse", value: function parse(dateString, token, match3) { var valueCallback = function valueCallback(value) {return value - 1;}; switch (token) { case "M": return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback); case "MM": return mapValue(parseNDigits(2, dateString), valueCallback); case "Mo": return mapValue(match3.ordinalNumber(dateString, { unit: "month" }), valueCallback); case "MMM": return match3.month(dateString, { width: "abbreviated", context: "formatting" }) || match3.month(dateString, { width: "narrow", context: "formatting" }); case "MMMMM": return match3.month(dateString, { width: "narrow", context: "formatting" }); case "MMMM": default: return match3.month(dateString, { width: "wide", context: "formatting" }) || match3.month(dateString, { width: "abbreviated", context: "formatting" }) || match3.month(dateString, { width: "narrow", context: "formatting" }); } } }, { key: "validate", value: function validate(_date, value) { return value >= 0 && value <= 11; } }, { key: "set", value: function set(date, _flags, value) { date.setMonth(value, 1); date.setHours(0, 0, 0, 0); return date; } }]);return MonthParser;}(Parser); // lib/parse/_lib/parsers/StandAloneMonthParser.mjs var StandAloneMonthParser = /*#__PURE__*/function (_Parser9) {_inherits(StandAloneMonthParser, _Parser9);function StandAloneMonthParser() {var _this11;_classCallCheck(this, StandAloneMonthParser);for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {args[_key11] = arguments[_key11];}_this11 = _callSuper(this, StandAloneMonthParser, [].concat(args));_defineProperty(_assertThisInitialized(_this11), "priority", 110);_defineProperty(_assertThisInitialized(_this11), "incompatibleTokens", [ "Y", "R", "q", "Q", "M", "w", "I", "D", "i", "e", "c", "t", "T"]);return _this11;}_createClass(StandAloneMonthParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(value) {return value - 1;};switch (token) {case "L":return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);case "LL":return mapValue(parseNDigits(2, dateString), valueCallback);case "Lo":return mapValue(match3.ordinalNumber(dateString, { unit: "month" }), valueCallback);case "LLL":return match3.month(dateString, { width: "abbreviated", context: "standalone" }) || match3.month(dateString, { width: "narrow", context: "standalone" });case "LLLLL":return match3.month(dateString, { width: "narrow", context: "standalone" });case "LLLL":default:return match3.month(dateString, { width: "wide", context: "standalone" }) || match3.month(dateString, { width: "abbreviated", context: "standalone" }) || match3.month(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 11;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth(value, 1);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneMonthParser;}(Parser); // lib/setWeek.mjs function setWeek(date, week, options) { var _date = toDate(date); var diff = getWeek(_date, options) - week; _date.setDate(_date.getDate() - diff * 7); return _date; } // lib/parse/_lib/parsers/LocalWeekParser.mjs var LocalWeekParser = /*#__PURE__*/function (_Parser10) {_inherits(LocalWeekParser, _Parser10);function LocalWeekParser() {var _this12;_classCallCheck(this, LocalWeekParser);for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {args[_key12] = arguments[_key12];}_this12 = _callSuper(this, LocalWeekParser, [].concat(args));_defineProperty(_assertThisInitialized(_this12), "priority", 100);_defineProperty(_assertThisInitialized(_this12), "incompatibleTokens", [ "y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "i", "t", "T"]);return _this12;}_createClass(LocalWeekParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "w":return parseNumericPattern(numericPatterns.week, dateString);case "wo":return match3.ordinalNumber(dateString, { unit: "week" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 53;} }, { key: "set", value: function set(date, _flags, value, options) {return startOfWeek(setWeek(date, value, options), options);} }]);return LocalWeekParser;}(Parser); // lib/setISOWeek.mjs function setISOWeek(date, week) { var _date = toDate(date); var diff = getISOWeek(_date) - week; _date.setDate(_date.getDate() - diff * 7); return _date; } // lib/parse/_lib/parsers/ISOWeekParser.mjs var ISOWeekParser = /*#__PURE__*/function (_Parser11) {_inherits(ISOWeekParser, _Parser11);function ISOWeekParser() {var _this13;_classCallCheck(this, ISOWeekParser);for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {args[_key13] = arguments[_key13];}_this13 = _callSuper(this, ISOWeekParser, [].concat(args));_defineProperty(_assertThisInitialized(_this13), "priority", 100);_defineProperty(_assertThisInitialized(_this13), "incompatibleTokens", [ "y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]);return _this13;}_createClass(ISOWeekParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "I":return parseNumericPattern(numericPatterns.week, dateString);case "Io":return match3.ordinalNumber(dateString, { unit: "week" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 53;} }, { key: "set", value: function set(date, _flags, value) {return startOfISOWeek(setISOWeek(date, value));} }]);return ISOWeekParser;}(Parser); // lib/parse/_lib/parsers/DateParser.mjs var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var DAYS_IN_MONTH_LEAP_YEAR = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];var DateParser = /*#__PURE__*/function (_Parser12) {_inherits(DateParser, _Parser12);function DateParser() {var _this14;_classCallCheck(this, DateParser);for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {args[_key14] = arguments[_key14];}_this14 = _callSuper(this, DateParser, [].concat(args));_defineProperty(_assertThisInitialized(_this14), "priority", 90);_defineProperty(_assertThisInitialized(_this14), "subPriority", 1);_defineProperty(_assertThisInitialized(_this14), "incompatibleTokens", [ "Y", "R", "q", "Q", "w", "I", "D", "i", "e", "c", "t", "T"]);return _this14;}_createClass(DateParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "d":return parseNumericPattern(numericPatterns.date, dateString);case "do":return match3.ordinalNumber(dateString, { unit: "date" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(date, value) {var year = date.getFullYear();var isLeapYear5 = isLeapYearIndex(year);var month = date.getMonth();if (isLeapYear5) {return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];} else {return value >= 1 && value <= DAYS_IN_MONTH[month];}} }, { key: "set", value: function set(date, _flags, value) {date.setDate(value);date.setHours(0, 0, 0, 0);return date;} }]);return DateParser;}(Parser); // lib/parse/_lib/parsers/DayOfYearParser.mjs var DayOfYearParser = /*#__PURE__*/function (_Parser13) {_inherits(DayOfYearParser, _Parser13);function DayOfYearParser() {var _this15;_classCallCheck(this, DayOfYearParser);for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {args[_key15] = arguments[_key15];}_this15 = _callSuper(this, DayOfYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this15), "priority", 90);_defineProperty(_assertThisInitialized(_this15), "subpriority", 1);_defineProperty(_assertThisInitialized(_this15), "incompatibleTokens", [ "Y", "R", "q", "Q", "M", "L", "w", "I", "d", "E", "i", "e", "c", "t", "T"]);return _this15;}_createClass(DayOfYearParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "D":case "DD":return parseNumericPattern(numericPatterns.dayOfYear, dateString);case "Do":return match3.ordinalNumber(dateString, { unit: "date" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(date, value) {var year = date.getFullYear();var isLeapYear5 = isLeapYearIndex(year);if (isLeapYear5) {return value >= 1 && value <= 366;} else {return value >= 1 && value <= 365;}} }, { key: "set", value: function set(date, _flags, value) {date.setMonth(0, value);date.setHours(0, 0, 0, 0);return date;} }]);return DayOfYearParser;}(Parser); // lib/setDay.mjs function setDay(date, day, options) {var _ref30, _ref31, _ref32, _options$weekStartsOn6, _options$locale14, _defaultOptions14$loc; var defaultOptions14 = getDefaultOptions(); var weekStartsOn = (_ref30 = (_ref31 = (_ref32 = (_options$weekStartsOn6 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn6 !== void 0 ? _options$weekStartsOn6 : options === null || options === void 0 || (_options$locale14 = options.locale) === null || _options$locale14 === void 0 || (_options$locale14 = _options$locale14.options) === null || _options$locale14 === void 0 ? void 0 : _options$locale14.weekStartsOn) !== null && _ref32 !== void 0 ? _ref32 : defaultOptions14.weekStartsOn) !== null && _ref31 !== void 0 ? _ref31 : (_defaultOptions14$loc = defaultOptions14.locale) === null || _defaultOptions14$loc === void 0 || (_defaultOptions14$loc = _defaultOptions14$loc.options) === null || _defaultOptions14$loc === void 0 ? void 0 : _defaultOptions14$loc.weekStartsOn) !== null && _ref30 !== void 0 ? _ref30 : 0; var _date = toDate(date); var currentDay = _date.getDay(); var remainder = day % 7; var dayIndex = (remainder + 7) % 7; var delta = 7 - weekStartsOn; var diff = day < 0 || day > 6 ? day - (currentDay + delta) % 7 : (dayIndex + delta) % 7 - (currentDay + delta) % 7; return addDays(_date, diff); } // lib/parse/_lib/parsers/DayParser.mjs var DayParser = /*#__PURE__*/function (_Parser14) {_inherits(DayParser, _Parser14);function DayParser() {var _this16;_classCallCheck(this, DayParser);for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {args[_key16] = arguments[_key16];}_this16 = _callSuper(this, DayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this16), "priority", 90);_defineProperty(_assertThisInitialized(_this16), "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]);return _this16;}_createClass(DayParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "E":case "EE":case "EEE":return match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEEE":return match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEEEE":return match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEE":default:return match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return DayParser;}(Parser); // lib/parse/_lib/parsers/LocalDayParser.mjs var LocalDayParser = /*#__PURE__*/function (_Parser15) {_inherits(LocalDayParser, _Parser15);function LocalDayParser() {var _this17;_classCallCheck(this, LocalDayParser);for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {args[_key17] = arguments[_key17];}_this17 = _callSuper(this, LocalDayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this17), "priority", 90);_defineProperty(_assertThisInitialized(_this17), "incompatibleTokens", [ "y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "c", "t", "T"]);return _this17;}_createClass(LocalDayParser, [{ key: "parse", value: function parse(dateString, token, match3, options) {var valueCallback = function valueCallback(value) {var wholeWeekDays = Math.floor((value - 1) / 7) * 7;return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;};switch (token) {case "e":case "ee":return mapValue(parseNDigits(token.length, dateString), valueCallback);case "eo":return mapValue(match3.ordinalNumber(dateString, { unit: "day" }), valueCallback);case "eee":return match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "eeeee":return match3.day(dateString, { width: "narrow", context: "formatting" });case "eeeeee":return match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "eeee":default:return match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return LocalDayParser;}(Parser); // lib/parse/_lib/parsers/StandAloneLocalDayParser.mjs var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser16) {_inherits(StandAloneLocalDayParser, _Parser16);function StandAloneLocalDayParser() {var _this18;_classCallCheck(this, StandAloneLocalDayParser);for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {args[_key18] = arguments[_key18];}_this18 = _callSuper(this, StandAloneLocalDayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this18), "priority", 90);_defineProperty(_assertThisInitialized(_this18), "incompatibleTokens", [ "y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "e", "t", "T"]);return _this18;}_createClass(StandAloneLocalDayParser, [{ key: "parse", value: function parse(dateString, token, match3, options) {var valueCallback = function valueCallback(value) {var wholeWeekDays = Math.floor((value - 1) / 7) * 7;return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;};switch (token) {case "c":case "cc":return mapValue(parseNDigits(token.length, dateString), valueCallback);case "co":return mapValue(match3.ordinalNumber(dateString, { unit: "day" }), valueCallback);case "ccc":return match3.day(dateString, { width: "abbreviated", context: "standalone" }) || match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });case "ccccc":return match3.day(dateString, { width: "narrow", context: "standalone" });case "cccccc":return match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });case "cccc":default:return match3.day(dateString, { width: "wide", context: "standalone" }) || match3.day(dateString, { width: "abbreviated", context: "standalone" }) || match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneLocalDayParser;}(Parser); // lib/setISODay.mjs function setISODay(date, day) { var _date = toDate(date); var currentDay = getISODay(_date); var diff = day - currentDay; return addDays(_date, diff); } // lib/parse/_lib/parsers/ISODayParser.mjs var ISODayParser = /*#__PURE__*/function (_Parser17) {_inherits(ISODayParser, _Parser17);function ISODayParser() {var _this19;_classCallCheck(this, ISODayParser);for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {args[_key19] = arguments[_key19];}_this19 = _callSuper(this, ISODayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this19), "priority", 90);_defineProperty(_assertThisInitialized(_this19), "incompatibleTokens", [ "y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "E", "e", "c", "t", "T"]);return _this19;}_createClass(ISODayParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(value) {if (value === 0) {return 7;}return value;};switch (token) {case "i":case "ii":return parseNDigits(token.length, dateString);case "io":return match3.ordinalNumber(dateString, { unit: "day" });case "iii":return mapValue(match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiiii":return mapValue(match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiiiii":return mapValue(match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiii":default:return mapValue(match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 7;} }, { key: "set", value: function set(date, _flags, value) {date = setISODay(date, value);date.setHours(0, 0, 0, 0);return date;} }]);return ISODayParser;}(Parser); // lib/parse/_lib/parsers/AMPMParser.mjs var AMPMParser = /*#__PURE__*/function (_Parser18) {_inherits(AMPMParser, _Parser18);function AMPMParser() {var _this20;_classCallCheck(this, AMPMParser);for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {args[_key20] = arguments[_key20];}_this20 = _callSuper(this, AMPMParser, [].concat(args));_defineProperty(_assertThisInitialized(_this20), "priority", 80);_defineProperty(_assertThisInitialized(_this20), "incompatibleTokens", ["b", "B", "H", "k", "t", "T"]);return _this20;}_createClass(AMPMParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "a":case "aa":case "aaa":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "aaaaa":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "aaaa":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return AMPMParser;}(Parser); // lib/parse/_lib/parsers/AMPMMidnightParser.mjs var AMPMMidnightParser = /*#__PURE__*/function (_Parser19) {_inherits(AMPMMidnightParser, _Parser19);function AMPMMidnightParser() {var _this21;_classCallCheck(this, AMPMMidnightParser);for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {args[_key21] = arguments[_key21];}_this21 = _callSuper(this, AMPMMidnightParser, [].concat(args));_defineProperty(_assertThisInitialized(_this21), "priority", 80);_defineProperty(_assertThisInitialized(_this21), "incompatibleTokens", ["a", "B", "H", "k", "t", "T"]);return _this21;}_createClass(AMPMMidnightParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "b":case "bb":case "bbb":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "bbbbb":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "bbbb":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return AMPMMidnightParser;}(Parser); // lib/parse/_lib/parsers/DayPeriodParser.mjs var DayPeriodParser = /*#__PURE__*/function (_Parser20) {_inherits(DayPeriodParser, _Parser20);function DayPeriodParser() {var _this22;_classCallCheck(this, DayPeriodParser);for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {args[_key22] = arguments[_key22];}_this22 = _callSuper(this, DayPeriodParser, [].concat(args));_defineProperty(_assertThisInitialized(_this22), "priority", 80);_defineProperty(_assertThisInitialized(_this22), "incompatibleTokens", ["a", "b", "t", "T"]);return _this22;}_createClass(DayPeriodParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "B":case "BB":case "BBB":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "BBBBB":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "BBBB":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return DayPeriodParser;}(Parser); // lib/parse/_lib/parsers/Hour1to12Parser.mjs var Hour1to12Parser = /*#__PURE__*/function (_Parser21) {_inherits(Hour1to12Parser, _Parser21);function Hour1to12Parser() {var _this23;_classCallCheck(this, Hour1to12Parser);for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {args[_key23] = arguments[_key23];}_this23 = _callSuper(this, Hour1to12Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this23), "priority", 70);_defineProperty(_assertThisInitialized(_this23), "incompatibleTokens", ["H", "K", "k", "t", "T"]);return _this23;}_createClass(Hour1to12Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "h":return parseNumericPattern(numericPatterns.hour12h, dateString);case "ho":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 12;} }, { key: "set", value: function set(date, _flags, value) {var isPM = date.getHours() >= 12;if (isPM && value < 12) {date.setHours(value + 12, 0, 0, 0);} else if (!isPM && value === 12) {date.setHours(0, 0, 0, 0);} else {date.setHours(value, 0, 0, 0);}return date;} }]);return Hour1to12Parser;}(Parser); // lib/parse/_lib/parsers/Hour0to23Parser.mjs var Hour0to23Parser = /*#__PURE__*/function (_Parser22) {_inherits(Hour0to23Parser, _Parser22);function Hour0to23Parser() {var _this24;_classCallCheck(this, Hour0to23Parser);for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {args[_key24] = arguments[_key24];}_this24 = _callSuper(this, Hour0to23Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this24), "priority", 70);_defineProperty(_assertThisInitialized(_this24), "incompatibleTokens", ["a", "b", "h", "K", "k", "t", "T"]);return _this24;}_createClass(Hour0to23Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "H":return parseNumericPattern(numericPatterns.hour23h, dateString);case "Ho":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 23;} }, { key: "set", value: function set(date, _flags, value) {date.setHours(value, 0, 0, 0);return date;} }]);return Hour0to23Parser;}(Parser); // lib/parse/_lib/parsers/Hour0To11Parser.mjs var Hour0To11Parser = /*#__PURE__*/function (_Parser23) {_inherits(Hour0To11Parser, _Parser23);function Hour0To11Parser() {var _this25;_classCallCheck(this, Hour0To11Parser);for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {args[_key25] = arguments[_key25];}_this25 = _callSuper(this, Hour0To11Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this25), "priority", 70);_defineProperty(_assertThisInitialized(_this25), "incompatibleTokens", ["h", "H", "k", "t", "T"]);return _this25;}_createClass(Hour0To11Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "K":return parseNumericPattern(numericPatterns.hour11h, dateString);case "Ko":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 11;} }, { key: "set", value: function set(date, _flags, value) {var isPM = date.getHours() >= 12;if (isPM && value < 12) {date.setHours(value + 12, 0, 0, 0);} else {date.setHours(value, 0, 0, 0);}return date;} }]);return Hour0To11Parser;}(Parser); // lib/parse/_lib/parsers/Hour1To24Parser.mjs var Hour1To24Parser = /*#__PURE__*/function (_Parser24) {_inherits(Hour1To24Parser, _Parser24);function Hour1To24Parser() {var _this26;_classCallCheck(this, Hour1To24Parser);for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {args[_key26] = arguments[_key26];}_this26 = _callSuper(this, Hour1To24Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this26), "priority", 70);_defineProperty(_assertThisInitialized(_this26), "incompatibleTokens", ["a", "b", "h", "H", "K", "t", "T"]);return _this26;}_createClass(Hour1To24Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "k":return parseNumericPattern(numericPatterns.hour24h, dateString);case "ko":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 24;} }, { key: "set", value: function set(date, _flags, value) {var hours = value <= 24 ? value % 24 : value;date.setHours(hours, 0, 0, 0);return date;} }]);return Hour1To24Parser;}(Parser); // lib/parse/_lib/parsers/MinuteParser.mjs var MinuteParser = /*#__PURE__*/function (_Parser25) {_inherits(MinuteParser, _Parser25);function MinuteParser() {var _this27;_classCallCheck(this, MinuteParser);for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {args[_key27] = arguments[_key27];}_this27 = _callSuper(this, MinuteParser, [].concat(args));_defineProperty(_assertThisInitialized(_this27), "priority", 60);_defineProperty(_assertThisInitialized(_this27), "incompatibleTokens", ["t", "T"]);return _this27;}_createClass(MinuteParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "m":return parseNumericPattern(numericPatterns.minute, dateString);case "mo":return match3.ordinalNumber(dateString, { unit: "minute" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 59;} }, { key: "set", value: function set(date, _flags, value) {date.setMinutes(value, 0, 0);return date;} }]);return MinuteParser;}(Parser); // lib/parse/_lib/parsers/SecondParser.mjs var SecondParser = /*#__PURE__*/function (_Parser26) {_inherits(SecondParser, _Parser26);function SecondParser() {var _this28;_classCallCheck(this, SecondParser);for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) {args[_key28] = arguments[_key28];}_this28 = _callSuper(this, SecondParser, [].concat(args));_defineProperty(_assertThisInitialized(_this28), "priority", 50);_defineProperty(_assertThisInitialized(_this28), "incompatibleTokens", ["t", "T"]);return _this28;}_createClass(SecondParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "s":return parseNumericPattern(numericPatterns.second, dateString);case "so":return match3.ordinalNumber(dateString, { unit: "second" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 59;} }, { key: "set", value: function set(date, _flags, value) {date.setSeconds(value, 0);return date;} }]);return SecondParser;}(Parser); // lib/parse/_lib/parsers/FractionOfSecondParser.mjs var FractionOfSecondParser = /*#__PURE__*/function (_Parser27) {_inherits(FractionOfSecondParser, _Parser27);function FractionOfSecondParser() {var _this29;_classCallCheck(this, FractionOfSecondParser);for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) {args[_key29] = arguments[_key29];}_this29 = _callSuper(this, FractionOfSecondParser, [].concat(args));_defineProperty(_assertThisInitialized(_this29), "priority", 30);_defineProperty(_assertThisInitialized(_this29), "incompatibleTokens", ["t", "T"]);return _this29;}_createClass(FractionOfSecondParser, [{ key: "parse", value: function parse(dateString, token) {var valueCallback = function valueCallback(value) {return Math.trunc(value * Math.pow(10, -token.length + 3));};return mapValue(parseNDigits(token.length, dateString), valueCallback);} }, { key: "set", value: function set(date, _flags, value) {date.setMilliseconds(value);return date;} }]);return FractionOfSecondParser;}(Parser); // lib/parse/_lib/parsers/ISOTimezoneWithZParser.mjs var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser28) {_inherits(ISOTimezoneWithZParser, _Parser28);function ISOTimezoneWithZParser() {var _this30;_classCallCheck(this, ISOTimezoneWithZParser);for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) {args[_key30] = arguments[_key30];}_this30 = _callSuper(this, ISOTimezoneWithZParser, [].concat(args));_defineProperty(_assertThisInitialized(_this30), "priority", 10);_defineProperty(_assertThisInitialized(_this30), "incompatibleTokens", ["t", "T", "x"]);return _this30;}_createClass(ISOTimezoneWithZParser, [{ key: "parse", value: function parse(dateString, token) {switch (token) {case "X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);case "XX":return parseTimezonePattern(timezonePatterns.basic, dateString);case "XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);case "XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);case "XXX":default:return parseTimezonePattern(timezonePatterns.extended, dateString);}} }, { key: "set", value: function set(date, flags, value) {if (flags.timestampIsSet) return date;return constructFrom(date, date.getTime() - getTimezoneOffsetInMilliseconds(date) - value);} }]);return ISOTimezoneWithZParser;}(Parser); // lib/parse/_lib/parsers/ISOTimezoneParser.mjs var ISOTimezoneParser = /*#__PURE__*/function (_Parser29) {_inherits(ISOTimezoneParser, _Parser29);function ISOTimezoneParser() {var _this31;_classCallCheck(this, ISOTimezoneParser);for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) {args[_key31] = arguments[_key31];}_this31 = _callSuper(this, ISOTimezoneParser, [].concat(args));_defineProperty(_assertThisInitialized(_this31), "priority", 10);_defineProperty(_assertThisInitialized(_this31), "incompatibleTokens", ["t", "T", "X"]);return _this31;}_createClass(ISOTimezoneParser, [{ key: "parse", value: function parse(dateString, token) {switch (token) {case "x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);case "xx":return parseTimezonePattern(timezonePatterns.basic, dateString);case "xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);case "xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);case "xxx":default:return parseTimezonePattern(timezonePatterns.extended, dateString);}} }, { key: "set", value: function set(date, flags, value) {if (flags.timestampIsSet) return date;return constructFrom(date, date.getTime() - getTimezoneOffsetInMilliseconds(date) - value);} }]);return ISOTimezoneParser;}(Parser); // lib/parse/_lib/parsers/TimestampSecondsParser.mjs var TimestampSecondsParser = /*#__PURE__*/function (_Parser30) {_inherits(TimestampSecondsParser, _Parser30);function TimestampSecondsParser() {var _this32;_classCallCheck(this, TimestampSecondsParser);for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) {args[_key32] = arguments[_key32];}_this32 = _callSuper(this, TimestampSecondsParser, [].concat(args));_defineProperty(_assertThisInitialized(_this32), "priority", 40);_defineProperty(_assertThisInitialized(_this32), "incompatibleTokens", "*");return _this32;}_createClass(TimestampSecondsParser, [{ key: "parse", value: function parse(dateString) {return parseAnyDigitsSigned(dateString);} }, { key: "set", value: function set(date, _flags, value) {return [constructFrom(date, value * 1000), { timestampIsSet: true }];} }]);return TimestampSecondsParser;}(Parser); // lib/parse/_lib/parsers/TimestampMillisecondsParser.mjs var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser31) {_inherits(TimestampMillisecondsParser, _Parser31);function TimestampMillisecondsParser() {var _this33;_classCallCheck(this, TimestampMillisecondsParser);for (var _len33 = arguments.length, args = new Array(_len33), _key33 = 0; _key33 < _len33; _key33++) {args[_key33] = arguments[_key33];}_this33 = _callSuper(this, TimestampMillisecondsParser, [].concat(args));_defineProperty(_assertThisInitialized(_this33), "priority", 20);_defineProperty(_assertThisInitialized(_this33), "incompatibleTokens", "*");return _this33;}_createClass(TimestampMillisecondsParser, [{ key: "parse", value: function parse(dateString) {return parseAnyDigitsSigned(dateString);} }, { key: "set", value: function set(date, _flags, value) {return [constructFrom(date, value), { timestampIsSet: true }];} }]);return TimestampMillisecondsParser;}(Parser); // lib/parse/_lib/parsers.mjs var parsers = { G: new EraParser(), y: new YearParser(), Y: new LocalWeekYearParser(), R: new ISOWeekYearParser(), u: new ExtendedYearParser(), Q: new QuarterParser(), q: new StandAloneQuarterParser(), M: new MonthParser(), L: new StandAloneMonthParser(), w: new LocalWeekParser(), I: new ISOWeekParser(), d: new DateParser(), D: new DayOfYearParser(), E: new DayParser(), e: new LocalDayParser(), c: new StandAloneLocalDayParser(), i: new ISODayParser(), a: new AMPMParser(), b: new AMPMMidnightParser(), B: new DayPeriodParser(), h: new Hour1to12Parser(), H: new Hour0to23Parser(), K: new Hour0To11Parser(), k: new Hour1To24Parser(), m: new MinuteParser(), s: new SecondParser(), S: new FractionOfSecondParser(), X: new ISOTimezoneWithZParser(), x: new ISOTimezoneParser(), t: new TimestampSecondsParser(), T: new TimestampMillisecondsParser() }; // lib/parse.mjs function parse(dateStr, formatStr, referenceDate, options) {var _ref33, _options$locale15, _ref34, _ref35, _ref36, _options$firstWeekCon4, _options$locale16, _defaultOptions14$loc2, _ref37, _ref38, _ref39, _options$weekStartsOn7, _options$locale17, _defaultOptions14$loc3; var defaultOptions14 = getDefaultOptions2(); var locale = (_ref33 = (_options$locale15 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale15 !== void 0 ? _options$locale15 : defaultOptions14.locale) !== null && _ref33 !== void 0 ? _ref33 : enUS; var firstWeekContainsDate = (_ref34 = (_ref35 = (_ref36 = (_options$firstWeekCon4 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon4 !== void 0 ? _options$firstWeekCon4 : options === null || options === void 0 || (_options$locale16 = options.locale) === null || _options$locale16 === void 0 || (_options$locale16 = _options$locale16.options) === null || _options$locale16 === void 0 ? void 0 : _options$locale16.firstWeekContainsDate) !== null && _ref36 !== void 0 ? _ref36 : defaultOptions14.firstWeekContainsDate) !== null && _ref35 !== void 0 ? _ref35 : (_defaultOptions14$loc2 = defaultOptions14.locale) === null || _defaultOptions14$loc2 === void 0 || (_defaultOptions14$loc2 = _defaultOptions14$loc2.options) === null || _defaultOptions14$loc2 === void 0 ? void 0 : _defaultOptions14$loc2.firstWeekContainsDate) !== null && _ref34 !== void 0 ? _ref34 : 1; var weekStartsOn = (_ref37 = (_ref38 = (_ref39 = (_options$weekStartsOn7 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn7 !== void 0 ? _options$weekStartsOn7 : options === null || options === void 0 || (_options$locale17 = options.locale) === null || _options$locale17 === void 0 || (_options$locale17 = _options$locale17.options) === null || _options$locale17 === void 0 ? void 0 : _options$locale17.weekStartsOn) !== null && _ref39 !== void 0 ? _ref39 : defaultOptions14.weekStartsOn) !== null && _ref38 !== void 0 ? _ref38 : (_defaultOptions14$loc3 = defaultOptions14.locale) === null || _defaultOptions14$loc3 === void 0 || (_defaultOptions14$loc3 = _defaultOptions14$loc3.options) === null || _defaultOptions14$loc3 === void 0 ? void 0 : _defaultOptions14$loc3.weekStartsOn) !== null && _ref37 !== void 0 ? _ref37 : 0; if (formatStr === "") { if (dateStr === "") { return toDate(referenceDate); } else { return constructFrom(referenceDate, NaN); } } var subFnOptions = { firstWeekContainsDate: firstWeekContainsDate, weekStartsOn: weekStartsOn, locale: locale }; var setters = [new DateToSystemTimezoneSetter()]; var tokens = formatStr.match(longFormattingTokensRegExp2).map(function (substring) { var firstCharacter = substring[0]; if (firstCharacter in longFormatters) { var longFormatter = longFormatters[firstCharacter]; return longFormatter(substring, locale.formatLong); } return substring; }).join("").match(formattingTokensRegExp2); var usedTokens = [];var _iterator = _createForOfIteratorHelper( tokens),_step;try {var _loop = function _loop() {var token = _step.value; if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) { warnOrThrowProtectedError(token, formatStr, dateStr); } if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) { warnOrThrowProtectedError(token, formatStr, dateStr); } var firstCharacter = token[0]; var parser = parsers[firstCharacter]; if (parser) { var incompatibleTokens = parser.incompatibleTokens; if (Array.isArray(incompatibleTokens)) { var incompatibleToken = usedTokens.find(function (usedToken) {return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;}); if (incompatibleToken) { throw new RangeError("The format string mustn't contain `".concat(incompatibleToken.fullToken, "` and `").concat(token, "` at the same time")); } } else if (parser.incompatibleTokens === "*" && usedTokens.length > 0) { throw new RangeError("The format string mustn't contain `".concat(token, "` and any other token at the same time")); } usedTokens.push({ token: firstCharacter, fullToken: token }); var parseResult = parser.run(dateStr, token, locale.match, subFnOptions); if (!parseResult) {return { v: constructFrom(referenceDate, NaN) }; } setters.push(parseResult.setter); dateStr = parseResult.rest; } else { if (firstCharacter.match(unescapedLatinCharacterRegExp2)) { throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"); } if (token === "''") { token = "'"; } else if (firstCharacter === "'") { token = cleanEscapedString2(token); } if (dateStr.indexOf(token) === 0) { dateStr = dateStr.slice(token.length); } else {return { v: constructFrom(referenceDate, NaN) }; } } },_ret;for (_iterator.s(); !(_step = _iterator.n()).done;) {_ret = _loop();if (_ret) return _ret.v;}} catch (err) {_iterator.e(err);} finally {_iterator.f();} if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) { return constructFrom(referenceDate, NaN); } var uniquePrioritySetters = setters.map(function (setter) {return setter.priority;}).sort(function (a, b) {return b - a;}).filter(function (priority, index, array) {return array.indexOf(priority) === index;}).map(function (priority) {return setters.filter(function (setter) {return setter.priority === priority;}).sort(function (a, b) {return b.subPriority - a.subPriority;});}).map(function (setterArray) {return setterArray[0];}); var date = toDate(referenceDate); if (isNaN(date.getTime())) { return constructFrom(referenceDate, NaN); } var flags = {};var _iterator2 = _createForOfIteratorHelper( uniquePrioritySetters),_step2;try {for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {var setter = _step2.value; if (!setter.validate(date, subFnOptions)) { return constructFrom(referenceDate, NaN); } var result = setter.set(date, flags, subFnOptions); if (Array.isArray(result)) { date = result[0]; Object.assign(flags, result[1]); } else { date = result; } }} catch (err) {_iterator2.e(err);} finally {_iterator2.f();} return constructFrom(referenceDate, date); } var cleanEscapedString2 = function cleanEscapedString2(input) { return input.match(escapedStringRegExp2)[1].replace(doubleQuoteRegExp2, "'"); }; var formattingTokensRegExp2 = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; var longFormattingTokensRegExp2 = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; var escapedStringRegExp2 = /^'([^]*?)'?$/; var doubleQuoteRegExp2 = /''/g; var notWhitespaceRegExp = /\S/; var unescapedLatinCharacterRegExp2 = /[a-zA-Z]/; // lib/isMatch.mjs function isMatch(dateStr, formatStr, options) { return isValid(parse(dateStr, formatStr, new Date(), options)); } // lib/fp/isMatch.mjs var isMatch3 = convertToFP(isMatch, 2); // lib/fp/isMatchWithOptions.mjs var _isMatchWithOptions = convertToFP(isMatch, 3); // lib/isMonday.mjs function isMonday(date) { return toDate(date).getDay() === 1; } // lib/fp/isMonday.mjs var isMonday3 = convertToFP(isMonday, 1); // lib/fp/isSameDay.mjs var isSameDay4 = convertToFP(isSameDay, 2); // lib/startOfHour.mjs function startOfHour(date) { var _date = toDate(date); _date.setMinutes(0, 0, 0); return _date; } // lib/isSameHour.mjs function isSameHour(dateLeft, dateRight) { var dateLeftStartOfHour = startOfHour(dateLeft); var dateRightStartOfHour = startOfHour(dateRight); return +dateLeftStartOfHour === +dateRightStartOfHour; } // lib/fp/isSameHour.mjs var isSameHour3 = convertToFP(isSameHour, 2); // lib/isSameWeek.mjs function isSameWeek(dateLeft, dateRight, options) { var dateLeftStartOfWeek = startOfWeek(dateLeft, options); var dateRightStartOfWeek = startOfWeek(dateRight, options); return +dateLeftStartOfWeek === +dateRightStartOfWeek; } // lib/isSameISOWeek.mjs function isSameISOWeek(dateLeft, dateRight) { return isSameWeek(dateLeft, dateRight, { weekStartsOn: 1 }); } // lib/fp/isSameISOWeek.mjs var isSameISOWeek3 = convertToFP(isSameISOWeek, 2); // lib/isSameISOWeekYear.mjs function isSameISOWeekYear(dateLeft, dateRight) { var dateLeftStartOfYear = startOfISOWeekYear(dateLeft); var dateRightStartOfYear = startOfISOWeekYear(dateRight); return +dateLeftStartOfYear === +dateRightStartOfYear; } // lib/fp/isSameISOWeekYear.mjs var isSameISOWeekYear3 = convertToFP(isSameISOWeekYear, 2); // lib/isSameMinute.mjs function isSameMinute(dateLeft, dateRight) { var dateLeftStartOfMinute = startOfMinute(dateLeft); var dateRightStartOfMinute = startOfMinute(dateRight); return +dateLeftStartOfMinute === +dateRightStartOfMinute; } // lib/fp/isSameMinute.mjs var isSameMinute3 = convertToFP(isSameMinute, 2); // lib/isSameMonth.mjs function isSameMonth(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); return _dateLeft.getFullYear() === _dateRight.getFullYear() && _dateLeft.getMonth() === _dateRight.getMonth(); } // lib/fp/isSameMonth.mjs var isSameMonth3 = convertToFP(isSameMonth, 2); // lib/isSameQuarter.mjs function isSameQuarter(dateLeft, dateRight) { var dateLeftStartOfQuarter = startOfQuarter(dateLeft); var dateRightStartOfQuarter = startOfQuarter(dateRight); return +dateLeftStartOfQuarter === +dateRightStartOfQuarter; } // lib/fp/isSameQuarter.mjs var isSameQuarter3 = convertToFP(isSameQuarter, 2); // lib/startOfSecond.mjs function startOfSecond(date) { var _date = toDate(date); _date.setMilliseconds(0); return _date; } // lib/isSameSecond.mjs function isSameSecond(dateLeft, dateRight) { var dateLeftStartOfSecond = startOfSecond(dateLeft); var dateRightStartOfSecond = startOfSecond(dateRight); return +dateLeftStartOfSecond === +dateRightStartOfSecond; } // lib/fp/isSameSecond.mjs var isSameSecond3 = convertToFP(isSameSecond, 2); // lib/fp/isSameWeek.mjs var isSameWeek4 = convertToFP(isSameWeek, 2); // lib/fp/isSameWeekWithOptions.mjs var _isSameWeekWithOptions = convertToFP(isSameWeek, 3); // lib/isSameYear.mjs function isSameYear(dateLeft, dateRight) { var _dateLeft = toDate(dateLeft); var _dateRight = toDate(dateRight); return _dateLeft.getFullYear() === _dateRight.getFullYear(); } // lib/fp/isSameYear.mjs var isSameYear3 = convertToFP(isSameYear, 2); // lib/fp/isSaturday.mjs var isSaturday4 = convertToFP(isSaturday, 1); // lib/fp/isSunday.mjs var isSunday4 = convertToFP(isSunday, 1); // lib/isThursday.mjs function isThursday(date) { return toDate(date).getDay() === 4; } // lib/fp/isThursday.mjs var isThursday3 = convertToFP(isThursday, 1); // lib/isTuesday.mjs function isTuesday(date) { return toDate(date).getDay() === 2; } // lib/fp/isTuesday.mjs var isTuesday3 = convertToFP(isTuesday, 1); // lib/fp/isValid.mjs var isValid9 = convertToFP(isValid, 1); // lib/isWednesday.mjs function isWednesday(date) { return toDate(date).getDay() === 3; } // lib/fp/isWednesday.mjs var isWednesday3 = convertToFP(isWednesday, 1); // lib/fp/isWeekend.mjs var isWeekend6 = convertToFP(isWeekend, 1); // lib/isWithinInterval.mjs function isWithinInterval(date, interval5) { var time = +toDate(date); var _sort9 = [ +toDate(interval5.start), +toDate(interval5.end)]. sort(function (a, b) {return a - b;}),_sort10 = _slicedToArray(_sort9, 2),startTime = _sort10[0],endTime = _sort10[1]; return time >= startTime && time <= endTime; } // lib/fp/isWithinInterval.mjs var isWithinInterval3 = convertToFP(isWithinInterval, 2); // lib/lastDayOfDecade.mjs function lastDayOfDecade(date) { var _date = toDate(date); var year = _date.getFullYear(); var decade = 9 + Math.floor(year / 10) * 10; _date.setFullYear(decade + 1, 0, 0); _date.setHours(0, 0, 0, 0); return _date; } // lib/fp/lastDayOfDecade.mjs var lastDayOfDecade3 = convertToFP(lastDayOfDecade, 1); // lib/lastDayOfWeek.mjs function lastDayOfWeek(date, options) {var _ref40, _ref41, _ref42, _options$weekStartsOn8, _options$locale18, _defaultOptions15$loc; var defaultOptions15 = getDefaultOptions(); var weekStartsOn = (_ref40 = (_ref41 = (_ref42 = (_options$weekStartsOn8 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn8 !== void 0 ? _options$weekStartsOn8 : options === null || options === void 0 || (_options$locale18 = options.locale) === null || _options$locale18 === void 0 || (_options$locale18 = _options$locale18.options) === null || _options$locale18 === void 0 ? void 0 : _options$locale18.weekStartsOn) !== null && _ref42 !== void 0 ? _ref42 : defaultOptions15.weekStartsOn) !== null && _ref41 !== void 0 ? _ref41 : (_defaultOptions15$loc = defaultOptions15.locale) === null || _defaultOptions15$loc === void 0 || (_defaultOptions15$loc = _defaultOptions15$loc.options) === null || _defaultOptions15$loc === void 0 ? void 0 : _defaultOptions15$loc.weekStartsOn) !== null && _ref40 !== void 0 ? _ref40 : 0; var _date = toDate(date); var day = _date.getDay(); var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); _date.setHours(0, 0, 0, 0); _date.setDate(_date.getDate() + diff); return _date; } // lib/lastDayOfISOWeek.mjs function lastDayOfISOWeek(date) { return lastDayOfWeek(date, { weekStartsOn: 1 }); } // lib/fp/lastDayOfISOWeek.mjs var lastDayOfISOWeek3 = convertToFP(lastDayOfISOWeek, 1); // lib/lastDayOfISOWeekYear.mjs function lastDayOfISOWeekYear(date) { var year = getISOWeekYear(date); var fourthOfJanuary = constructFrom(date, 0); fourthOfJanuary.setFullYear(year + 1, 0, 4); fourthOfJanuary.setHours(0, 0, 0, 0); var _date = startOfISOWeek(fourthOfJanuary); _date.setDate(_date.getDate() - 1); return _date; } // lib/fp/lastDayOfISOWeekYear.mjs var lastDayOfISOWeekYear3 = convertToFP(lastDayOfISOWeekYear, 1); // lib/fp/lastDayOfMonth.mjs var lastDayOfMonth4 = convertToFP(lastDayOfMonth, 1); // lib/lastDayOfQuarter.mjs function lastDayOfQuarter(date) { var _date = toDate(date); var currentMonth = _date.getMonth(); var month = currentMonth - currentMonth % 3 + 3; _date.setMonth(month, 0); _date.setHours(0, 0, 0, 0); return _date; } // lib/fp/lastDayOfQuarter.mjs var lastDayOfQuarter3 = convertToFP(lastDayOfQuarter, 1); // lib/fp/lastDayOfWeek.mjs var lastDayOfWeek4 = convertToFP(lastDayOfWeek, 1); // lib/fp/lastDayOfWeekWithOptions.mjs var _lastDayOfWeekWithOptions = convertToFP(lastDayOfWeek, 2); // lib/lastDayOfYear.mjs function lastDayOfYear(date) { var _date = toDate(date); var year = _date.getFullYear(); _date.setFullYear(year + 1, 0, 0); _date.setHours(0, 0, 0, 0); return _date; } // lib/fp/lastDayOfYear.mjs var lastDayOfYear3 = convertToFP(lastDayOfYear, 1); // lib/lightFormat.mjs function lightFormat(date, formatStr) { var _date = toDate(date); if (!isValid(_date)) { throw new RangeError("Invalid time value"); } var tokens = formatStr.match(formattingTokensRegExp3); if (!tokens) return ""; var result = tokens.map(function (substring) { if (substring === "''") { return "'"; } var firstCharacter = substring[0]; if (firstCharacter === "'") { return cleanEscapedString3(substring); } var formatter = lightFormatters[firstCharacter]; if (formatter) { return formatter(_date, substring); } if (firstCharacter.match(unescapedLatinCharacterRegExp3)) { throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"); } return substring; }).join(""); return result; } var cleanEscapedString3 = function cleanEscapedString3(input) { var matches = input.match(escapedStringRegExp3); if (!matches) { return input; } return matches[1].replace(doubleQuoteRegExp3, "'"); }; var formattingTokensRegExp3 = /(\w)\1*|''|'(''|[^'])+('|$)|./g; var escapedStringRegExp3 = /^'([^]*?)'?$/; var doubleQuoteRegExp3 = /''/g; var unescapedLatinCharacterRegExp3 = /[a-zA-Z]/; // lib/fp/lightFormat.mjs var lightFormat3 = convertToFP(lightFormat, 2); // lib/fp/max.mjs var max4 = convertToFP(max, 1); // lib/milliseconds.mjs function milliseconds(_ref43) {var years = _ref43.years,months2 = _ref43.months,weeks = _ref43.weeks,days2 = _ref43.days,hours = _ref43.hours,minutes = _ref43.minutes,seconds = _ref43.seconds; var totalDays = 0; if (years) totalDays += years * daysInYear; if (months2) totalDays += months2 * (daysInYear / 12); if (weeks) totalDays += weeks * 7; if (days2) totalDays += days2; var totalSeconds = totalDays * 24 * 60 * 60; if (hours) totalSeconds += hours * 60 * 60; if (minutes) totalSeconds += minutes * 60; if (seconds) totalSeconds += seconds; return Math.trunc(totalSeconds * 1000); } // lib/fp/milliseconds.mjs var milliseconds3 = convertToFP(milliseconds, 1); // lib/millisecondsToHours.mjs function millisecondsToHours(milliseconds4) { var hours = milliseconds4 / millisecondsInHour; return Math.trunc(hours); } // lib/fp/millisecondsToHours.mjs var millisecondsToHours3 = convertToFP(millisecondsToHours, 1); // lib/millisecondsToMinutes.mjs function millisecondsToMinutes(milliseconds4) { var minutes = milliseconds4 / millisecondsInMinute; return Math.trunc(minutes); } // lib/fp/millisecondsToMinutes.mjs var millisecondsToMinutes3 = convertToFP(millisecondsToMinutes, 1); // lib/millisecondsToSeconds.mjs function millisecondsToSeconds(milliseconds4) { var seconds = milliseconds4 / millisecondsInSecond; return Math.trunc(seconds); } // lib/fp/millisecondsToSeconds.mjs var millisecondsToSeconds3 = convertToFP(millisecondsToSeconds, 1); // lib/fp/min.mjs var min4 = convertToFP(min, 1); // lib/minutesToHours.mjs function minutesToHours(minutes) { var hours = minutes / minutesInHour; return Math.trunc(hours); } // lib/fp/minutesToHours.mjs var minutesToHours3 = convertToFP(minutesToHours, 1); // lib/minutesToMilliseconds.mjs function minutesToMilliseconds(minutes) { return Math.trunc(minutes * millisecondsInMinute); } // lib/fp/minutesToMilliseconds.mjs var minutesToMilliseconds3 = convertToFP(minutesToMilliseconds, 1); // lib/minutesToSeconds.mjs function minutesToSeconds(minutes) { return Math.trunc(minutes * secondsInMinute); } // lib/fp/minutesToSeconds.mjs var minutesToSeconds3 = convertToFP(minutesToSeconds, 1); // lib/monthsToQuarters.mjs function monthsToQuarters(months2) { var quarters = months2 / monthsInQuarter; return Math.trunc(quarters); } // lib/fp/monthsToQuarters.mjs var monthsToQuarters3 = convertToFP(monthsToQuarters, 1); // lib/monthsToYears.mjs function monthsToYears(months2) { var years = months2 / monthsInYear; return Math.trunc(years); } // lib/fp/monthsToYears.mjs var monthsToYears3 = convertToFP(monthsToYears, 1); // lib/nextDay.mjs function nextDay(date, day) { var delta = day - getDay(date); if (delta <= 0) delta += 7; return addDays(date, delta); } // lib/fp/nextDay.mjs var nextDay3 = convertToFP(nextDay, 2); // lib/nextFriday.mjs function nextFriday(date) { return nextDay(date, 5); } // lib/fp/nextFriday.mjs var nextFriday3 = convertToFP(nextFriday, 1); // lib/nextMonday.mjs function nextMonday(date) { return nextDay(date, 1); } // lib/fp/nextMonday.mjs var nextMonday3 = convertToFP(nextMonday, 1); // lib/nextSaturday.mjs function nextSaturday(date) { return nextDay(date, 6); } // lib/fp/nextSaturday.mjs var nextSaturday3 = convertToFP(nextSaturday, 1); // lib/nextSunday.mjs function nextSunday(date) { return nextDay(date, 0); } // lib/fp/nextSunday.mjs var nextSunday3 = convertToFP(nextSunday, 1); // lib/nextThursday.mjs function nextThursday(date) { return nextDay(date, 4); } // lib/fp/nextThursday.mjs var nextThursday3 = convertToFP(nextThursday, 1); // lib/nextTuesday.mjs function nextTuesday(date) { return nextDay(date, 2); } // lib/fp/nextTuesday.mjs var nextTuesday3 = convertToFP(nextTuesday, 1); // lib/nextWednesday.mjs function nextWednesday(date) { return nextDay(date, 3); } // lib/fp/nextWednesday.mjs var nextWednesday3 = convertToFP(nextWednesday, 1); // lib/fp/parse.mjs var parse4 = convertToFP(parse, 3); // lib/parseISO.mjs function parseISO(argument, options) {var _options$additionalDi; var additionalDigits = (_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2; var dateStrings = splitDateString(argument); var date; if (dateStrings.date) { var parseYearResult = parseYear(dateStrings.date, additionalDigits); date = parseDate(parseYearResult.restDateString, parseYearResult.year); } if (!date || isNaN(date.getTime())) { return new Date(NaN); } var timestamp = date.getTime(); var time = 0; var offset; if (dateStrings.time) { time = parseTime(dateStrings.time); if (isNaN(time)) { return new Date(NaN); } } if (dateStrings.timezone) { offset = parseTimezone(dateStrings.timezone); if (isNaN(offset)) { return new Date(NaN); } } else { var dirtyDate = new Date(timestamp + time); var result = new Date(0); result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate()); result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds()); return result; } return new Date(timestamp + time + offset); } var splitDateString = function splitDateString(dateString) { var dateStrings = {}; var array = dateString.split(patterns.dateTimeDelimiter); var timeString; if (array.length > 2) { return dateStrings; } if (/:/.test(array[0])) { timeString = array[0]; } else { dateStrings.date = array[0]; timeString = array[1]; if (patterns.timeZoneDelimiter.test(dateStrings.date)) { dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; timeString = dateString.substr(dateStrings.date.length, dateString.length); } } if (timeString) { var token = patterns.timezone.exec(timeString); if (token) { dateStrings.time = timeString.replace(token[1], ""); dateStrings.timezone = token[1]; } else { dateStrings.time = timeString; } } return dateStrings; }; var parseYear = function parseYear(dateString, additionalDigits) { var regex = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)"); var captures = dateString.match(regex); if (!captures) return { year: NaN, restDateString: "" }; var year = captures[1] ? parseInt(captures[1]) : null; var century = captures[2] ? parseInt(captures[2]) : null; return { year: century === null ? year : century * 100, restDateString: dateString.slice((captures[1] || captures[2]).length) }; }; var parseDate = function parseDate(dateString, year) { if (year === null) return new Date(NaN); var captures = dateString.match(dateRegex); if (!captures) return new Date(NaN); var isWeekDate = !!captures[4]; var dayOfYear = parseDateUnit(captures[1]); var month = parseDateUnit(captures[2]) - 1; var day = parseDateUnit(captures[3]); var week = parseDateUnit(captures[4]); var dayOfWeek = parseDateUnit(captures[5]) - 1; if (isWeekDate) { if (!validateWeekDate(year, week, dayOfWeek)) { return new Date(NaN); } return dayOfISOWeekYear(year, week, dayOfWeek); } else { var date = new Date(0); if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) { return new Date(NaN); } date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); return date; } }; var parseDateUnit = function parseDateUnit(value) { return value ? parseInt(value) : 1; }; var parseTime = function parseTime(timeString) { var captures = timeString.match(timeRegex); if (!captures) return NaN; var hours = parseTimeUnit(captures[1]); var minutes = parseTimeUnit(captures[2]); var seconds = parseTimeUnit(captures[3]); if (!validateTime(hours, minutes, seconds)) { return NaN; } return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000; }; var parseTimeUnit = function parseTimeUnit(value) { return value && parseFloat(value.replace(",", ".")) || 0; }; var parseTimezone = function parseTimezone(timezoneString) { if (timezoneString === "Z") return 0; var captures = timezoneString.match(timezoneRegex); if (!captures) return 0; var sign = captures[1] === "+" ? -1 : 1; var hours = parseInt(captures[2]); var minutes = captures[3] && parseInt(captures[3]) || 0; if (!validateTimezone(hours, minutes)) { return NaN; } return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute); }; var dayOfISOWeekYear = function dayOfISOWeekYear(isoWeekYear, week, day) { var date = new Date(0); date.setUTCFullYear(isoWeekYear, 0, 4); var fourthOfJanuaryDay = date.getUTCDay() || 7; var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; date.setUTCDate(date.getUTCDate() + diff); return date; }; var isLeapYearIndex2 = function isLeapYearIndex2(year) { return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; }; var validateDate = function validateDate(year, month, date) { return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex2(year) ? 29 : 28)); }; var validateDayOfYearDate = function validateDayOfYearDate(year, dayOfYear) { return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex2(year) ? 366 : 365); }; var validateWeekDate = function validateWeekDate(_year, week, day) { return week >= 1 && week <= 53 && day >= 0 && day <= 6; }; var validateTime = function validateTime(hours, minutes, seconds) { if (hours === 24) { return minutes === 0 && seconds === 0; } return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25; }; var validateTimezone = function validateTimezone(_hours, minutes) { return minutes >= 0 && minutes <= 59; }; var patterns = { dateTimeDelimiter: /[T ]/, timeZoneDelimiter: /[Z ]/i, timezone: /([Z+-].*)$/ }; var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // lib/fp/parseISO.mjs var parseISO3 = convertToFP(parseISO, 1); // lib/fp/parseISOWithOptions.mjs var _parseISOWithOptions = convertToFP(parseISO, 2); // lib/parseJSON.mjs function parseJSON(dateStr) { var parts = dateStr.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/); if (parts) { return new Date(Date.UTC(+parts[1], +parts[2] - 1, +parts[3], +parts[4] - (+parts[9] || 0) * (parts[8] == "-" ? -1 : 1), +parts[5] - (+parts[10] || 0) * (parts[8] == "-" ? -1 : 1), +parts[6], +((parts[7] || "0") + "00").substring(0, 3))); } return new Date(NaN); } // lib/fp/parseJSON.mjs var parseJSON3 = convertToFP(parseJSON, 1); // lib/fp/parseWithOptions.mjs var _parseWithOptions = convertToFP(parse, 4); // lib/subDays.mjs function subDays(date, amount) { return addDays(date, -amount); } // lib/previousDay.mjs function previousDay(date, day) { var delta = getDay(date) - day; if (delta <= 0) delta += 7; return subDays(date, delta); } // lib/fp/previousDay.mjs var previousDay3 = convertToFP(previousDay, 2); // lib/previousFriday.mjs function previousFriday(date) { return previousDay(date, 5); } // lib/fp/previousFriday.mjs var previousFriday3 = convertToFP(previousFriday, 1); // lib/previousMonday.mjs function previousMonday(date) { return previousDay(date, 1); } // lib/fp/previousMonday.mjs var previousMonday3 = convertToFP(previousMonday, 1); // lib/previousSaturday.mjs function previousSaturday(date) { return previousDay(date, 6); } // lib/fp/previousSaturday.mjs var previousSaturday3 = convertToFP(previousSaturday, 1); // lib/previousSunday.mjs function previousSunday(date) { return previousDay(date, 0); } // lib/fp/previousSunday.mjs var previousSunday3 = convertToFP(previousSunday, 1); // lib/previousThursday.mjs function previousThursday(date) { return previousDay(date, 4); } // lib/fp/previousThursday.mjs var previousThursday3 = convertToFP(previousThursday, 1); // lib/previousTuesday.mjs function previousTuesday(date) { return previousDay(date, 2); } // lib/fp/previousTuesday.mjs var previousTuesday3 = convertToFP(previousTuesday, 1); // lib/previousWednesday.mjs function previousWednesday(date) { return previousDay(date, 3); } // lib/fp/previousWednesday.mjs var previousWednesday3 = convertToFP(previousWednesday, 1); // lib/quartersToMonths.mjs function quartersToMonths(quarters) { return Math.trunc(quarters * monthsInQuarter); } // lib/fp/quartersToMonths.mjs var quartersToMonths3 = convertToFP(quartersToMonths, 1); // lib/quartersToYears.mjs function quartersToYears(quarters) { var years = quarters / quartersInYear; return Math.trunc(years); } // lib/fp/quartersToYears.mjs var quartersToYears3 = convertToFP(quartersToYears, 1); // lib/roundToNearestHours.mjs function roundToNearestHours(date, options) {var _options$nearestTo, _options$roundingMeth2; var nearestTo = (_options$nearestTo = options === null || options === void 0 ? void 0 : options.nearestTo) !== null && _options$nearestTo !== void 0 ? _options$nearestTo : 1; if (nearestTo < 1 || nearestTo > 12) return constructFrom(date, NaN); var _date = toDate(date); var fractionalMinutes = _date.getMinutes() / 60; var fractionalSeconds = _date.getSeconds() / 60 / 60; var fractionalMilliseconds = _date.getMilliseconds() / 1000 / 60 / 60; var hours = _date.getHours() + fractionalMinutes + fractionalSeconds + fractionalMilliseconds; var method = (_options$roundingMeth2 = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth2 !== void 0 ? _options$roundingMeth2 : "round"; var roundingMethod = getRoundingMethod(method); var roundedHours = roundingMethod(hours / nearestTo) * nearestTo; var result = constructFrom(date, _date); result.setHours(roundedHours, 0, 0, 0); return result; } // lib/fp/roundToNearestHours.mjs var roundToNearestHours3 = convertToFP(roundToNearestHours, 1); // lib/fp/roundToNearestHoursWithOptions.mjs var _roundToNearestHoursWithOptions = convertToFP(roundToNearestHours, 2); // lib/roundToNearestMinutes.mjs function roundToNearestMinutes(date, options) {var _options$nearestTo2, _options$roundingMeth3; var nearestTo = (_options$nearestTo2 = options === null || options === void 0 ? void 0 : options.nearestTo) !== null && _options$nearestTo2 !== void 0 ? _options$nearestTo2 : 1; if (nearestTo < 1 || nearestTo > 30) return constructFrom(date, NaN); var _date = toDate(date); var fractionalSeconds = _date.getSeconds() / 60; var fractionalMilliseconds = _date.getMilliseconds() / 1000 / 60; var minutes = _date.getMinutes() + fractionalSeconds + fractionalMilliseconds; var method = (_options$roundingMeth3 = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth3 !== void 0 ? _options$roundingMeth3 : "round"; var roundingMethod = getRoundingMethod(method); var roundedMinutes = roundingMethod(minutes / nearestTo) * nearestTo; var result = constructFrom(date, _date); result.setMinutes(roundedMinutes, 0, 0); return result; } // lib/fp/roundToNearestMinutes.mjs var roundToNearestMinutes3 = convertToFP(roundToNearestMinutes, 1); // lib/fp/roundToNearestMinutesWithOptions.mjs var _roundToNearestMinutesWithOptions = convertToFP(roundToNearestMinutes, 2); // lib/secondsToHours.mjs function secondsToHours(seconds) { var hours = seconds / secondsInHour; return Math.trunc(hours); } // lib/fp/secondsToHours.mjs var secondsToHours3 = convertToFP(secondsToHours, 1); // lib/secondsToMilliseconds.mjs function secondsToMilliseconds(seconds) { return seconds * millisecondsInSecond; } // lib/fp/secondsToMilliseconds.mjs var secondsToMilliseconds3 = convertToFP(secondsToMilliseconds, 1); // lib/secondsToMinutes.mjs function secondsToMinutes(seconds) { var minutes = seconds / secondsInMinute; return Math.trunc(minutes); } // lib/fp/secondsToMinutes.mjs var secondsToMinutes3 = convertToFP(secondsToMinutes, 1); // lib/setMonth.mjs function setMonth(date, month) { var _date = toDate(date); var year = _date.getFullYear(); var day = _date.getDate(); var dateWithDesiredMonth = constructFrom(date, 0); dateWithDesiredMonth.setFullYear(year, month, 15); dateWithDesiredMonth.setHours(0, 0, 0, 0); var daysInMonth = getDaysInMonth(dateWithDesiredMonth); _date.setMonth(month, Math.min(day, daysInMonth)); return _date; } // lib/set.mjs function set(date, values) { var _date = toDate(date); if (isNaN(+_date)) { return constructFrom(date, NaN); } if (values.year != null) { _date.setFullYear(values.year); } if (values.month != null) { _date = setMonth(_date, values.month); } if (values.date != null) { _date.setDate(values.date); } if (values.hours != null) { _date.setHours(values.hours); } if (values.minutes != null) { _date.setMinutes(values.minutes); } if (values.seconds != null) { _date.setSeconds(values.seconds); } if (values.milliseconds != null) { _date.setMilliseconds(values.milliseconds); } return _date; } // lib/fp/set.mjs var set3 = convertToFP(set, 2); // lib/setDate.mjs function setDate(date, dayOfMonth) { var _date = toDate(date); _date.setDate(dayOfMonth); return _date; } // lib/fp/setDate.mjs var setDate3 = convertToFP(setDate, 2); // lib/fp/setDay.mjs var setDay6 = convertToFP(setDay, 2); // lib/setDayOfYear.mjs function setDayOfYear(date, dayOfYear) { var _date = toDate(date); _date.setMonth(0); _date.setDate(dayOfYear); return _date; } // lib/fp/setDayOfYear.mjs var setDayOfYear3 = convertToFP(setDayOfYear, 2); // lib/fp/setDayWithOptions.mjs var _setDayWithOptions = convertToFP(setDay, 3); // lib/setHours.mjs function setHours(date, hours) { var _date = toDate(date); _date.setHours(hours); return _date; } // lib/fp/setHours.mjs var setHours3 = convertToFP(setHours, 2); // lib/fp/setISODay.mjs var setISODay4 = convertToFP(setISODay, 2); // lib/fp/setISOWeek.mjs var setISOWeek4 = convertToFP(setISOWeek, 2); // lib/fp/setISOWeekYear.mjs var setISOWeekYear4 = convertToFP(setISOWeekYear, 2); // lib/setMilliseconds.mjs function setMilliseconds(date, milliseconds4) { var _date = toDate(date); _date.setMilliseconds(milliseconds4); return _date; } // lib/fp/setMilliseconds.mjs var setMilliseconds3 = convertToFP(setMilliseconds, 2); // lib/setMinutes.mjs function setMinutes(date, minutes) { var _date = toDate(date); _date.setMinutes(minutes); return _date; } // lib/fp/setMinutes.mjs var setMinutes3 = convertToFP(setMinutes, 2); // lib/fp/setMonth.mjs var setMonth4 = convertToFP(setMonth, 2); // lib/setQuarter.mjs function setQuarter(date, quarter) { var _date = toDate(date); var oldQuarter = Math.trunc(_date.getMonth() / 3) + 1; var diff = quarter - oldQuarter; return setMonth(_date, _date.getMonth() + diff * 3); } // lib/fp/setQuarter.mjs var setQuarter3 = convertToFP(setQuarter, 2); // lib/setSeconds.mjs function setSeconds(date, seconds) { var _date = toDate(date); _date.setSeconds(seconds); return _date; } // lib/fp/setSeconds.mjs var setSeconds3 = convertToFP(setSeconds, 2); // lib/fp/setWeek.mjs var setWeek4 = convertToFP(setWeek, 2); // lib/fp/setWeekWithOptions.mjs var _setWeekWithOptions = convertToFP(setWeek, 3); // lib/setWeekYear.mjs function setWeekYear(date, weekYear, options) {var _ref44, _ref45, _ref46, _options$firstWeekCon5, _options$locale19, _defaultOptions16$loc; var defaultOptions16 = getDefaultOptions(); var firstWeekContainsDate = (_ref44 = (_ref45 = (_ref46 = (_options$firstWeekCon5 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon5 !== void 0 ? _options$firstWeekCon5 : options === null || options === void 0 || (_options$locale19 = options.locale) === null || _options$locale19 === void 0 || (_options$locale19 = _options$locale19.options) === null || _options$locale19 === void 0 ? void 0 : _options$locale19.firstWeekContainsDate) !== null && _ref46 !== void 0 ? _ref46 : defaultOptions16.firstWeekContainsDate) !== null && _ref45 !== void 0 ? _ref45 : (_defaultOptions16$loc = defaultOptions16.locale) === null || _defaultOptions16$loc === void 0 || (_defaultOptions16$loc = _defaultOptions16$loc.options) === null || _defaultOptions16$loc === void 0 ? void 0 : _defaultOptions16$loc.firstWeekContainsDate) !== null && _ref44 !== void 0 ? _ref44 : 1; var _date = toDate(date); var diff = differenceInCalendarDays(_date, startOfWeekYear(_date, options)); var firstWeek = constructFrom(date, 0); firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate); firstWeek.setHours(0, 0, 0, 0); _date = startOfWeekYear(firstWeek, options); _date.setDate(_date.getDate() + diff); return _date; } // lib/fp/setWeekYear.mjs var setWeekYear3 = convertToFP(setWeekYear, 2); // lib/fp/setWeekYearWithOptions.mjs var _setWeekYearWithOptions = convertToFP(setWeekYear, 3); // lib/setYear.mjs function setYear(date, year) { var _date = toDate(date); if (isNaN(+_date)) { return constructFrom(date, NaN); } _date.setFullYear(year); return _date; } // lib/fp/setYear.mjs var setYear3 = convertToFP(setYear, 2); // lib/fp/startOfDay.mjs var startOfDay5 = convertToFP(startOfDay, 1); // lib/startOfDecade.mjs function startOfDecade(date) { var _date = toDate(date); var year = _date.getFullYear(); var decade = Math.floor(year / 10) * 10; _date.setFullYear(decade, 0, 1); _date.setHours(0, 0, 0, 0); return _date; } // lib/fp/startOfDecade.mjs var startOfDecade3 = convertToFP(startOfDecade, 1); // lib/fp/startOfHour.mjs var startOfHour4 = convertToFP(startOfHour, 1); // lib/fp/startOfISOWeek.mjs var startOfISOWeek11 = convertToFP(startOfISOWeek, 1); // lib/fp/startOfISOWeekYear.mjs var startOfISOWeekYear7 = convertToFP(startOfISOWeekYear, 1); // lib/fp/startOfMinute.mjs var startOfMinute5 = convertToFP(startOfMinute, 1); // lib/fp/startOfMonth.mjs var startOfMonth6 = convertToFP(startOfMonth, 1); // lib/fp/startOfQuarter.mjs var startOfQuarter5 = convertToFP(startOfQuarter, 1); // lib/fp/startOfSecond.mjs var startOfSecond4 = convertToFP(startOfSecond, 1); // lib/fp/startOfWeek.mjs var startOfWeek12 = convertToFP(startOfWeek, 1); // lib/fp/startOfWeekWithOptions.mjs var _startOfWeekWithOptions = convertToFP(startOfWeek, 2); // lib/fp/startOfWeekYear.mjs var startOfWeekYear5 = convertToFP(startOfWeekYear, 1); // lib/fp/startOfWeekYearWithOptions.mjs var _startOfWeekYearWithOptions = convertToFP(startOfWeekYear, 2); // lib/fp/startOfYear.mjs var startOfYear5 = convertToFP(startOfYear, 1); // lib/subMonths.mjs function subMonths(date, amount) { return addMonths(date, -amount); } // lib/sub.mjs function sub(date, duration) { var _duration$years3 = duration.years,years = _duration$years3 === void 0 ? 0 : _duration$years3,_duration$months3 = duration.months,months2 = _duration$months3 === void 0 ? 0 : _duration$months3,_duration$weeks2 = duration.weeks,weeks = _duration$weeks2 === void 0 ? 0 : _duration$weeks2,_duration$days3 = duration.days,days2 = _duration$days3 === void 0 ? 0 : _duration$days3,_duration$hours3 = duration.hours,hours = _duration$hours3 === void 0 ? 0 : _duration$hours3,_duration$minutes3 = duration.minutes,minutes = _duration$minutes3 === void 0 ? 0 : _duration$minutes3,_duration$seconds3 = duration.seconds,seconds = _duration$seconds3 === void 0 ? 0 : _duration$seconds3; var dateWithoutMonths = subMonths(date, months2 + years * 12); var dateWithoutDays = subDays(dateWithoutMonths, days2 + weeks * 7); var minutestoSub = minutes + hours * 60; var secondstoSub = seconds + minutestoSub * 60; var mstoSub = secondstoSub * 1000; var finalDate = constructFrom(date, dateWithoutDays.getTime() - mstoSub); return finalDate; } // lib/fp/sub.mjs var sub3 = convertToFP(sub, 2); // lib/subBusinessDays.mjs function subBusinessDays(date, amount) { return addBusinessDays(date, -amount); } // lib/fp/subBusinessDays.mjs var subBusinessDays3 = convertToFP(subBusinessDays, 2); // lib/fp/subDays.mjs var subDays5 = convertToFP(subDays, 2); // lib/subHours.mjs function subHours(date, amount) { return addHours(date, -amount); } // lib/fp/subHours.mjs var subHours3 = convertToFP(subHours, 2); // lib/fp/subISOWeekYears.mjs var subISOWeekYears4 = convertToFP(subISOWeekYears, 2); // lib/subMilliseconds.mjs function subMilliseconds(date, amount) { return addMilliseconds(date, -amount); } // lib/fp/subMilliseconds.mjs var subMilliseconds3 = convertToFP(subMilliseconds, 2); // lib/subMinutes.mjs function subMinutes(date, amount) { return addMinutes(date, -amount); } // lib/fp/subMinutes.mjs var subMinutes3 = convertToFP(subMinutes, 2); // lib/fp/subMonths.mjs var subMonths4 = convertToFP(subMonths, 2); // lib/subQuarters.mjs function subQuarters(date, amount) { return addQuarters(date, -amount); } // lib/fp/subQuarters.mjs var subQuarters3 = convertToFP(subQuarters, 2); // lib/subSeconds.mjs function subSeconds(date, amount) { return addSeconds(date, -amount); } // lib/fp/subSeconds.mjs var subSeconds3 = convertToFP(subSeconds, 2); // lib/subWeeks.mjs function subWeeks(date, amount) { return addWeeks(date, -amount); } // lib/fp/subWeeks.mjs var subWeeks3 = convertToFP(subWeeks, 2); // lib/subYears.mjs function subYears(date, amount) { return addYears(date, -amount); } // lib/fp/subYears.mjs var subYears3 = convertToFP(subYears, 2); // lib/fp/toDate.mjs var toDate127 = convertToFP(toDate, 1); // lib/fp/transpose.mjs var transpose4 = convertToFP(transpose, 2); // lib/weeksToDays.mjs function weeksToDays(weeks) { return Math.trunc(weeks * daysInWeek); } // lib/fp/weeksToDays.mjs var weeksToDays3 = convertToFP(weeksToDays, 1); // lib/yearsToDays.mjs function yearsToDays(years) { return Math.trunc(years * daysInYear); } // lib/fp/yearsToDays.mjs var yearsToDays3 = convertToFP(yearsToDays, 1); // lib/yearsToMonths.mjs function yearsToMonths(years) { return Math.trunc(years * monthsInYear); } // lib/fp/yearsToMonths.mjs var yearsToMonths3 = convertToFP(yearsToMonths, 1); // lib/yearsToQuarters.mjs function yearsToQuarters(years) { return Math.trunc(years * quartersInYear); } // lib/fp/yearsToQuarters.mjs var yearsToQuarters3 = convertToFP(yearsToQuarters, 1); // lib/fp/cdn.js window.dateFns = _objectSpread(_objectSpread({}, window.dateFns), {}, { fp: exports_fp }); //# debugId=32E3B9540398E9D364756e2164756e21 })(); //# sourceMappingURL=cdn.js.map