This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
{"version":3,"file":"files_versions-sidebar-tab.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCounterBubble-CxxHHh8i.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItem-z4qAtAqe.mjs","../node_modules/@mdi/svg/svg/backup-restore.svg?raw","../node_modules/moment/min/moment-with-locales.js","../node_modules/@nextcloud/moment/dist/index.mjs","../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../node_modules/vue-material-design-icons/PencilOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davClient.ts","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue","../build/frontend/apps/files_versions/src/sidebar_tab.ts"],"sourcesContent":["import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n */\n render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcCounterBubble-ZnteskDR.css';\nimport { defineComponent, computed, createElementBlock, openBlock, normalizeClass, toDisplayString } from \"vue\";\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"title\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcCounterBubble\",\n props: {\n count: {},\n active: { type: Boolean },\n type: { default: \"\" },\n raw: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const humanizedCount = computed(() => {\n if (props.raw) {\n return props.count.toString();\n }\n const formatter = new Intl.NumberFormat(getCanonicalLocale(), {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n return formatter.format(props.count);\n });\n const originalCountAsTitleIfNeeded = computed(() => {\n if (props.raw) {\n return;\n }\n const countAsString = props.count.toString();\n if (countAsString === humanizedCount.value) {\n return;\n }\n return countAsString;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"counter-bubble__counter\", {\n active: _ctx.active,\n \"counter-bubble__counter--highlighted\": _ctx.type === \"highlighted\",\n \"counter-bubble__counter--outlined\": _ctx.type === \"outlined\"\n }]),\n title: originalCountAsTitleIfNeeded.value\n }, toDisplayString(humanizedCount.value), 11, _hoisted_1);\n };\n }\n});\nconst NcCounterBubble = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-36ffc13f\"]]);\nexport {\n NcCounterBubble as N\n};\n//# sourceMappingURL=NcCounterBubble-CxxHHh8i.mjs.map\n","import { defineComponent, computed, toRef, createElementBlock, openBlock, toDisplayString, unref } from \"vue\";\nimport { useFormatTime, useFormatRelativeTime } from \"../composables/useFormatDateTime/index.mjs\";\nconst _hoisted_1 = [\"data-timestamp\", \"title\", \"textContent\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcDateTime\",\n props: {\n timestamp: {},\n format: { default: () => ({ timeStyle: \"medium\", dateStyle: \"short\" }) },\n relativeTime: { type: [Boolean, String], default: \"long\" },\n ignoreSeconds: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const timeOptions = computed(() => ({ format: props.format }));\n const relativeTimeOptions = computed(() => ({\n ignoreSeconds: props.ignoreSeconds,\n relativeTime: props.relativeTime || \"long\",\n update: props.relativeTime !== false\n }));\n const title = useFormatTime(toRef(() => props.timestamp), timeOptions);\n const relativeTime = useFormatRelativeTime(toRef(() => props.timestamp), relativeTimeOptions);\n const formattedTime = computed(() => props.relativeTime ? relativeTime.value : title.value);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"span\", {\n class: \"nc-datetime\",\n dir: \"auto\",\n \"data-timestamp\": _ctx.timestamp,\n title: unref(title),\n textContent: toDisplayString(formattedTime.value)\n }, null, 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs.map\n","import '../assets/NcListItem-BRTO5Id3.css';\nimport { N as NcActions } from \"./NcActions-C-E6BGfZ.mjs\";\nimport { N as NcCounterBubble } from \"./NcCounterBubble-CxxHHh8i.mjs\";\nimport { _ as _sfc_main$1 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nimport { resolveComponent, createBlock, openBlock, resolveDynamicComponent, normalizeProps, guardReactiveProps, withCtx, createElementVNode, mergeProps, normalizeClass, createElementBlock, createCommentVNode, withDirectives, withKeys, renderSlot, createTextVNode, toDisplayString, vShow, createVNode, createSlots } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcListItem\",\n components: {\n NcActions,\n NcCounterBubble,\n NcVNodes: _sfc_main$1\n },\n inheritAttrs: false,\n props: {\n /**\n * The details text displayed in the upper right part of the component\n */\n details: {\n type: String,\n default: \"\"\n },\n /**\n * Name (first line of text)\n */\n name: {\n type: String,\n default: void 0\n },\n /**\n * The route for the router link.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * The value for the external link\n */\n href: {\n type: String,\n default: \"#\"\n },\n /**\n * The HTML target attribute used for the link\n */\n target: {\n type: String,\n default: \"\"\n },\n /**\n * Id for the `<a>` element\n */\n anchorId: {\n type: String,\n default: \"\"\n },\n /**\n * Make subname bold\n */\n bold: {\n type: Boolean,\n default: false\n },\n /**\n * Show the NcListItem in compact design\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Toggle the active state of the component\n */\n active: {\n type: Boolean,\n default: void 0\n },\n /**\n * Aria label for the wrapper element\n */\n linkAriaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions toggle\n */\n actionsAriaLabel: {\n type: String,\n default: void 0\n },\n /**\n * If different from 0 this component will display the\n * NcCounterBubble component\n */\n counterNumber: {\n type: [Number, String],\n default: 0\n },\n /**\n * Outlined or highlighted state of the counter\n */\n counterType: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].indexOf(value) !== -1;\n }\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Show the list component layout\n */\n oneLine: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"click\",\n \"update:menuOpen\"\n ],\n data() {\n return {\n hovered: false,\n hasActions: false,\n hasSubname: false,\n displayActionsOnHoverFocus: false,\n menuOpen: false,\n hasIndicator: false,\n hasDetails: false\n };\n },\n computed: {\n showAdditionalElements() {\n return !this.displayActionsOnHoverFocus || this.forceDisplayActions;\n },\n showDetails() {\n return (this.details !== \"\" || this.hasDetails) && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);\n }\n },\n watch: {\n menuOpen(newValue) {\n if (!newValue && !this.hovered) {\n this.displayActionsOnHoverFocus = false;\n }\n }\n },\n mounted() {\n this.checkSlots();\n },\n updated() {\n this.checkSlots();\n },\n methods: {\n /**\n * Handle link click\n *\n * @param {MouseEvent|KeyboardEvent} event - Native click or keydown event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n showActions() {\n if (this.hasActions) {\n this.displayActionsOnHoverFocus = true;\n }\n this.hovered = false;\n },\n hideActions() {\n this.displayActionsOnHoverFocus = false;\n },\n /**\n * @param {FocusEvent} event UI event\n */\n handleBlur(event) {\n if (this.menuOpen) {\n return;\n }\n if (this.$refs[\"list-item\"]?.contains(event.relatedTarget)) {\n return;\n }\n this.hideActions();\n },\n /**\n * Hide the actions on mouseleave unless the menu is open\n */\n handleMouseleave() {\n if (!this.menuOpen) {\n this.displayActionsOnHoverFocus = false;\n }\n this.hovered = false;\n },\n handleMouseover() {\n this.showActions();\n this.hovered = true;\n },\n handleActionsUpdateOpen(e) {\n this.menuOpen = e;\n this.$emit(\"update:menuOpen\", e);\n },\n // Check if subname and actions slots are populated\n checkSlots() {\n if (this.hasActions !== !!this.$slots.actions) {\n this.hasActions = !!this.$slots.actions;\n }\n if (this.hasSubname !== !!this.$slots.subname) {\n this.hasSubname = !!this.$slots.subname;\n }\n if (this.hasIndicator !== !!this.$slots.indicator) {\n this.hasIndicator = !!this.$slots.indicator;\n }\n if (this.hasDetails !== !!this.$slots.details) {\n this.hasDetails = !!this.$slots.details;\n }\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-label\", \"href\", \"target\", \"rel\", \"onClick\"];\nconst _hoisted_2 = { class: \"list-item-content\" };\nconst _hoisted_3 = { class: \"list-item-content__main\" };\nconst _hoisted_4 = { class: \"list-item-content__name\" };\nconst _hoisted_5 = { class: \"list-item-content__details\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"list-item-details__details\"\n};\nconst _hoisted_7 = {\n key: 1,\n class: \"list-item-details__extra\"\n};\nconst _hoisted_8 = {\n key: 1,\n class: \"list-item-details__indicator\"\n};\nconst _hoisted_9 = {\n key: 0,\n class: \"list-item-content__extra-actions\"\n};\nconst _hoisted_10 = {\n key: 1,\n class: \"list-item__extra\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCounterBubble = resolveComponent(\"NcCounterBubble\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n return openBlock(), createBlock(resolveDynamicComponent($props.to ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$props.to && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"li\", mergeProps({\n class: [\"list-item__wrapper\", { \"list-item__wrapper--active\": $props.active ?? isActive }]\n }, _ctx.$attrs), [\n createElementVNode(\"div\", {\n ref: \"list-item\",\n class: normalizeClass([\"list-item\", {\n \"list-item--compact\": $props.compact,\n \"list-item--one-line\": $props.oneLine\n }]),\n onMouseover: _cache[4] || (_cache[4] = (...args) => $options.handleMouseover && $options.handleMouseover(...args)),\n onMouseleave: _cache[5] || (_cache[5] = (...args) => $options.handleMouseleave && $options.handleMouseleave(...args))\n }, [\n createElementVNode(\"a\", {\n id: $props.anchorId || void 0,\n \"aria-label\": $props.linkAriaLabel,\n class: \"list-item__anchor\",\n href: routerLinkHref || $props.href,\n target: $props.target || ($props.href === \"#\" ? void 0 : \"_blank\"),\n rel: $props.href === \"#\" ? void 0 : \"noopener noreferrer\",\n onFocus: _cache[0] || (_cache[0] = (...args) => $options.showActions && $options.showActions(...args)),\n onFocusout: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onKeydown: _cache[2] || (_cache[2] = withKeys((...args) => $options.hideActions && $options.hideActions(...args), [\"esc\"]))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"name\", {}, () => [\n createTextVNode(toDisplayString($props.name), 1)\n ], true)\n ]),\n $data.hasSubname ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"list-item-content__subname\", { \"list-item-content__subname--bold\": $props.bold }])\n }, [\n renderSlot(_ctx.$slots, \"subname\", {}, void 0, true)\n ], 2)) : createCommentVNode(\"\", true)\n ]),\n createElementVNode(\"div\", _hoisted_5, [\n $options.showDetails ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"details\", {}, () => [\n createTextVNode(toDisplayString($props.details), 1)\n ], true)\n ])) : createCommentVNode(\"\", true),\n $props.counterNumber !== 0 || $data.hasIndicator ? withDirectives((openBlock(), createElementBlock(\"div\", _hoisted_7, [\n $props.counterNumber !== 0 ? (openBlock(), createBlock(_component_NcCounterBubble, {\n key: 0,\n count: $props.counterNumber,\n active: $props.active ?? isActive,\n class: \"list-item-details__counter\",\n type: $props.counterType\n }, null, 8, [\"count\", \"active\", \"type\"])) : createCommentVNode(\"\", true),\n $data.hasIndicator ? (openBlock(), createElementBlock(\"span\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"indicator\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 512)), [\n [vShow, $options.showAdditionalElements]\n ]) : createCommentVNode(\"\", true)\n ])\n ])\n ], 40, _hoisted_1),\n _ctx.$slots[\"extra-actions\"] ? (openBlock(), createElementBlock(\"div\", _hoisted_9, [\n renderSlot(_ctx.$slots, \"extra-actions\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", {\n class: \"list-item-content__actions\",\n onFocusout: _cache[3] || (_cache[3] = (...args) => $options.handleBlur && $options.handleBlur(...args))\n }, [\n createVNode(_component_NcActions, {\n ref: \"actions\",\n primary: $props.active ?? isActive,\n \"force-menu\": $props.forceMenu,\n \"aria-label\": $props.actionsAriaLabel,\n \"onUpdate:open\": $options.handleActionsUpdateOpen\n }, createSlots({\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots[\"actions-icon\"] ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions-icon\", {}, void 0, true)\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"primary\", \"force-menu\", \"aria-label\", \"onUpdate:open\"])\n ], 544), [\n [vShow, $props.forceDisplayActions || $data.displayActionsOnHoverFocus]\n ]),\n _ctx.$slots.extra ? (openBlock(), createElementBlock(\"div\", _hoisted_10, [\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 34)\n ], 16)\n ]),\n _: 3\n }, 16);\n}\nconst NcListItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-56c9c89e\"]]);\nexport {\n NcListItem as N\n};\n//# sourceMappingURL=NcListItem-z4qAtAqe.mjs.map\n","export default \"<svgxmlns=\\\"http://www.w3.org/2000/svg\\\"id=\\\"mdi-backup-restore\\\"viewBox=\\\"002424\\\"><pathd=\\\"M12,3A9,900,03,12H0L4,16L8,12H5A7,700,112,5A7,700,119,12A7,700,112,19C10.5,199.09,18.57.94,17.7L6.5,19.14C8.04,20.39.94,2112,21A9,900,021,12A9,900,012,3M14,12A2,200,012,10A2,200,010,12A2,200,012,14A2,200,014,12Z\\\"/></svg>\"",";(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen;++i){\nres.push(fn(arr[i],i));\n}\nreturnres;\n}\n\nfunctionextend(a,b){\nfor(variinb){\nif(hasOwnProp(b,i)){\na[i]=b[i];\n}\n}\n\nif(hasOwnProp(b,'toString')){\na.toString =b.toString;\n}\n\nif(hasOwnProp(b,'valueOf')){\na.valueOf =b.valueOf;\n}\n\nreturna;\n}\n\nfunctioncreateUTC(input,format,locale,strict){\nreturncreateLocalOrUTC(input,format,locale,strict,true).utc();\n}\n\nfunctiondefaultParsingFlags(){\n//Weneedtodeepclonethisobject.\nreturn{\nempty:false,\nunusedTokens:[],\nunusedInput:[],\noverflow:-2,\ncharsLeftOver:0,\nnullInput:false,\ninvalidEra:null,\ninvalidMonth:null,\ninvalidFormat:false,\nuserInvalidated:false,\niso:false,\nparsedDateParts:[],\nera:null,\nmeridiem:null,\nrfc2822:false,\nweekdayMismatch:false,\n};\n}\n\nfunctiongetParsingFlags(m){\nif(m._pf ==null){\nm._pf =defaultParsingFlags();\n}\nreturnm._pf;\n}\n\nvarsome;\nif(Array.prototype.some){\nsome =Array.prototype.some;\n}else{\nsome =function(fun){\nvart =Object(this),\nlen =t.length>>> 0,\n i;\n\n for (i = 0; i < len;i++){\nif(iint&&fun.call(this,t[i],i,t)){\nreturntrue;\n}\n}\n\nreturnfalse;\n};\n}\n\nfunctionisValid(m){\nvarflags =null,\nparsedParts =false,\nisNowValid =m._d&&!isNaN(m._d.getTime());\nif(isNowValid){\nflags =getParsingFlags(m);\nparsedParts =some.call(flags.parsedDateParts,function(i){\nreturni!=null;\n});\nisNowValid =\nflags.overflow<0&&\n!flags.empty&&\n!flags.invalidEra&&\n!flags.invalidMonth&&\n!flags.invalidWeekday&&\n!flags.weekdayMismatch&&\n!flags.nullInput&&\n!flags.invalidFormat&&\n!flags.userInvalidated&&\n(!flags.meridiem||(flags.meridiem&&parsedParts));\nif(m._strict){\nisNowValid =\nisNowValid&&\nflags.charsLeftOver ===0&&\nflags.unusedTokens.length ===0&&\nflags.bigHour ===undefined;\n}\n}\nif(Object.isFrozen ==null||!Object.isFrozen(m)){\nm._isValid =isNowValid;\n}else{\nreturnisNowValid;\n}\nreturnm._isValid;\n}\n\nfunctioncreateInvalid(flags){\nvarm =createUTC(NaN);\nif(flags!=null){\nextend(getParsingFlags(m),flags);\n}else{\ngetParsingFlags(m).userInvalidated =true;\n}\n\nreturnm;\n}\n\n//Pluginsthataddpropertiesshouldalsoaddthekeyhere(nullvalue),\n//sowecanproperlycloneourselves.\nvarmomentProperties =(hooks.momentProperties=[]),\nupdateInProgress =false;\n\nfunctioncopyConfig(to,from){\nvari,\nprop,\nval,\nmomentPropertiesLen =momentProperties.length;\n\nif(!isUndefined(from._isAMomentObject)){\nto._isAMomentObject =from._isAMomentObject;\n}\nif(!isUndefined(from._i)){\nto._i =from._i;\n}\nif(!isUndefined(from._f)){\nto._f =from._f;\n}\nif(!isUndefined(from._l)){\nto._l =from._l;\n}\nif(!isUndefined(from._strict)){\nto._strict =from._strict;\n}\nif(!isUndefined(from._tzm)){\nto._tzm =from._tzm;\n}\nif(!isUndefined(from._isUTC)){\nto._isUTC =from._isUTC;\n}\nif(!isUndefined(from._offset)){\nto._offset =from._offset;\n}\nif(!isUndefined(from._pf)){\nto._pf =getParsingFlags(from);\n}\nif(!isUndefined(from._locale)){\nto._locale =from._locale;\n}\n\nif(momentPropertiesLen> 0) {\n for (i = 0; i < momentPropertiesLen;i++){\nprop =momentProperties[i];\nval =from[prop];\nif(!isUndefined(val)){\nto[prop]=val;\n}\n}\n}\n\nreturnto;\n}\n\n//Momentprototypeobject\nfunctionMoment(config){\ncopyConfig(this,config);\nthis._d =newDate(config._d!=null?config._d.getTime():NaN);\nif(!this.isValid()){\nthis._d =newDate(NaN);\n}\n//PreventinfiniteloopincaseupdateOffsetcreatesnewmoment\n//objects.\nif(updateInProgress ===false){\nupdateInProgress =true;\nhooks.updateOffset(this);\nupdateInProgress =false;\n}\n}\n\nfunctionisMoment(obj){\nreturn(\nobjinstanceofMoment||(obj!=null&&obj._isAMomentObject!=null)\n);\n}\n\nfunctionwarn(msg){\nif(\nhooks.suppressDeprecationWarnings ===false&&\ntypeofconsole!=='undefined'&&\nconsole.warn\n){\nconsole.warn('Deprecationwarning:'+msg);\n}\n}\n\nfunctiondeprecate(msg,fn){\nvarfirstTime =true;\n\nreturnextend(function(){\nif(hooks.deprecationHandler!=null){\nhooks.deprecationHandler(null,msg);\n}\nif(firstTime){\nvarargs =[],\narg,\ni,\nkey,\nargLen =arguments.length;\nfor(i =0;i<argLen;i++){\narg ='';\nif(typeofarguments[i]==='object'){\narg+='\\n['+i+']';\nfor(keyinarguments[0]){\nif(hasOwnProp(arguments[0],key)){\narg+=key+':'+arguments[0][key]+',';\n}\n}\narg =arg.slice(0,-2);//Removetrailingcommaandspace\n}else{\narg =arguments[i];\n}\nargs.push(arg);\n}\nwarn(\nmsg+\n'\\nArguments:'+\nArray.prototype.slice.call(args).join('')+\n'\\n'+\nnewError().stack\n);\nfirstTime =false;\n}\nreturnfn.apply(this,arguments);\n},fn);\n}\n\nvardeprecations ={};\n\nfunctiondeprecateSimple(name,msg){\nif(hooks.deprecationHandler!=null){\nhooks.deprecationHandler(name,msg);\n}\nif(!deprecations[name]){\nwarn(msg);\ndeprecations[name]=true;\n}\n}\n\nhooks.suppressDeprecationWarnings =false;\nhooks.deprecationHandler =null;\n\nfunctionisFunction(input){\nreturn(\n(typeofFunction!=='undefined'&&inputinstanceofFunction)||\nObject.prototype.toString.call(input)==='[objectFunction]'\n);\n}\n\nfunctionset(config){\nvarprop,i;\nfor(iinconfig){\nif(hasOwnProp(config,i)){\nprop =config[i];\nif(isFunction(prop)){\nthis[i]=prop;\n}else{\nthis['_'+i]=prop;\n}\n}\n}\nthis._config =config;\n//Lenientordinalparsingacceptsjustanumberinadditionto\n//number+(possibly)stuffcomingfrom_dayOfMonthOrdinalParse.\n//TODO:Remove\"ordinalParse\"fallbackinnextmajorrelease.\nthis._dayOfMonthOrdinalParseLenient =newRegExp(\n(this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\n'|'+\n/\\d{1,2}/.source\n);\n}\n\nfunctionmergeConfigs(parentConfig,childConfig){\nvarres =extend({},parentConfig),\nprop;\nfor(propinchildConfig){\nif(hasOwnProp(childConfig,prop)){\nif(isObject(parentConfig[prop])&&isObject(childConfig[prop])){\nres[prop]={};\nextend(res[prop],parentConfig[prop]);\nextend(res[prop],childConfig[prop]);\n}elseif(childConfig[prop]!=null){\nres[prop]=childConfig[prop];\n}else{\ndeleteres[prop];\n}\n}\n}\nfor(propinparentConfig){\nif(\nhasOwnProp(parentConfig,prop)&&\n!hasOwnProp(childConfig,prop)&&\nisObject(parentConfig[prop])\n){\n//makesurechangestopropertiesdon'tmodifyparentconfig\nres[prop]=extend({},res[prop]);\n}\n}\nreturnres;\n}\n\nfunctionLocale(config){\nif(config!=null){\nthis.set(config);\n}\n}\n\nvarkeys;\n\nif(Object.keys){\nkeys =Object.keys;\n}else{\nkeys =function(obj){\nvari,\nres =[];\nfor(iinobj){\nif(hasOwnProp(obj,i)){\nres.push(i);\n}\n}\nreturnres;\n};\n}\n\nvardefaultCalendar ={\nsameDay:'[Todayat]LT',\nnextDay:'[Tomorrowat]LT',\nnextWeek:'dddd[at]LT',\nlastDay:'[Yesterdayat]LT',\nlastWeek:'[Last]dddd[at]LT',\nsameElse:'L',\n};\n\nfunctioncalendar(key,mom,now){\nvaroutput =this._calendar[key]||this._calendar['sameElse'];\nreturnisFunction(output)?output.call(mom,now):output;\n}\n\nfunctionzeroFill(number,targetLength,forceSign){\nvarabsNumber =''+Math.abs(number),\nzerosToFill =targetLength-absNumber.length,\nsign =number>= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length;i++){\nif(formatTokenFunctions[array[i]]){\narray[i]=formatTokenFunctions[array[i]];\n}else{\narray[i]=removeFormattingTokens(array[i]);\n}\n}\n\nreturnfunction(mom){\nvaroutput ='',\ni;\nfor(i =0;i<length;i++){\noutput+=isFunction(array[i])\n?array[i].call(mom,format)\n:array[i];\n}\nreturnoutput;\n};\n}\n\n//formatdateusingnativedateobject\nfunctionformatMoment(m,format){\nif(!m.isValid()){\nreturnm.localeData().invalidDate();\n}\n\nformat =expandFormat(format,m.localeData());\nformatFunctions[format]=\nformatFunctions[format]||makeFormatFunction(format);\n\nreturnformatFunctions[format](m);\n}\n\nfunctionexpandFormat(format,locale){\nvari =5;\n\nfunctionreplaceLongDateFormatTokens(input){\nreturnlocale.longDateFormat(input)||input;\n}\n\nlocalFormattingTokens.lastIndex =0;\nwhile(i>= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0){\n//-0-> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen;i++){\ntokens[token[i]]=func;\n}\n}\n\nfunctionaddWeekParseToken(token,callback){\naddParseToken(token,function(input,array,config,token){\nconfig._w =config._w||{};\ncallback(input,config._w,config,token);\n});\n}\n\nfunctionaddTimeToArrayFromToken(token,input,config){\nif(input!=null&&hasOwnProp(tokens,token)){\ntokens[token](input,config._a,config,token);\n}\n}\n\nfunctionisLeapYear(year){\nreturn(year%4 ===0&&year%100!==0)||year%400 ===0;\n}\n\nvarYEAR =0,\nMONTH =1,\nDATE =2,\nHOUR =3,\nMINUTE =4,\nSECOND =5,\nMILLISECOND =6,\nWEEK =7,\nWEEKDAY =8;\n\n//FORMATTING\n\naddFormatToken('Y',0,0,function(){\nvary =this.year();\nreturny<=9999?zeroFill(y,4):'+'+y;\n});\n\naddFormatToken(0,['YY',2],0,function(){\nreturnthis.year()%100;\n});\n\naddFormatToken(0,['YYYY',4],0,'year');\naddFormatToken(0,['YYYYY',5],0,'year');\naddFormatToken(0,['YYYYYY',6,true],0,'year');\n\n//PARSING\n\naddRegexToken('Y',matchSigned);\naddRegexToken('YY',match1to2,match2);\naddRegexToken('YYYY',match1to4,match4);\naddRegexToken('YYYYY',match1to6,match6);\naddRegexToken('YYYYYY',match1to6,match6);\n\naddParseToken(['YYYYY','YYYYYY'],YEAR);\naddParseToken('YYYY',function(input,array){\narray[YEAR]=\ninput.length ===2?hooks.parseTwoDigitYear(input):toInt(input);\n});\naddParseToken('YY',function(input,array){\narray[YEAR]=hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y',function(input,array){\narray[YEAR]=parseInt(input,10);\n});\n\n//HELPERS\n\nfunctiondaysInYear(year){\nreturnisLeapYear(year)?366:365;\n}\n\n//HOOKS\n\nhooks.parseTwoDigitYear =function(input){\nreturntoInt(input)+(toInt(input)> 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen;i++){\nthis[prioritized[i].unit](units[prioritized[i].unit]);\n}\n}else{\nunits =normalizeUnits(units);\nif(isFunction(this[units])){\nreturnthis[units](value);\n}\n}\nreturnthis;\n}\n\nfunctionmod(n,x){\nreturn((n%x)+x)%x;\n}\n\nvarindexOf;\n\nif(Array.prototype.indexOf){\nindexOf =Array.prototype.indexOf;\n}else{\nindexOf =function(o){\n//Iknow\nvari;\nfor(i =0;i<this.length;++i){\nif(this[i]===o){\nreturni;\n}\n}\nreturn-1;\n};\n}\n\nfunctiondaysInMonth(year,month){\nif(isNaN(year)||isNaN(month)){\nreturnNaN;\n}\nvarmodMonth =mod(month,12);\nyear+=(month-modMonth)/12;\nreturnmodMonth ===1\n?isLeapYear(year)\n?29\n:28\n:31-((modMonth%7)%2);\n}\n\n//FORMATTING\n\naddFormatToken('M',['MM',2],'Mo',function(){\nreturnthis.month()+1;\n});\n\naddFormatToken('MMM',0,0,function(format){\nreturnthis.localeData().monthsShort(this,format);\n});\n\naddFormatToken('MMMM',0,0,function(format){\nreturnthis.localeData().months(this,format);\n});\n\n//PARSING\n\naddRegexToken('M',match1to2,match1to2NoLeadingZero);\naddRegexToken('MM',match1to2,match2);\naddRegexToken('MMM',function(isStrict,locale){\nreturnlocale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM',function(isStrict,locale){\nreturnlocale.monthsRegex(isStrict);\n});\n\naddParseToken(['M','MM'],function(input,array){\narray[MONTH]=toInt(input)-1;\n});\n\naddParseToken(['MMM','MMMM'],function(input,array,config,token){\nvarmonth =config._locale.monthsParse(input,token,config._strict);\n//ifwedidn'tfindamonthname,markthedateasinvalid.\nif(month!=null){\narray[MONTH]=month;\n}else{\ngetParsingFlags(config).invalidMonth =input;\n}\n});\n\n//LOCALES\n\nvardefaultLocaleMonths =\n'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n'_'\n),\ndefaultLocaleMonthsShort =\n'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\nMONTHS_IN_FORMAT =/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\ndefaultMonthsShortRegex =matchWord,\ndefaultMonthsRegex =matchWord;\n\nfunctionlocaleMonths(m,format){\nif(!m){\nreturnisArray(this._months)\n?this._months\n:this._months['standalone'];\n}\nreturnisArray(this._months)\n?this._months[m.month()]\n:this._months[\n(this._months.isFormat||MONTHS_IN_FORMAT).test(format)\n?'format'\n:'standalone'\n][m.month()];\n}\n\nfunctionlocaleMonthsShort(m,format){\nif(!m){\nreturnisArray(this._monthsShort)\n?this._monthsShort\n:this._monthsShort['standalone'];\n}\nreturnisArray(this._monthsShort)\n?this._monthsShort[m.month()]\n:this._monthsShort[\nMONTHS_IN_FORMAT.test(format)?'format':'standalone'\n][m.month()];\n}\n\nfunctionhandleStrictParse(monthName,format,strict){\nvari,\nii,\nmom,\nllc =monthName.toLocaleLowerCase();\nif(!this._monthsParse){\n//thisisnotused\nthis._monthsParse =[];\nthis._longMonthsParse =[];\nthis._shortMonthsParse =[];\nfor(i =0;i<12;++i){\nmom =createUTC([2000,i]);\nthis._shortMonthsParse[i]=this.monthsShort(\nmom,\n''\n).toLocaleLowerCase();\nthis._longMonthsParse[i]=this.months(mom,'').toLocaleLowerCase();\n}\n}\n\nif(strict){\nif(format ==='MMM'){\nii =indexOf.call(this._shortMonthsParse,llc);\nreturnii!==-1?ii:null;\n}else{\nii =indexOf.call(this._longMonthsParse,llc);\nreturnii!==-1?ii:null;\n}\n}else{\nif(format ==='MMM'){\nii =indexOf.call(this._shortMonthsParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._longMonthsParse,llc);\nreturnii!==-1?ii:null;\n}else{\nii =indexOf.call(this._longMonthsParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._shortMonthsParse,llc);\nreturnii!==-1?ii:null;\n}\n}\n}\n\nfunctionlocaleMonthsParse(monthName,format,strict){\nvari,mom,regex;\n\nif(this._monthsParseExact){\nreturnhandleStrictParse.call(this,monthName,format,strict);\n}\n\nif(!this._monthsParse){\nthis._monthsParse =[];\nthis._longMonthsParse =[];\nthis._shortMonthsParse =[];\n}\n\n//TODO:addsorting\n//Sortingmakessureifonemonth(orabbr)isaprefixofanother\n//seesortingincomputeMonthsParse\nfor(i =0;i<12;i++){\n//maketheregexifwedon'thaveitalready\nmom =createUTC([2000,i]);\nif(strict&&!this._longMonthsParse[i]){\nthis._longMonthsParse[i]=newRegExp(\n'^'+this.months(mom,'').replace('.','')+'$',\n'i'\n);\nthis._shortMonthsParse[i]=newRegExp(\n'^'+this.monthsShort(mom,'').replace('.','')+'$',\n'i'\n);\n}\nif(!strict&&!this._monthsParse[i]){\nregex =\n'^'+this.months(mom,'')+'|^'+this.monthsShort(mom,'');\nthis._monthsParse[i]=newRegExp(regex.replace('.',''),'i');\n}\n//testtheregex\nif(\nstrict&&\nformat ==='MMMM'&&\nthis._longMonthsParse[i].test(monthName)\n){\nreturni;\n}elseif(\nstrict&&\nformat ==='MMM'&&\nthis._shortMonthsParse[i].test(monthName)\n){\nreturni;\n}elseif(!strict&&this._monthsParse[i].test(monthName)){\nreturni;\n}\n}\n}\n\n//MOMENTS\n\nfunctionsetMonth(mom,value){\nif(!mom.isValid()){\n//Noop\nreturnmom;\n}\n\nif(typeofvalue ==='string'){\nif(/^\\d+$/.test(value)){\nvalue =toInt(value);\n}else{\nvalue =mom.localeData().monthsParse(value);\n//TODO:Anothersilentfailure?\nif(!isNumber(value)){\nreturnmom;\n}\n}\n}\n\nvarmonth =value,\ndate =mom.date();\n\ndate =date<29?date:Math.min(date,daysInMonth(mom.year(),month));\nvoid(mom._isUTC\n?mom._d.setUTCMonth(month,date)\n:mom._d.setMonth(month,date));\nreturnmom;\n}\n\nfunctiongetSetMonth(value){\nif(value!=null){\nsetMonth(this,value);\nhooks.updateOffset(this,true);\nreturnthis;\n}else{\nreturnget(this,'Month');\n}\n}\n\nfunctiongetDaysInMonth(){\nreturndaysInMonth(this.year(),this.month());\n}\n\nfunctionmonthsShortRegex(isStrict){\nif(this._monthsParseExact){\nif(!hasOwnProp(this,'_monthsRegex')){\ncomputeMonthsParse.call(this);\n}\nif(isStrict){\nreturnthis._monthsShortStrictRegex;\n}else{\nreturnthis._monthsShortRegex;\n}\n}else{\nif(!hasOwnProp(this,'_monthsShortRegex')){\nthis._monthsShortRegex =defaultMonthsShortRegex;\n}\nreturnthis._monthsShortStrictRegex&&isStrict\n?this._monthsShortStrictRegex\n:this._monthsShortRegex;\n}\n}\n\nfunctionmonthsRegex(isStrict){\nif(this._monthsParseExact){\nif(!hasOwnProp(this,'_monthsRegex')){\ncomputeMonthsParse.call(this);\n}\nif(isStrict){\nreturnthis._monthsStrictRegex;\n}else{\nreturnthis._monthsRegex;\n}\n}else{\nif(!hasOwnProp(this,'_monthsRegex')){\nthis._monthsRegex =defaultMonthsRegex;\n}\nreturnthis._monthsStrictRegex&&isStrict\n?this._monthsStrictRegex\n:this._monthsRegex;\n}\n}\n\nfunctioncomputeMonthsParse(){\nfunctioncmpLenRev(a,b){\nreturnb.length-a.length;\n}\n\nvarshortPieces =[],\nlongPieces =[],\nmixedPieces =[],\ni,\nmom,\nshortP,\nlongP;\nfor(i =0;i<12;i++){\n//maketheregexifwedon'thaveitalready\nmom =createUTC([2000,i]);\nshortP =regexEscape(this.monthsShort(mom,''));\nlongP =regexEscape(this.months(mom,''));\nshortPieces.push(shortP);\nlongPieces.push(longP);\nmixedPieces.push(longP);\nmixedPieces.push(shortP);\n}\n//Sortingmakessureifonemonth(orabbr)isaprefixofanotherit\n//willmatchthelongerpiece.\nshortPieces.sort(cmpLenRev);\nlongPieces.sort(cmpLenRev);\nmixedPieces.sort(cmpLenRev);\n\nthis._monthsRegex =newRegExp('^('+mixedPieces.join('|')+')','i');\nthis._monthsShortRegex =this._monthsRegex;\nthis._monthsStrictRegex =newRegExp(\n'^('+longPieces.join('|')+')',\n'i'\n);\nthis._monthsShortStrictRegex =newRegExp(\n'^('+shortPieces.join('|')+')',\n'i'\n);\n}\n\nfunctioncreateDate(y,m,d,h,M,s,ms){\n//can'tjustapply()tocreateadate:\n//https://stackoverflow.com/q/181348\nvardate;\n//thedateconstructorremapsyears0-99to1900-1999\nif(y<100&&y>= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100&&y>= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1){\nresYear =mom.year()-1;\nresWeek =week+weeksInYear(resYear,dow,doy);\n}elseif(week> weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7;++i){\nmom =createUTC([2000,1]).day(i);\nthis._minWeekdaysParse[i]=this.weekdaysMin(\nmom,\n''\n).toLocaleLowerCase();\nthis._shortWeekdaysParse[i]=this.weekdaysShort(\nmom,\n''\n).toLocaleLowerCase();\nthis._weekdaysParse[i]=this.weekdays(mom,'').toLocaleLowerCase();\n}\n}\n\nif(strict){\nif(format ==='dddd'){\nii =indexOf.call(this._weekdaysParse,llc);\nreturnii!==-1?ii:null;\n}elseif(format ==='ddd'){\nii =indexOf.call(this._shortWeekdaysParse,llc);\nreturnii!==-1?ii:null;\n}else{\nii =indexOf.call(this._minWeekdaysParse,llc);\nreturnii!==-1?ii:null;\n}\n}else{\nif(format ==='dddd'){\nii =indexOf.call(this._weekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._shortWeekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._minWeekdaysParse,llc);\nreturnii!==-1?ii:null;\n}elseif(format ==='ddd'){\nii =indexOf.call(this._shortWeekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._weekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._minWeekdaysParse,llc);\nreturnii!==-1?ii:null;\n}else{\nii =indexOf.call(this._minWeekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._weekdaysParse,llc);\nif(ii!==-1){\nreturnii;\n}\nii =indexOf.call(this._shortWeekdaysParse,llc);\nreturnii!==-1?ii:null;\n}\n}\n}\n\nfunctionlocaleWeekdaysParse(weekdayName,format,strict){\nvari,mom,regex;\n\nif(this._weekdaysParseExact){\nreturnhandleStrictParse$1.call(this,weekdayName,format,strict);\n}\n\nif(!this._weekdaysParse){\nthis._weekdaysParse =[];\nthis._minWeekdaysParse =[];\nthis._shortWeekdaysParse =[];\nthis._fullWeekdaysParse =[];\n}\n\nfor(i =0;i<7;i++){\n//maketheregexifwedon'thaveitalready\n\nmom =createUTC([2000,1]).day(i);\nif(strict&&!this._fullWeekdaysParse[i]){\nthis._fullWeekdaysParse[i]=newRegExp(\n'^'+this.weekdays(mom,'').replace('.','\\\\.?')+'$',\n'i'\n);\nthis._shortWeekdaysParse[i]=newRegExp(\n'^'+this.weekdaysShort(mom,'').replace('.','\\\\.?')+'$',\n'i'\n);\nthis._minWeekdaysParse[i]=newRegExp(\n'^'+this.weekdaysMin(mom,'').replace('.','\\\\.?')+'$',\n'i'\n);\n}\nif(!this._weekdaysParse[i]){\nregex =\n'^'+\nthis.weekdays(mom,'')+\n'|^'+\nthis.weekdaysShort(mom,'')+\n'|^'+\nthis.weekdaysMin(mom,'');\nthis._weekdaysParse[i]=newRegExp(regex.replace('.',''),'i');\n}\n//testtheregex\nif(\nstrict&&\nformat ==='dddd'&&\nthis._fullWeekdaysParse[i].test(weekdayName)\n){\nreturni;\n}elseif(\nstrict&&\nformat ==='ddd'&&\nthis._shortWeekdaysParse[i].test(weekdayName)\n){\nreturni;\n}elseif(\nstrict&&\nformat ==='dd'&&\nthis._minWeekdaysParse[i].test(weekdayName)\n){\nreturni;\n}elseif(!strict&&this._weekdaysParse[i].test(weekdayName)){\nreturni;\n}\n}\n}\n\n//MOMENTS\n\nfunctiongetSetDayOfWeek(input){\nif(!this.isValid()){\nreturninput!=null?this:NaN;\n}\n\nvarday =get(this,'Day');\nif(input!=null){\ninput =parseWeekday(input,this.localeData());\nreturnthis.add(input-day,'d');\n}else{\nreturnday;\n}\n}\n\nfunctiongetSetLocaleDayOfWeek(input){\nif(!this.isValid()){\nreturninput!=null?this:NaN;\n}\nvarweekday =(this.day()+7-this.localeData()._week.dow)%7;\nreturninput ==null?weekday:this.add(input-weekday,'d');\n}\n\nfunctiongetSetISODayOfWeek(input){\nif(!this.isValid()){\nreturninput!=null?this:NaN;\n}\n\n//behavesthesameasmoment#dayexcept\n//asagetter,returns7insteadof0(1-7rangeinsteadof0-6)\n//asasetter,sundayshouldbelongtothepreviousweek.\n\nif(input!=null){\nvarweekday =parseIsoWeekday(input,this.localeData());\nreturnthis.day(this.day()%7?weekday:weekday-7);\n}else{\nreturnthis.day()||7;\n}\n}\n\nfunctionweekdaysRegex(isStrict){\nif(this._weekdaysParseExact){\nif(!hasOwnProp(this,'_weekdaysRegex')){\ncomputeWeekdaysParse.call(this);\n}\nif(isStrict){\nreturnthis._weekdaysStrictRegex;\n}else{\nreturnthis._weekdaysRegex;\n}\n}else{\nif(!hasOwnProp(this,'_weekdaysRegex')){\nthis._weekdaysRegex =defaultWeekdaysRegex;\n}\nreturnthis._weekdaysStrictRegex&&isStrict\n?this._weekdaysStrictRegex\n:this._weekdaysRegex;\n}\n}\n\nfunctionweekdaysShortRegex(isStrict){\nif(this._weekdaysParseExact){\nif(!hasOwnProp(this,'_weekdaysRegex')){\ncomputeWeekdaysParse.call(this);\n}\nif(isStrict){\nreturnthis._weekdaysShortStrictRegex;\n}else{\nreturnthis._weekdaysShortRegex;\n}\n}else{\nif(!hasOwnProp(this,'_weekdaysShortRegex')){\nthis._weekdaysShortRegex =defaultWeekdaysShortRegex;\n}\nreturnthis._weekdaysShortStrictRegex&&isStrict\n?this._weekdaysShortStrictRegex\n:this._weekdaysShortRegex;\n}\n}\n\nfunctionweekdaysMinRegex(isStrict){\nif(this._weekdaysParseExact){\nif(!hasOwnProp(this,'_weekdaysRegex')){\ncomputeWeekdaysParse.call(this);\n}\nif(isStrict){\nreturnthis._weekdaysMinStrictRegex;\n}else{\nreturnthis._weekdaysMinRegex;\n}\n}else{\nif(!hasOwnProp(this,'_weekdaysMinRegex')){\nthis._weekdaysMinRegex =defaultWeekdaysMinRegex;\n}\nreturnthis._weekdaysMinStrictRegex&&isStrict\n?this._weekdaysMinStrictRegex\n:this._weekdaysMinRegex;\n}\n}\n\nfunctioncomputeWeekdaysParse(){\nfunctioncmpLenRev(a,b){\nreturnb.length-a.length;\n}\n\nvarminPieces =[],\nshortPieces =[],\nlongPieces =[],\nmixedPieces =[],\ni,\nmom,\nminp,\nshortp,\nlongp;\nfor(i =0;i<7;i++){\n//maketheregexifwedon'thaveitalready\nmom =createUTC([2000,1]).day(i);\nminp =regexEscape(this.weekdaysMin(mom,''));\nshortp =regexEscape(this.weekdaysShort(mom,''));\nlongp =regexEscape(this.weekdays(mom,''));\nminPieces.push(minp);\nshortPieces.push(shortp);\nlongPieces.push(longp);\nmixedPieces.push(minp);\nmixedPieces.push(shortp);\nmixedPieces.push(longp);\n}\n//Sortingmakessureifoneweekday(orabbr)isaprefixofanotherit\n//willmatchthelongerpiece.\nminPieces.sort(cmpLenRev);\nshortPieces.sort(cmpLenRev);\nlongPieces.sort(cmpLenRev);\nmixedPieces.sort(cmpLenRev);\n\nthis._weekdaysRegex =newRegExp('^('+mixedPieces.join('|')+')','i');\nthis._weekdaysShortRegex =this._weekdaysRegex;\nthis._weekdaysMinRegex =this._weekdaysRegex;\n\nthis._weekdaysStrictRegex =newRegExp(\n'^('+longPieces.join('|')+')',\n'i'\n);\nthis._weekdaysShortStrictRegex =newRegExp(\n'^('+shortPieces.join('|')+')',\n'i'\n);\nthis._weekdaysMinStrictRegex =newRegExp(\n'^('+minPieces.join('|')+')',\n'i'\n);\n}\n\n//FORMATTING\n\nfunctionhFormat(){\nreturnthis.hours()%12||12;\n}\n\nfunctionkFormat(){\nreturnthis.hours()||24;\n}\n\naddFormatToken('H',['HH',2],0,'hour');\naddFormatToken('h',['hh',2],0,hFormat);\naddFormatToken('k',['kk',2],0,kFormat);\n\naddFormatToken('hmm',0,0,function(){\nreturn''+hFormat.apply(this)+zeroFill(this.minutes(),2);\n});\n\naddFormatToken('hmmss',0,0,function(){\nreturn(\n''+\nhFormat.apply(this)+\nzeroFill(this.minutes(),2)+\nzeroFill(this.seconds(),2)\n);\n});\n\naddFormatToken('Hmm',0,0,function(){\nreturn''+this.hours()+zeroFill(this.minutes(),2);\n});\n\naddFormatToken('Hmmss',0,0,function(){\nreturn(\n''+\nthis.hours()+\nzeroFill(this.minutes(),2)+\nzeroFill(this.seconds(),2)\n);\n});\n\nfunctionmeridiem(token,lowercase){\naddFormatToken(token,0,0,function(){\nreturnthis.localeData().meridiem(\nthis.hours(),\nthis.minutes(),\nlowercase\n);\n});\n}\n\nmeridiem('a',true);\nmeridiem('A',false);\n\n//PARSING\n\nfunctionmatchMeridiem(isStrict,locale){\nreturnlocale._meridiemParse;\n}\n\naddRegexToken('a',matchMeridiem);\naddRegexToken('A',matchMeridiem);\naddRegexToken('H',match1to2,match1to2HasZero);\naddRegexToken('h',match1to2,match1to2NoLeadingZero);\naddRegexToken('k',match1to2,match1to2NoLeadingZero);\naddRegexToken('HH',match1to2,match2);\naddRegexToken('hh',match1to2,match2);\naddRegexToken('kk',match1to2,match2);\n\naddRegexToken('hmm',match3to4);\naddRegexToken('hmmss',match5to6);\naddRegexToken('Hmm',match3to4);\naddRegexToken('Hmmss',match5to6);\n\naddParseToken(['H','HH'],HOUR);\naddParseToken(['k','kk'],function(input,array,config){\nvarkInput =toInt(input);\narray[HOUR]=kInput ===24?0:kInput;\n});\naddParseToken(['a','A'],function(input,array,config){\nconfig._isPm =config._locale.isPM(input);\nconfig._meridiem =input;\n});\naddParseToken(['h','hh'],function(input,array,config){\narray[HOUR]=toInt(input);\ngetParsingFlags(config).bigHour =true;\n});\naddParseToken('hmm',function(input,array,config){\nvarpos =input.length-2;\narray[HOUR]=toInt(input.substr(0,pos));\narray[MINUTE]=toInt(input.substr(pos));\ngetParsingFlags(config).bigHour =true;\n});\naddParseToken('hmmss',function(input,array,config){\nvarpos1 =input.length-4,\npos2 =input.length-2;\narray[HOUR]=toInt(input.substr(0,pos1));\narray[MINUTE]=toInt(input.substr(pos1,2));\narray[SECOND]=toInt(input.substr(pos2));\ngetParsingFlags(config).bigHour =true;\n});\naddParseToken('Hmm',function(input,array,config){\nvarpos =input.length-2;\narray[HOUR]=toInt(input.substr(0,pos));\narray[MINUTE]=toInt(input.substr(pos));\n});\naddParseToken('Hmmss',function(input,array,config){\nvarpos1 =input.length-4,\npos2 =input.length-2;\narray[HOUR]=toInt(input.substr(0,pos1));\narray[MINUTE]=toInt(input.substr(pos1,2));\narray[SECOND]=toInt(input.substr(pos2));\n});\n\n//LOCALES\n\nfunctionlocaleIsPM(input){\n//IE8QuirksMode&IE7StandardsModedonotallowaccessingstringslikearrays\n//UsingcharAtshouldbemorecompatible.\nreturn(input+'').toLowerCase().charAt(0)==='p';\n}\n\nvardefaultLocaleMeridiemParse =/[ap]\\.?m?\\.?/i,\n//Settingthehourshouldkeepthetime,becausetheuserexplicitly\n//specifiedwhichhourtheywant.Sotryingtomaintainthesamehour(in\n//anewtimezone)makessense.Adding/subtractinghoursdoesnotfollow\n//thisrule.\ngetSetHour =makeGetSet('Hours',true);\n\nfunctionlocaleMeridiem(hours,minutes,isLower){\nif(hours> 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl;i+=1){\nif(arr1[i]!==arr2[i]){\nreturni;\n}\n}\nreturnminl;\n}\n\nfunctionnormalizeLocale(key){\nreturnkey?key.toLowerCase().replace('_','-'):key;\n}\n\n//pickthelocalefromthearray\n//try['en-au','en-gb']as'en-au','en-gb','en',asinmovethroughthelisttryingeach\n//substringfrommostspecifictoleast,butmovetothenextarrayitemifit'samorespecificvariantthanthecurrentroot\nfunctionchooseLocale(names){\nvari =0,\nj,\nnext,\nlocale,\nsplit;\n\nwhile(i<names.length){\nsplit =normalizeLocale(names[i]).split('-');\nj =split.length;\nnext =normalizeLocale(names[i+1]);\nnext =next?next.split('-'):null;\nwhile(j> 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0||a[MONTH]> 11\n ? MONTH\n : a[DATE] < 1||a[DATE]> daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0||\na[HOUR]> 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0||a[MINUTE]> 59\n ? MINUTE\n : a[SECOND] < 0||a[SECOND]> 59\n ? SECOND\n : a[MILLISECOND] < 0||a[MILLISECOND]> 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR||overflow> DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l;i++){\nif(isoDates[i][1].exec(match[1])){\ndateFormat =isoDates[i][0];\nallowTime =isoDates[i][2]!==false;\nbreak;\n}\n}\nif(dateFormat ==null){\nconfig._isValid =false;\nreturn;\n}\nif(match[3]){\nfor(i =0,l =isoTimesLen;i<l;i++){\nif(isoTimes[i][1].exec(match[3])){\n//match[2]shouldbe'T'orspace\ntimeFormat =(match[2]||'')+isoTimes[i][0];\nbreak;\n}\n}\nif(timeFormat ==null){\nconfig._isValid =false;\nreturn;\n}\n}\nif(!allowTime&&timeFormat!=null){\nconfig._isValid =false;\nreturn;\n}\nif(match[4]){\nif(tzRegex.exec(match[4])){\ntzFormat ='Z';\n}else{\nconfig._isValid =false;\nreturn;\n}\n}\nconfig._f =dateFormat+(timeFormat||'')+(tzFormat||'');\nconfigFromStringAndFormat(config);\n}else{\nconfig._isValid =false;\n}\n}\n\nfunctionextractFromRFC2822Strings(\nyearStr,\nmonthStr,\ndayStr,\nhourStr,\nminuteStr,\nsecondStr\n){\nvarresult =[\nuntruncateYear(yearStr),\ndefaultLocaleMonthsShort.indexOf(monthStr),\nparseInt(dayStr,10),\nparseInt(hourStr,10),\nparseInt(minuteStr,10),\n];\n\nif(secondStr){\nresult.push(parseInt(secondStr,10));\n}\n\nreturnresult;\n}\n\nfunctionuntruncateYear(yearStr){\nvaryear =parseInt(yearStr,10);\nif(year<=49){\nreturn2000+year;\n}elseif(year<=999){\nreturn1900+year;\n}\nreturnyear;\n}\n\nfunctionpreprocessRFC2822(s){\n//Removecommentsandfoldingwhitespaceandreplacemultiple-spaceswithasinglespace\nreturns\n.replace(/\\([^()]*\\)|[\\n\\t]/g,'')\n.replace(/(\\s\\s+)/g,'')\n.replace(/^\\s\\s*/,'')\n.replace(/\\s\\s*$/,'');\n}\n\nfunctioncheckWeekday(weekdayStr,parsedInput,config){\nif(weekdayStr){\n//TODO:ReplacethevanillaJSDateobjectwithanindependentday-of-weekcheck.\nvarweekdayProvided =defaultLocaleWeekdaysShort.indexOf(weekdayStr),\nweekdayActual =newDate(\nparsedInput[0],\nparsedInput[1],\nparsedInput[2]\n).getDay();\nif(weekdayProvided!==weekdayActual){\ngetParsingFlags(config).weekdayMismatch =true;\nconfig._isValid =false;\nreturnfalse;\n}\n}\nreturntrue;\n}\n\nfunctioncalculateOffset(obsOffset,militaryOffset,numOffset){\nif(obsOffset){\nreturnobsOffsets[obsOffset];\n}elseif(militaryOffset){\n//theonlyallowedmilitarytzisZ\nreturn0;\n}else{\nvarhm =parseInt(numOffset,10),\nm =hm%100,\nh =(hm-m)/100;\nreturnh*60+m;\n}\n}\n\n//dateandtimefromref2822format\nfunctionconfigFromRFC2822(config){\nvarmatch =rfc2822.exec(preprocessRFC2822(config._i)),\nparsedArray;\nif(match){\nparsedArray =extractFromRFC2822Strings(\nmatch[4],\nmatch[3],\nmatch[2],\nmatch[5],\nmatch[6],\nmatch[7]\n);\nif(!checkWeekday(match[1],parsedArray,config)){\nreturn;\n}\n\nconfig._a =parsedArray;\nconfig._tzm =calculateOffset(match[8],match[9],match[10]);\n\nconfig._d =createUTCDate.apply(null,config._a);\nconfig._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);\n\ngetParsingFlags(config).rfc2822 =true;\n}else{\nconfig._isValid =false;\n}\n}\n\n//datefrom1)ASP.NET,2)ISO,3)RFC2822formats,or4)optionalfallbackifparsingisn'tstrict\nfunctionconfigFromString(config){\nvarmatched =aspNetJsonRegex.exec(config._i);\nif(matched!==null){\nconfig._d =newDate(+matched[1]);\nreturn;\n}\n\nconfigFromISO(config);\nif(config._isValid ===false){\ndeleteconfig._isValid;\n}else{\nreturn;\n}\n\nconfigFromRFC2822(config);\nif(config._isValid ===false){\ndeleteconfig._isValid;\n}else{\nreturn;\n}\n\nif(config._strict){\nconfig._isValid =false;\n}else{\n//Finalattempt,useInputFallback\nhooks.createFromInputFallback(config);\n}\n}\n\nhooks.createFromInputFallback =deprecate(\n'valueprovidedisnotinarecognizedRFC2822orISOformat.momentconstructionfallsbacktojsDate(),'+\n'whichisnotreliableacrossallbrowsersandversions.NonRFC2822/ISOdateformatsare'+\n'discouraged.Pleaserefertohttp://momentjs.com/guides/#/warnings/js-date/formoreinfo.',\nfunction(config){\nconfig._d =newDate(config._i+(config._useUTC?'UTC':''));\n}\n);\n\n//Pickthefirstdefinedoftwoorthreearguments.\nfunctiondefaults(a,b,c){\nif(a!=null){\nreturna;\n}\nif(b!=null){\nreturnb;\n}\nreturnc;\n}\n\nfunctioncurrentDateArray(config){\n//hooksisactuallytheexportedmomentobject\nvarnowValue =newDate(hooks.now());\nif(config._useUTC){\nreturn[\nnowValue.getUTCFullYear(),\nnowValue.getUTCMonth(),\nnowValue.getUTCDate(),\n];\n}\nreturn[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()];\n}\n\n//convertanarraytoadate.\n//thearrayshouldmirrortheparametersbelow\n//note:allvaluespasttheyearareoptionalandwilldefaulttothelowestpossiblevalue.\n//[year,month,day,hour,minute,second,millisecond]\nfunctionconfigFromArray(config){\nvari,\ndate,\ninput =[],\ncurrentDate,\nexpectedWeekday,\nyearToUse;\n\nif(config._d){\nreturn;\n}\n\ncurrentDate =currentDateArray(config);\n\n//computedayoftheyearfromweeksandweekdays\nif(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){\ndayOfYearFromWeekInfo(config);\n}\n\n//ifthedayoftheyearisset,figureoutwhatitis\nif(config._dayOfYear!=null){\nyearToUse =defaults(config._a[YEAR],currentDate[YEAR]);\n\nif(\nconfig._dayOfYear> daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3&&config._a[i]==null;++i){\nconfig._a[i]=input[i]=currentDate[i];\n}\n\n//Zerooutwhateverwasnotdefaulted,includingtime\nfor(;i<7;i++){\nconfig._a[i]=input[i]=\nconfig._a[i]==null?(i ===2?1:0):config._a[i];\n}\n\n//Checkfor24:00:00.000\nif(\nconfig._a[HOUR]===24&&\nconfig._a[MINUTE]===0&&\nconfig._a[SECOND]===0&&\nconfig._a[MILLISECOND]===0\n){\nconfig._nextDay =true;\nconfig._a[HOUR]=0;\n}\n\nconfig._d =(config._useUTC?createUTCDate:createDate).apply(\nnull,\ninput\n);\nexpectedWeekday =config._useUTC\n?config._d.getUTCDay()\n:config._d.getDay();\n\n//Applytimezoneoffsetfrominput.TheactualutcOffsetcanbechanged\n//withparseZone.\nif(config._tzm!=null){\nconfig._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);\n}\n\nif(config._nextDay){\nconfig._a[HOUR]=24;\n}\n\n//checkformismatchingdayofweek\nif(\nconfig._w&&\ntypeofconfig._w.d!=='undefined'&&\nconfig._w.d!==expectedWeekday\n){\ngetParsingFlags(config).weekdayMismatch =true;\n}\n}\n\nfunctiondayOfYearFromWeekInfo(config){\nvarw,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;\n\nw =config._w;\nif(w.GG!=null||w.W!=null||w.E!=null){\ndow =1;\ndoy =4;\n\n//TODO:WeneedtotakethecurrentisoWeekYear,butthatdependson\n//howweinterpretnow(local,utc,fixedoffset).Socreate\n//anowversionofcurrentconfig(takelocal/utc/offsetflags,and\n//createnow).\nweekYear =defaults(\nw.GG,\nconfig._a[YEAR],\nweekOfYear(createLocal(),1,4).year\n);\nweek =defaults(w.W,1);\nweekday =defaults(w.E,1);\nif(weekday<1||weekday> 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0||weekday> 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0||w.e> 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1||week> weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen;i++){\ntoken =tokens[i];\nparsedInput =(string.match(getParseRegexForToken(token,config))||\n[])[0];\nif(parsedInput){\nskipped =string.substr(0,string.indexOf(parsedInput));\nif(skipped.length> 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12){\nhour+=12;\n}\nif(!isPm&&hour ===12){\nhour =0;\n}\nreturnhour;\n}else{\n//thisisnotsupposedtohappen\nreturnhour;\n}\n}\n\n//datefromstringandarrayofformatstrings\nfunctionconfigFromStringAndArray(config){\nvartempConfig,\nbestMoment,\nscoreToBeat,\ni,\ncurrentScore,\nvalidFormatFound,\nbestFormatIsValid =false,\nconfigfLen =config._f.length;\n\nif(configfLen ===0){\ngetParsingFlags(config).invalidFormat =true;\nconfig._d =newDate(NaN);\nreturn;\n}\n\nfor(i =0;i<configfLen;i++){\ncurrentScore =0;\nvalidFormatFound =false;\ntempConfig =copyConfig({},config);\nif(config._useUTC!=null){\ntempConfig._useUTC =config._useUTC;\n}\ntempConfig._f =config._f[i];\nconfigFromStringAndFormat(tempConfig);\n\nif(isValid(tempConfig)){\nvalidFormatFound =true;\n}\n\n//ifthereisanyinputthatwasnotparsedaddapenaltyforthatformat\ncurrentScore+=getParsingFlags(tempConfig).charsLeftOver;\n\n//ortokens\ncurrentScore+=getParsingFlags(tempConfig).unusedTokens.length*10;\n\ngetParsingFlags(tempConfig).score =currentScore;\n\nif(!bestFormatIsValid){\nif(\nscoreToBeat ==null||\ncurrentScore<scoreToBeat||\nvalidFormatFound\n){\nscoreToBeat =currentScore;\nbestMoment =tempConfig;\nif(validFormatFound){\nbestFormatIsValid =true;\n}\n}\n}else{\nif(currentScore<scoreToBeat){\nscoreToBeat =currentScore;\nbestMoment =tempConfig;\n}\n}\n}\n\nextend(config,bestMoment||tempConfig);\n}\n\nfunctionconfigFromObject(config){\nif(config._d){\nreturn;\n}\n\nvari =normalizeObjectUnits(config._i),\ndayOrDate =i.day===undefined?i.date:i.day;\nconfig._a =map(\n[i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],\nfunction(obj){\nreturnobj&&parseInt(obj,10);\n}\n);\n\nconfigFromArray(config);\n}\n\nfunctioncreateFromConfig(config){\nvarres =newMoment(checkOverflow(prepareConfig(config)));\nif(res._nextDay){\n//AddingissmartenougharoundDST\nres.add(1,'d');\nres._nextDay =undefined;\n}\n\nreturnres;\n}\n\nfunctionprepareConfig(config){\nvarinput =config._i,\nformat =config._f;\n\nconfig._locale =config._locale||getLocale(config._l);\n\nif(input ===null||(format ===undefined&&input ==='')){\nreturncreateInvalid({nullInput:true});\n}\n\nif(typeofinput ==='string'){\nconfig._i =input=config._locale.preparse(input);\n}\n\nif(isMoment(input)){\nreturnnewMoment(checkOverflow(input));\n}elseif(isDate(input)){\nconfig._d =input;\n}elseif(isArray(format)){\nconfigFromStringAndArray(config);\n}elseif(format){\nconfigFromStringAndFormat(config);\n}else{\nconfigFromInput(config);\n}\n\nif(!isValid(config)){\nconfig._d =null;\n}\n\nreturnconfig;\n}\n\nfunctionconfigFromInput(config){\nvarinput =config._i;\nif(isUndefined(input)){\nconfig._d =newDate(hooks.now());\n}elseif(isDate(input)){\nconfig._d =newDate(input.valueOf());\n}elseif(typeofinput ==='string'){\nconfigFromString(config);\n}elseif(isArray(input)){\nconfig._a =map(input.slice(0),function(obj){\nreturnparseInt(obj,10);\n});\nconfigFromArray(config);\n}elseif(isObject(input)){\nconfigFromObject(config);\n}elseif(isNumber(input)){\n//frommilliseconds\nconfig._d =newDate(input);\n}else{\nhooks.createFromInputFallback(config);\n}\n}\n\nfunctioncreateLocalOrUTC(input,format,locale,strict,isUTC){\nvarc ={};\n\nif(format ===true||format ===false){\nstrict =format;\nformat =undefined;\n}\n\nif(locale ===true||locale ===false){\nstrict =locale;\nlocale =undefined;\n}\n\nif(\n(isObject(input)&&isObjectEmpty(input))||\n(isArray(input)&&input.length ===0)\n){\ninput =undefined;\n}\n//objectconstructionmustbedonethisway.\n//https://github.com/moment/moment/issues/1423\nc._isAMomentObject =true;\nc._useUTC =c._isUTC=isUTC;\nc._l =locale;\nc._i =input;\nc._f =format;\nc._strict =strict;\n\nreturncreateFromConfig(c);\n}\n\nfunctioncreateLocal(input,format,locale,strict){\nreturncreateLocalOrUTC(input,format,locale,strict,false);\n}\n\nvarprototypeMin =deprecate(\n'moment().minisdeprecated,usemoment.maxinstead.http://momentjs.com/guides/#/warnings/min-max/',\nfunction(){\nvarother =createLocal.apply(null,arguments);\nif(this.isValid()&&other.isValid()){\nreturnother<this?this:other;\n}else{\nreturncreateInvalid();\n}\n}\n),\nprototypeMax =deprecate(\n'moment().maxisdeprecated,usemoment.mininstead.http://momentjs.com/guides/#/warnings/min-max/',\nfunction(){\nvarother =createLocal.apply(null,arguments);\nif(this.isValid()&&other.isValid()){\nreturnother> this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length;++i){\nif(!moments[i].isValid()||moments[i][fn](res)){\nres =moments[i];\n}\n}\nreturnres;\n}\n\n//TODO:Use[].sortinstead?\nfunctionmin(){\nvarargs =[].slice.call(arguments,0);\n\nreturnpickBy('isBefore',args);\n}\n\nfunctionmax(){\nvarargs =[].slice.call(arguments,0);\n\nreturnpickBy('isAfter',args);\n}\n\nvarnow =function(){\nreturnDate.now?Date.now():+newDate();\n};\n\nvarordering =[\n'year',\n'quarter',\n'month',\n'week',\n'day',\n'hour',\n'minute',\n'second',\n'millisecond',\n];\n\nfunctionisDurationValid(m){\nvarkey,\nunitHasDecimal =false,\ni,\norderLen =ordering.length;\nfor(keyinm){\nif(\nhasOwnProp(m,key)&&\n!(\nindexOf.call(ordering,key)!==-1&&\n(m[key]==null||!isNaN(m[key]))\n)\n){\nreturnfalse;\n}\n}\n\nfor(i =0;i<orderLen;++i){\nif(m[ordering[i]]){\nif(unitHasDecimal){\nreturnfalse;//onlyallownon-integersforsmallestunit\n}\nif(parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])){\nunitHasDecimal =true;\n}\n}\n}\n\nreturntrue;\n}\n\nfunctionisValid$1(){\nreturnthis._isValid;\n}\n\nfunctioncreateInvalid$1(){\nreturncreateDuration(NaN);\n}\n\nfunctionDuration(duration){\nvarnormalizedInput =normalizeObjectUnits(duration),\nyears =normalizedInput.year||0,\nquarters =normalizedInput.quarter||0,\nmonths =normalizedInput.month||0,\nweeks =normalizedInput.week||normalizedInput.isoWeek||0,\ndays =normalizedInput.day||0,\nhours =normalizedInput.hour||0,\nminutes =normalizedInput.minute||0,\nseconds =normalizedInput.second||0,\nmilliseconds =normalizedInput.millisecond||0;\n\nthis._isValid =isDurationValid(normalizedInput);\n\n//representationfordateAddRemove\nthis._milliseconds =\n+milliseconds+\nseconds*1e3+//1000\nminutes*6e4+//1000*60\nhours*1000*60*60;//using1000*60*60insteadof36e5toavoidfloatingpointroundingerrorshttps://github.com/moment/moment/issues/2978\n//BecauseofdateAddRemovetreats24hoursasdifferentfroma\n//daywhenworkingaroundDST,weneedtostorethemseparately\nthis._days =+days+weeks*7;\n//Itisimpossibletotranslatemonthsintodayswithoutknowing\n//whichmonthsyouarearetalkingabout,sowehavetostore\n//itseparately.\nthis._months =+months+quarters*3+years*12;\n\nthis._data ={};\n\nthis._locale =getLocale();\n\nthis._bubble();\n}\n\nfunctionisDuration(obj){\nreturnobjinstanceofDuration;\n}\n\nfunctionabsRound(number){\nif(number<0){\nreturnMath.round(-1*number)*-1;\n}else{\nreturnMath.round(number);\n}\n}\n\n//comparetwoarrays,returnthenumberofdifferences\nfunctioncompareArrays(array1,array2,dontConvert){\nvarlen =Math.min(array1.length,array2.length),\nlengthDiff =Math.abs(array1.length-array2.length),\ndiffs =0,\ni;\nfor(i =0;i<len;i++){\nif(\n(dontConvert&&array1[i]!==array2[i])||\n(!dontConvert&&toInt(array1[i])!==toInt(array2[i]))\n){\ndiffs++;\n}\n}\nreturndiffs+lengthDiff;\n}\n\n//FORMATTING\n\nfunctionoffset(token,separator){\naddFormatToken(token,0,0,function(){\nvaroffset =this.utcOffset(),\nsign ='+';\nif(offset<0){\noffset =-offset;\nsign ='-';\n}\nreturn(\nsign+\nzeroFill(~~(offset/60),2)+\nseparator+\nzeroFill(~~offset%60,2)\n);\n});\n}\n\noffset('Z',':');\noffset('ZZ','');\n\n//PARSING\n\naddRegexToken('Z',matchShortOffset);\naddRegexToken('ZZ',matchShortOffset);\naddParseToken(['Z','ZZ'],function(input,array,config){\nconfig._useUTC =true;\nconfig._tzm =offsetFromString(matchShortOffset,input);\n});\n\n//HELPERS\n\n//timezonechunker\n//'+10:00'> ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16&&!keepMinutes){\ninput =input*60;\n}\nif(!this._isUTC&&keepLocalTime){\nlocalAdjust =getDateOffset(this);\n}\nthis._offset =input;\nthis._isUTC =true;\nif(localAdjust!=null){\nthis.add(localAdjust,'m');\n}\nif(offset!==input){\nif(!keepLocalTime||this._changeInProgress){\naddSubtract(\nthis,\ncreateDuration(input-offset,'m'),\n1,\nfalse\n);\n}elseif(!this._changeInProgress){\nthis._changeInProgress =true;\nhooks.updateOffset(this,true);\nthis._changeInProgress =null;\n}\n}\nreturnthis;\n}else{\nreturnthis._isUTC?offset:getDateOffset(this);\n}\n}\n\nfunctiongetSetZone(input,keepLocalTime){\nif(input!=null){\nif(typeofinput!=='string'){\ninput =-input;\n}\n\nthis.utcOffset(input,keepLocalTime);\n\nreturnthis;\n}else{\nreturn-this.utcOffset();\n}\n}\n\nfunctionsetOffsetToUTC(keepLocalTime){\nreturnthis.utcOffset(0,keepLocalTime);\n}\n\nfunctionsetOffsetToLocal(keepLocalTime){\nif(this._isUTC){\nthis.utcOffset(0,keepLocalTime);\nthis._isUTC =false;\n\nif(keepLocalTime){\nthis.subtract(getDateOffset(this),'m');\n}\n}\nreturnthis;\n}\n\nfunctionsetOffsetToParsedOffset(){\nif(this._tzm!=null){\nthis.utcOffset(this._tzm,false,true);\n}elseif(typeofthis._i ==='string'){\nvartZone =offsetFromString(matchOffset,this._i);\nif(tZone!=null){\nthis.utcOffset(tZone);\n}else{\nthis.utcOffset(0,true);\n}\n}\nreturnthis;\n}\n\nfunctionhasAlignedHourOffset(input){\nif(!this.isValid()){\nreturnfalse;\n}\ninput =input?createLocal(input).utcOffset():0;\n\nreturn(this.utcOffset()-input)%60 ===0;\n}\n\nfunctionisDaylightSavingTime(){\nreturn(\nthis.utcOffset()> this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen;i+=1){\nproperty =properties[i];\npropertyTest =propertyTest||hasOwnProp(input,property);\n}\n\nreturnobjectTest&&propertyTest;\n}\n\nfunctionisNumberOrStringArray(input){\nvararrayTest =isArray(input),\ndataTypeTest =false;\nif(arrayTest){\ndataTypeTest =\ninput.filter(function(item){\nreturn!isNumber(item)&&isString(input);\n}).length ===0;\n}\nreturnarrayTest&&dataTypeTest;\n}\n\nfunctionisCalendarSpec(input){\nvarobjectTest =isObject(input)&&!isObjectEmpty(input),\npropertyTest =false,\nproperties =[\n'sameDay',\n'nextDay',\n'lastDay',\n'nextWeek',\n'lastWeek',\n'sameElse',\n],\ni,\nproperty;\n\nfor(i =0;i<properties.length;i+=1){\nproperty =properties[i];\npropertyTest =propertyTest||hasOwnProp(input,property);\n}\n\nreturnobjectTest&&propertyTest;\n}\n\nfunctiongetCalendarFormat(myMoment,now){\nvardiff =myMoment.diff(now,'days',true);\nreturndiff<-6\n?'sameElse'\n:diff<-1\n?'lastWeek'\n:diff<0\n?'lastDay'\n:diff<1\n?'sameDay'\n:diff<2\n?'nextDay'\n:diff<7\n?'nextWeek'\n:'sameElse';\n}\n\nfunctioncalendar$1(time,formats){\n//Supportforsingleparameter,formatsonlyoverloadtothecalendarfunction\nif(arguments.length ===1){\nif(!arguments[0]){\ntime =undefined;\nformats =undefined;\n}elseif(isMomentInput(arguments[0])){\ntime =arguments[0];\nformats =undefined;\n}elseif(isCalendarSpec(arguments[0])){\nformats =arguments[0];\ntime =undefined;\n}\n}\n//Wewanttocomparethestartoftoday,vsthis.\n//Gettingstart-of-todaydependsonwhetherwe'relocal/utc/offsetornot.\nvarnow =time||createLocal(),\nsod =cloneWithOffset(now,this).startOf('day'),\nformat =hooks.calendarFormat(this,sod)||'sameElse',\noutput =\nformats&&\n(isFunction(formats[format])\n?formats[format].call(this,now)\n:formats[format]);\n\nreturnthis.format(\noutput||this.localeData().calendar(format,this,createLocal(now))\n);\n}\n\nfunctionclone(){\nreturnnewMoment(this);\n}\n\nfunctionisAfter(input,units){\nvarlocalInput =isMoment(input)?input:createLocal(input);\nif(!(this.isValid()&&localInput.isValid())){\nreturnfalse;\n}\nunits =normalizeUnits(units)||'millisecond';\nif(units ==='millisecond'){\nreturnthis.valueOf()> localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n}\n}\n\nfunctionisBefore(input,units){\nvarlocalInput =isMoment(input)?input:createLocal(input);\nif(!(this.isValid()&&localInput.isValid())){\nreturnfalse;\n}\nunits =normalizeUnits(units)||'millisecond';\nif(units ==='millisecond'){\nreturnthis.valueOf()<localInput.valueOf();\n}else{\nreturnthis.clone().endOf(units).valueOf()<localInput.valueOf();\n}\n}\n\nfunctionisBetween(from,to,units,inclusivity){\nvarlocalFrom =isMoment(from)?from:createLocal(from),\nlocalTo =isMoment(to)?to:createLocal(to);\nif(!(this.isValid()&&localFrom.isValid()&&localTo.isValid())){\nreturnfalse;\n}\ninclusivity =inclusivity||'()';\nreturn(\n(inclusivity[0]==='('\n?this.isAfter(localFrom,units)\n:!this.isBefore(localFrom,units))&&\n(inclusivity[1]===')'\n?this.isBefore(localTo,units)\n:!this.isAfter(localTo,units))\n);\n}\n\nfunctionisSame(input,units){\nvarlocalInput =isMoment(input)?input:createLocal(input),\ninputMs;\nif(!(this.isValid()&&localInput.isValid())){\nreturnfalse;\n}\nunits =normalizeUnits(units)||'millisecond';\nif(units ==='millisecond'){\nreturnthis.valueOf()===localInput.valueOf();\n}else{\ninputMs =localInput.valueOf();\nreturn(\nthis.clone().startOf(units).valueOf()<=inputMs&&\ninputMs<=this.clone().endOf(units).valueOf()\n);\n}\n}\n\nfunctionisSameOrAfter(input,units){\nreturnthis.isSame(input,units)||this.isAfter(input,units);\n}\n\nfunctionisSameOrBefore(input,units){\nreturnthis.isSame(input,units)||this.isBefore(input,units);\n}\n\nfunctiondiff(input,units,asFloat){\nvarthat,zoneDelta,output;\n\nif(!this.isValid()){\nreturnNaN;\n}\n\nthat =cloneWithOffset(input,this);\n\nif(!that.isValid()){\nreturnNaN;\n}\n\nzoneDelta =(that.utcOffset()-this.utcOffset())*6e4;\n\nunits =normalizeUnits(units);\n\nswitch(units){\ncase'year':\noutput =monthDiff(this,that)/12;\nbreak;\ncase'month':\noutput =monthDiff(this,that);\nbreak;\ncase'quarter':\noutput =monthDiff(this,that)/3;\nbreak;\ncase'second':\noutput =(this-that)/1e3;\nbreak;//1000\ncase'minute':\noutput =(this-that)/6e4;\nbreak;//1000*60\ncase'hour':\noutput =(this-that)/36e5;\nbreak;//1000*60*60\ncase'day':\noutput =(this-that-zoneDelta)/864e5;\nbreak;//1000*60*60*24,negatedst\ncase'week':\noutput =(this-that-zoneDelta)/6048e5;\nbreak;//1000*60*60*24*7,negatedst\ndefault:\noutput =this-that;\n}\n\nreturnasFloat?output:absFloor(output);\n}\n\nfunctionmonthDiff(a,b){\nif(a.date()<b.date()){\n//end-of-monthcalculationsworkcorrectwhenthestartmonthhasmore\n//daysthantheendmonth.\nreturn-monthDiff(b,a);\n}\n//differenceinmonths\nvarwholeMonthDiff =(b.year()-a.year())*12+(b.month()-a.month()),\n//bisin(anchor-1month,anchor+1month)\nanchor =a.clone().add(wholeMonthDiff,'months'),\nanchor2,\nadjust;\n\nif(b-anchor<0){\nanchor2 =a.clone().add(wholeMonthDiff-1,'months');\n//linearacrossthemonth\nadjust =(b-anchor)/(anchor-anchor2);\n}else{\nanchor2 =a.clone().add(wholeMonthDiff+1,'months');\n//linearacrossthemonth\nadjust =(b-anchor)/(anchor2-anchor);\n}\n\n//checkfornegativezero,returnzeroifnegativezero\nreturn-(wholeMonthDiff+adjust)||0;\n}\n\nhooks.defaultFormat ='YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc ='YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunctiontoString(){\nreturnthis.clone().locale('en').format('dddMMMDDYYYYHH:mm:ss[GMT]ZZ');\n}\n\nfunctiontoISOString(keepOffset){\nif(!this.isValid()){\nreturnnull;\n}\nvarutc =keepOffset!==true,\nm =utc?this.clone().utc():this;\nif(m.year()<0||m.year()> 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100&&y>= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100&&y>= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l;++i){\nswitch(typeoferas[i].since){\ncase'string':\n//truncatetime\ndate =hooks(eras[i].since).startOf('day');\neras[i].since =date.valueOf();\nbreak;\n}\n\nswitch(typeoferas[i].until){\ncase'undefined':\neras[i].until =+Infinity;\nbreak;\ncase'string':\n//truncatetime\ndate =hooks(eras[i].until).startOf('day').valueOf();\neras[i].until =date.valueOf();\nbreak;\n}\n}\nreturneras;\n}\n\nfunctionlocaleErasParse(eraName,format,strict){\nvari,\nl,\neras =this.eras(),\nname,\nabbr,\nnarrow;\neraName =eraName.toUpperCase();\n\nfor(i =0,l =eras.length;i<l;++i){\nname =eras[i].name.toUpperCase();\nabbr =eras[i].abbr.toUpperCase();\nnarrow =eras[i].narrow.toUpperCase();\n\nif(strict){\nswitch(format){\ncase'N':\ncase'NN':\ncase'NNN':\nif(abbr ===eraName){\nreturneras[i];\n}\nbreak;\n\ncase'NNNN':\nif(name ===eraName){\nreturneras[i];\n}\nbreak;\n\ncase'NNNNN':\nif(narrow ===eraName){\nreturneras[i];\n}\nbreak;\n}\n}elseif([name,abbr,narrow].indexOf(eraName)>= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l;++i){\n//truncatetime\nval =this.clone().startOf('day').valueOf();\n\nif(eras[i].since<=val&&val<=eras[i].until){\nreturneras[i].name;\n}\nif(eras[i].until<=val&&val<=eras[i].since){\nreturneras[i].name;\n}\n}\n\nreturn'';\n}\n\nfunctiongetEraNarrow(){\nvari,\nl,\nval,\neras =this.localeData().eras();\nfor(i =0,l =eras.length;i<l;++i){\n//truncatetime\nval =this.clone().startOf('day').valueOf();\n\nif(eras[i].since<=val&&val<=eras[i].until){\nreturneras[i].narrow;\n}\nif(eras[i].until<=val&&val<=eras[i].since){\nreturneras[i].narrow;\n}\n}\n\nreturn'';\n}\n\nfunctiongetEraAbbr(){\nvari,\nl,\nval,\neras =this.localeData().eras();\nfor(i =0,l =eras.length;i<l;++i){\n//truncatetime\nval =this.clone().startOf('day').valueOf();\n\nif(eras[i].since<=val&&val<=eras[i].until){\nreturneras[i].abbr;\n}\nif(eras[i].until<=val&&val<=eras[i].since){\nreturneras[i].abbr;\n}\n}\n\nreturn'';\n}\n\nfunctiongetEraYear(){\nvari,\nl,\ndir,\nval,\neras =this.localeData().eras();\nfor(i =0,l =eras.length;i<l;++i){\ndir =eras[i].since<=eras[i].until?+1:-1;\n\n//truncatetime\nval =this.clone().startOf('day').valueOf();\n\nif(\n(eras[i].since<=val&&val<=eras[i].until)||\n(eras[i].until<=val&&val<=eras[i].since)\n){\nreturn(\n(this.year()-hooks(eras[i].since).year())*dir+\neras[i].offset\n);\n}\n}\n\nreturnthis.year();\n}\n\nfunctionerasNameRegex(isStrict){\nif(!hasOwnProp(this,'_erasNameRegex')){\ncomputeErasParse.call(this);\n}\nreturnisStrict?this._erasNameRegex:this._erasRegex;\n}\n\nfunctionerasAbbrRegex(isStrict){\nif(!hasOwnProp(this,'_erasAbbrRegex')){\ncomputeErasParse.call(this);\n}\nreturnisStrict?this._erasAbbrRegex:this._erasRegex;\n}\n\nfunctionerasNarrowRegex(isStrict){\nif(!hasOwnProp(this,'_erasNarrowRegex')){\ncomputeErasParse.call(this);\n}\nreturnisStrict?this._erasNarrowRegex:this._erasRegex;\n}\n\nfunctionmatchEraAbbr(isStrict,locale){\nreturnlocale.erasAbbrRegex(isStrict);\n}\n\nfunctionmatchEraName(isStrict,locale){\nreturnlocale.erasNameRegex(isStrict);\n}\n\nfunctionmatchEraNarrow(isStrict,locale){\nreturnlocale.erasNarrowRegex(isStrict);\n}\n\nfunctionmatchEraYearOrdinal(isStrict,locale){\nreturnlocale._eraYearOrdinalRegex||matchUnsigned;\n}\n\nfunctioncomputeErasParse(){\nvarabbrPieces =[],\nnamePieces =[],\nnarrowPieces =[],\nmixedPieces =[],\ni,\nl,\nerasName,\nerasAbbr,\nerasNarrow,\neras =this.eras();\n\nfor(i =0,l =eras.length;i<l;++i){\nerasName =regexEscape(eras[i].name);\nerasAbbr =regexEscape(eras[i].abbr);\nerasNarrow =regexEscape(eras[i].narrow);\n\nnamePieces.push(erasName);\nabbrPieces.push(erasAbbr);\nnarrowPieces.push(erasNarrow);\nmixedPieces.push(erasName);\nmixedPieces.push(erasAbbr);\nmixedPieces.push(erasNarrow);\n}\n\nthis._erasRegex =newRegExp('^('+mixedPieces.join('|')+')','i');\nthis._erasNameRegex =newRegExp('^('+namePieces.join('|')+')','i');\nthis._erasAbbrRegex =newRegExp('^('+abbrPieces.join('|')+')','i');\nthis._erasNarrowRegex =newRegExp(\n'^('+narrowPieces.join('|')+')',\n'i'\n);\n}\n\n//FORMATTING\n\naddFormatToken(0,['gg',2],0,function(){\nreturnthis.weekYear()%100;\n});\n\naddFormatToken(0,['GG',2],0,function(){\nreturnthis.isoWeekYear()%100;\n});\n\nfunctionaddWeekYearFormatToken(token,getter){\naddFormatToken(0,[token,token.length],0,getter);\n}\n\naddWeekYearFormatToken('gggg','weekYear');\naddWeekYearFormatToken('ggggg','weekYear');\naddWeekYearFormatToken('GGGG','isoWeekYear');\naddWeekYearFormatToken('GGGGG','isoWeekYear');\n\n//ALIASES\n\n//PARSING\n\naddRegexToken('G',matchSigned);\naddRegexToken('g',matchSigned);\naddRegexToken('GG',match1to2,match2);\naddRegexToken('gg',match1to2,match2);\naddRegexToken('GGGG',match1to4,match4);\naddRegexToken('gggg',match1to4,match4);\naddRegexToken('GGGGG',match1to6,match6);\naddRegexToken('ggggg',match1to6,match6);\n\naddWeekParseToken(\n['gggg','ggggg','GGGG','GGGGG'],\nfunction(input,week,config,token){\nweek[token.substr(0,2)]=toInt(input);\n}\n);\n\naddWeekParseToken(['gg','GG'],function(input,week,config,token){\nweek[token]=hooks.parseTwoDigitYear(input);\n});\n\n//MOMENTS\n\nfunctiongetSetWeekYear(input){\nreturngetSetWeekYearHelper.call(\nthis,\ninput,\nthis.week(),\nthis.weekday()+this.localeData()._week.dow,\nthis.localeData()._week.dow,\nthis.localeData()._week.doy\n);\n}\n\nfunctiongetSetISOWeekYear(input){\nreturngetSetWeekYearHelper.call(\nthis,\ninput,\nthis.isoWeek(),\nthis.isoWeekday(),\n1,\n4\n);\n}\n\nfunctiongetISOWeeksInYear(){\nreturnweeksInYear(this.year(),1,4);\n}\n\nfunctiongetISOWeeksInISOWeekYear(){\nreturnweeksInYear(this.isoWeekYear(),1,4);\n}\n\nfunctiongetWeeksInYear(){\nvarweekInfo =this.localeData()._week;\nreturnweeksInYear(this.year(),weekInfo.dow,weekInfo.doy);\n}\n\nfunctiongetWeeksInWeekYear(){\nvarweekInfo =this.localeData()._week;\nreturnweeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy);\n}\n\nfunctiongetSetWeekYearHelper(input,week,weekday,dow,doy){\nvarweeksTarget;\nif(input ==null){\nreturnweekOfYear(this,dow,doy).year;\n}else{\nweeksTarget =weeksInYear(input,dow,doy);\nif(week> weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12;i++){\nout[i]=get$1(format,i,field,'month');\n}\nreturnout;\n}\n\n//()\n//(5)\n//(fmt,5)\n//(fmt)\n//(true)\n//(true,5)\n//(true,fmt,5)\n//(true,fmt)\nfunctionlistWeekdaysImpl(localeSorted,format,index,field){\nif(typeoflocaleSorted ==='boolean'){\nif(isNumber(format)){\nindex =format;\nformat =undefined;\n}\n\nformat =format||'';\n}else{\nformat =localeSorted;\nindex =format;\nlocaleSorted =false;\n\nif(isNumber(format)){\nindex =format;\nformat =undefined;\n}\n\nformat =format||'';\n}\n\nvarlocale =getLocale(),\nshift =localeSorted?locale._week.dow:0,\ni,\nout =[];\n\nif(index!=null){\nreturnget$1(format,(index+shift)%7,field,'day');\n}\n\nfor(i =0;i<7;i++){\nout[i]=get$1(format,(i+shift)%7,field,'day');\n}\nreturnout;\n}\n\nfunctionlistMonths(format,index){\nreturnlistMonthsImpl(format,index,'months');\n}\n\nfunctionlistMonthsShort(format,index){\nreturnlistMonthsImpl(format,index,'monthsShort');\n}\n\nfunctionlistWeekdays(localeSorted,format,index){\nreturnlistWeekdaysImpl(localeSorted,format,index,'weekdays');\n}\n\nfunctionlistWeekdaysShort(localeSorted,format,index){\nreturnlistWeekdaysImpl(localeSorted,format,index,'weekdaysShort');\n}\n\nfunctionlistWeekdaysMin(localeSorted,format,index){\nreturnlistWeekdaysImpl(localeSorted,format,index,'weekdaysMin');\n}\n\ngetSetGlobalLocale('en',{\neras:[\n{\nsince:'0001-01-01',\nuntil:+Infinity,\noffset:1,\nname:'AnnoDomini',\nnarrow:'AD',\nabbr:'AD',\n},\n{\nsince:'0000-12-31',\nuntil:-Infinity,\noffset:1,\nname:'BeforeChrist',\nnarrow:'BC',\nabbr:'BC',\n},\n],\ndayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,\nordinal:function(number){\nvarb =number%10,\noutput =\ntoInt((number%100)/10)===1\n?'th'\n:b ===1\n?'st'\n:b ===2\n?'nd'\n:b ===3\n?'rd'\n:'th';\nreturnnumber+output;\n},\n});\n\n//Sideeffectimports\n\nhooks.lang =deprecate(\n'moment.langisdeprecated.Usemoment.localeinstead.',\ngetSetGlobalLocale\n);\nhooks.langData =deprecate(\n'moment.langDataisdeprecated.Usemoment.localeDatainstead.',\ngetLocale\n);\n\nvarmathAbs =Math.abs;\n\nfunctionabs(){\nvardata =this._data;\n\nthis._milliseconds =mathAbs(this._milliseconds);\nthis._days =mathAbs(this._days);\nthis._months =mathAbs(this._months);\n\ndata.milliseconds =mathAbs(data.milliseconds);\ndata.seconds =mathAbs(data.seconds);\ndata.minutes =mathAbs(data.minutes);\ndata.hours =mathAbs(data.hours);\ndata.months =mathAbs(data.months);\ndata.years =mathAbs(data.years);\n\nreturnthis;\n}\n\nfunctionaddSubtract$1(duration,input,value,direction){\nvarother =createDuration(input,value);\n\nduration._milliseconds+=direction*other._milliseconds;\nduration._days+=direction*other._days;\nduration._months+=direction*other._months;\n\nreturnduration._bubble();\n}\n\n//supportsonly2.0-styleadd(1,'s')oradd(duration)\nfunctionadd$1(input,value){\nreturnaddSubtract$1(this,input,value,1);\n}\n\n//supportsonly2.0-stylesubtract(1,'s')orsubtract(duration)\nfunctionsubtract$1(input,value){\nreturnaddSubtract$1(this,input,value,-1);\n}\n\nfunctionabsCeil(number){\nif(number<0){\nreturnMath.floor(number);\n}else{\nreturnMath.ceil(number);\n}\n}\n\nfunctionbubble(){\nvarmilliseconds =this._milliseconds,\ndays =this._days,\nmonths =this._months,\ndata =this._data,\nseconds,\nminutes,\nhours,\nyears,\nmonthsFromDays;\n\n//ifwehaveamixofpositiveandnegativevalues,bubbledownfirst\n//check:https://github.com/moment/moment/issues/2166\nif(\n!(\n(milliseconds>= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s&&['ss',seconds])||\n(minutes<=1&&['m'])||\n(minutes<thresholds.m&&['mm',minutes])||\n(hours<=1&&['h'])||\n(hours<thresholds.h&&['hh',hours])||\n(days<=1&&['d'])||\n(days<thresholds.d&&['dd',days]);\n\nif(thresholds.w!=null){\na =\na||\n(weeks<=1&&['w'])||\n(weeks<thresholds.w&&['ww',weeks]);\n}\na =a||\n(months<=1&&['M'])||\n(months<thresholds.M&&['MM',months])||\n(years<=1&&['y'])||['yy',years];\n\na[2]=withoutSuffix;\na[3]=+posNegDuration> 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0)||+x;\n}\n\nfunctiontoISOString$1(){\n//forISOstringswedonotusethenormalbubblingrules:\n//*millisecondsbubbleupuntiltheybecomehours\n//*daysdonotbubbleatall\n//*monthsbubbleupuntiltheybecomeyears\n//Thisisbecausethereisnocontext-freeconversionbetweenhoursanddays\n//(thinkofclockchanges)\n//andalsonotbetweendaysandmonths(28-31dayspermonth)\nif(!this.isValid()){\nreturnthis.localeData().invalidDate();\n}\n\nvarseconds =abs$1(this._milliseconds)/1000,\ndays =abs$1(this._days),\nmonths =abs$1(this._months),\nminutes,\nhours,\nyears,\ns,\ntotal =this.asSeconds(),\ntotalSign,\nymSign,\ndaysSign,\nhmsSign;\n\nif(!total){\n//thisisthesameasC#'s(Noda)andpython(isodate)...\n//butnototherJS(goog.date)\nreturn'P0D';\n}\n\n//3600seconds-> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0?'-':'';\nymSign =sign(this._months)!==sign(total)?'-':'';\ndaysSign =sign(this._days)!==sign(total)?'-':'';\nhmsSign =sign(this._milliseconds)!==sign(total)?'-':'';\n\nreturn(\ntotalSign+\n'P'+\n(years?ymSign+years+'Y':'')+\n(months?ymSign+months+'M':'')+\n(days?daysSign+days+'D':'')+\n(hours||minutes||seconds?'T':'')+\n(hours?hmsSign+hours+'H':'')+\n(minutes?hmsSign+minutes+'M':'')+\n(seconds?hmsSign+s+'S':'')\n);\n}\n\nvarproto$2 =Duration.prototype;\n\nproto$2.isValid =isValid$1;\nproto$2.abs =abs;\nproto$2.add =add$1;\nproto$2.subtract =subtract$1;\nproto$2.as =as;\nproto$2.asMilliseconds =asMilliseconds;\nproto$2.asSeconds =asSeconds;\nproto$2.asMinutes =asMinutes;\nproto$2.asHours =asHours;\nproto$2.asDays =asDays;\nproto$2.asWeeks =asWeeks;\nproto$2.asMonths =asMonths;\nproto$2.asQuarters =asQuarters;\nproto$2.asYears =asYears;\nproto$2.valueOf =valueOf$1;\nproto$2._bubble =bubble;\nproto$2.clone =clone$1;\nproto$2.get =get$2;\nproto$2.milliseconds =milliseconds;\nproto$2.seconds =seconds;\nproto$2.minutes =minutes;\nproto$2.hours =hours;\nproto$2.days =days;\nproto$2.weeks =weeks;\nproto$2.months =months;\nproto$2.years =years;\nproto$2.humanize =humanize;\nproto$2.toISOString =toISOString$1;\nproto$2.toString =toISOString$1;\nproto$2.toJSON =toISOString$1;\nproto$2.locale =locale;\nproto$2.localeData =localeData;\n\nproto$2.toIsoString =deprecate(\n'toIsoString()isdeprecated.PleaseusetoISOString()instead(noticethecapitals)',\ntoISOString$1\n);\nproto$2.lang =lang;\n\n//FORMATTING\n\naddFormatToken('X',0,0,'unix');\naddFormatToken('x',0,0,'valueOf');\n\n//PARSING\n\naddRegexToken('x',matchSigned);\naddRegexToken('X',matchTimestamp);\naddParseToken('X',function(input,array,config){\nconfig._d =newDate(parseFloat(input)*1000);\n});\naddParseToken('x',function(input,array,config){\nconfig._d =newDate(toInt(input));\n});\n\n//!moment.js\n\nhooks.version ='2.30.1';\n\nsetHookCallback(createLocal);\n\nhooks.fn =proto;\nhooks.min =min;\nhooks.max =max;\nhooks.now =now;\nhooks.utc =createUTC;\nhooks.unix =createUnix;\nhooks.months =listMonths;\nhooks.isDate =isDate;\nhooks.locale =getSetGlobalLocale;\nhooks.invalid =createInvalid;\nhooks.duration =createDuration;\nhooks.isMoment =isMoment;\nhooks.weekdays =listWeekdays;\nhooks.parseZone =createInZone;\nhooks.localeData =getLocale;\nhooks.isDuration =isDuration;\nhooks.monthsShort =listMonthsShort;\nhooks.weekdaysMin =listWeekdaysMin;\nhooks.defineLocale =defineLocale;\nhooks.updateLocale =updateLocale;\nhooks.locales =listLocales;\nhooks.weekdaysShort =listWeekdaysShort;\nhooks.normalizeUnits =normalizeUnits;\nhooks.relativeTimeRounding =getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold =getSetRelativeTimeThreshold;\nhooks.calendarFormat =getCalendarFormat;\nhooks.prototype =proto;\n\n//currentlyHTML5inputtypeonlysupports24-hourformats\nhooks.HTML5_FMT ={\nDATETIME_LOCAL:'YYYY-MM-DDTHH:mm',//<inputtype=\"datetime-local\"/>\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <inputtype=\"datetime-local\"step=\"1\"/>\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <inputtype=\"datetime-local\"step=\"0.001\"/>\n DATE: 'YYYY-MM-DD', // <inputtype=\"date\"/>\n TIME: 'HH:mm', // <inputtype=\"time\"/>\n TIME_SECONDS: 'HH:mm:ss', // <inputtype=\"time\"step=\"1\"/>\n TIME_MS: 'HH:mm:ss.SSS', // <inputtype=\"time\"step=\"0.001\"/>\n WEEK: 'GGGG-[W]WW', // <inputtype=\"week\"/>\n MONTH: 'YYYY-MM', // <inputtype=\"month\"/>\n };\n\n //! moment.js locale configuration\n\n hooks.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12){\nreturnisLower?'vm':'VM';\n}else{\nreturnisLower?'nm':'NM';\n}\n},\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Vandagom]LT',\nnextDay:'[Môreom]LT',\nnextWeek:'dddd[om]LT',\nlastDay:'[Gisterom]LT',\nlastWeek:'[Laas]dddd[om]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'oor%s',\npast:'%sgelede',\ns:\"'npaarsekondes\",\nss:'%dsekondes',\nm:\"'nminuut\",\nmm:'%dminute',\nh:\"'nuur\",\nhh:'%dure',\nd:\"'ndag\",\ndd:'%ddae',\nM:\"'nmaand\",\nMM:'%dmaande',\ny:\"'njaar\",\nyy:'%djaar',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,\nordinal:function(number){\nreturn(\nnumber+\n(number ===1||number ===8||number>= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$1 = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-dz', {\n months: months$1,\n monthsShort: months$1,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ص';\n}else{\nreturn'م';\n}\n},\ncalendar:{\nsameDay:'[اليومعندالساعة]LT',\nnextDay:'[غدًاعندالساعة]LT',\nnextWeek:'dddd[عندالساعة]LT',\nlastDay:'[أمسعندالساعة]LT',\nlastWeek:'dddd[عندالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'بعد%s',\npast:'منذ%s',\ns:pluralize('s'),\nss:pluralize('s'),\nm:pluralize('m'),\nmm:pluralize('m'),\nh:pluralize('h'),\nhh:pluralize('h'),\nd:pluralize('d'),\ndd:pluralize('d'),\nM:pluralize('M'),\nMM:pluralize('M'),\ny:pluralize('y'),\nyy:pluralize('y'),\n},\npostformat:function(string){\nreturnstring.replace(/,/g,'،');\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ar-kw',{\nmonths:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n'_'\n),\nmonthsShort:\n'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n'_'\n),\nweekdays:'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\nweekdaysShort:'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\nweekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[اليومعلىالساعة]LT',\nnextDay:'[غداعلىالساعة]LT',\nnextWeek:'dddd[علىالساعة]LT',\nlastDay:'[أمسعلىالساعة]LT',\nlastWeek:'dddd[علىالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'في%s',\npast:'منذ%s',\ns:'ثوان',\nss:'%dثانية',\nm:'دقيقة',\nmm:'%dدقائق',\nh:'ساعة',\nhh:'%dساعات',\nd:'يوم',\ndd:'%dأيام',\nM:'شهر',\nMM:'%dأشهر',\ny:'سنة',\nyy:'%dسنوات',\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap ={\n1:'1',\n2:'2',\n3:'3',\n4:'4',\n5:'5',\n6:'6',\n7:'7',\n8:'8',\n9:'9',\n0:'0',\n},\npluralForm$1 =function(n){\nreturnn ===0\n?0\n:n ===1\n?1\n:n ===2\n?2\n:n%100>= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$1 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$2 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-ly', {\n months: months$2,\n monthsShort: months$2,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ص';\n}else{\nreturn'م';\n}\n},\ncalendar:{\nsameDay:'[اليومعندالساعة]LT',\nnextDay:'[غدًاعندالساعة]LT',\nnextWeek:'dddd[عندالساعة]LT',\nlastDay:'[أمسعندالساعة]LT',\nlastWeek:'dddd[عندالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'بعد%s',\npast:'منذ%s',\ns:pluralize$1('s'),\nss:pluralize$1('s'),\nm:pluralize$1('m'),\nmm:pluralize$1('m'),\nh:pluralize$1('h'),\nhh:pluralize$1('h'),\nd:pluralize$1('d'),\ndd:pluralize$1('d'),\nM:pluralize$1('M'),\nMM:pluralize$1('M'),\ny:pluralize$1('y'),\nyy:pluralize$1('y'),\n},\npreparse:function(string){\nreturnstring.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap[match];\n})\n.replace(/,/g,'،');\n},\nweek:{\ndow:6,//Saturdayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ar-ma',{\nmonths:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n'_'\n),\nmonthsShort:\n'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n'_'\n),\nweekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\nweekdaysShort:'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\nweekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[اليومعلىالساعة]LT',\nnextDay:'[غداعلىالساعة]LT',\nnextWeek:'dddd[علىالساعة]LT',\nlastDay:'[أمسعلىالساعة]LT',\nlastWeek:'dddd[علىالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'في%s',\npast:'منذ%s',\ns:'ثوان',\nss:'%dثانية',\nm:'دقيقة',\nmm:'%dدقائق',\nh:'ساعة',\nhh:'%dساعات',\nd:'يوم',\ndd:'%dأيام',\nM:'شهر',\nMM:'%dأشهر',\ny:'سنة',\nyy:'%dسنوات',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$1 ={\n1:'١',\n2:'٢',\n3:'٣',\n4:'٤',\n5:'٥',\n6:'٦',\n7:'٧',\n8:'٨',\n9:'٩',\n0:'٠',\n},\nnumberMap ={\n'١':'1',\n'٢':'2',\n'٣':'3',\n'٤':'4',\n'٥':'5',\n'٦':'6',\n'٧':'7',\n'٨':'8',\n'٩':'9',\n'٠':'0',\n};\n\nhooks.defineLocale('ar-ps',{\nmonths:'كانونالثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشريالأوّل_تشرينالثاني_كانونالأوّل'.split(\n'_'\n),\nmonthsShort:\n'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\nweekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\nweekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\nweekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\nmeridiemParse:/ص|م/,\nisPM:function(input){\nreturn'م'===input;\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'ص';\n}else{\nreturn'م';\n}\n},\ncalendar:{\nsameDay:'[اليومعلىالساعة]LT',\nnextDay:'[غداعلىالساعة]LT',\nnextWeek:'dddd[علىالساعة]LT',\nlastDay:'[أمسعلىالساعة]LT',\nlastWeek:'dddd[علىالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'في%s',\npast:'منذ%s',\ns:'ثوان',\nss:'%dثانية',\nm:'دقيقة',\nmm:'%dدقائق',\nh:'ساعة',\nhh:'%dساعات',\nd:'يوم',\ndd:'%dأيام',\nM:'شهر',\nMM:'%dأشهر',\ny:'سنة',\nyy:'%dسنوات',\n},\npreparse:function(string){\nreturnstring\n.replace(/[٣٤٥٦٧٨٩٠]/g,function(match){\nreturnnumberMap[match];\n})\n.split('')//reversedsincenegativelookbehindnotsupportedeverywhere\n.reverse()\n.join('')\n.replace(/[١٢](?![\\u062a\\u0643])/g,function(match){\nreturnnumberMap[match];\n})\n.split('')\n.reverse()\n.join('')\n.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap$1[match];\n})\n.replace(/,/g,'،');\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$2 ={\n1:'١',\n2:'٢',\n3:'٣',\n4:'٤',\n5:'٥',\n6:'٦',\n7:'٧',\n8:'٨',\n9:'٩',\n0:'٠',\n},\nnumberMap$1 ={\n'١':'1',\n'٢':'2',\n'٣':'3',\n'٤':'4',\n'٥':'5',\n'٦':'6',\n'٧':'7',\n'٨':'8',\n'٩':'9',\n'٠':'0',\n};\n\nhooks.defineLocale('ar-sa',{\nmonths:'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n'_'\n),\nmonthsShort:\n'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n'_'\n),\nweekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\nweekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\nweekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\nmeridiemParse:/ص|م/,\nisPM:function(input){\nreturn'م'===input;\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'ص';\n}else{\nreturn'م';\n}\n},\ncalendar:{\nsameDay:'[اليومعلىالساعة]LT',\nnextDay:'[غداعلىالساعة]LT',\nnextWeek:'dddd[علىالساعة]LT',\nlastDay:'[أمسعلىالساعة]LT',\nlastWeek:'dddd[علىالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'في%s',\npast:'منذ%s',\ns:'ثوان',\nss:'%dثانية',\nm:'دقيقة',\nmm:'%dدقائق',\nh:'ساعة',\nhh:'%dساعات',\nd:'يوم',\ndd:'%dأيام',\nM:'شهر',\nMM:'%dأشهر',\ny:'سنة',\nyy:'%dسنوات',\n},\npreparse:function(string){\nreturnstring\n.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){\nreturnnumberMap$1[match];\n})\n.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap$2[match];\n})\n.replace(/,/g,'،');\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ar-tn',{\nmonths:'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n'_'\n),\nmonthsShort:\n'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n'_'\n),\nweekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\nweekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\nweekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[اليومعلىالساعة]LT',\nnextDay:'[غداعلىالساعة]LT',\nnextWeek:'dddd[علىالساعة]LT',\nlastDay:'[أمسعلىالساعة]LT',\nlastWeek:'dddd[علىالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'في%s',\npast:'منذ%s',\ns:'ثوان',\nss:'%dثانية',\nm:'دقيقة',\nmm:'%dدقائق',\nh:'ساعة',\nhh:'%dساعات',\nd:'يوم',\ndd:'%dأيام',\nM:'شهر',\nMM:'%dأشهر',\ny:'سنة',\nyy:'%dسنوات',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$3 ={\n1:'١',\n2:'٢',\n3:'٣',\n4:'٤',\n5:'٥',\n6:'٦',\n7:'٧',\n8:'٨',\n9:'٩',\n0:'٠',\n},\nnumberMap$2 ={\n'١':'1',\n'٢':'2',\n'٣':'3',\n'٤':'4',\n'٥':'5',\n'٦':'6',\n'٧':'7',\n'٨':'8',\n'٩':'9',\n'٠':'0',\n},\npluralForm$2 =function(n){\nreturnn ===0\n?0\n:n ===1\n?1\n:n ===2\n?2\n:n%100>= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$2 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$2 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$2(number),\n str = plurals$2[u][pluralForm$2(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$3 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar', {\n months: months$3,\n monthsShort: months$3,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ص';\n}else{\nreturn'م';\n}\n},\ncalendar:{\nsameDay:'[اليومعندالساعة]LT',\nnextDay:'[غدًاعندالساعة]LT',\nnextWeek:'dddd[عندالساعة]LT',\nlastDay:'[أمسعندالساعة]LT',\nlastWeek:'dddd[عندالساعة]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'بعد%s',\npast:'منذ%s',\ns:pluralize$2('s'),\nss:pluralize$2('s'),\nm:pluralize$2('m'),\nmm:pluralize$2('m'),\nh:pluralize$2('h'),\nhh:pluralize$2('h'),\nd:pluralize$2('d'),\ndd:pluralize$2('d'),\nM:pluralize$2('M'),\nMM:pluralize$2('M'),\ny:pluralize$2('y'),\nyy:pluralize$2('y'),\n},\npreparse:function(string){\nreturnstring\n.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){\nreturnnumberMap$2[match];\n})\n.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap$3[match];\n})\n.replace(/,/g,'،');\n},\nweek:{\ndow:6,//Saturdayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsuffixes ={\n1:'-inci',\n5:'-inci',\n8:'-inci',\n70:'-inci',\n80:'-inci',\n2:'-nci',\n7:'-nci',\n20:'-nci',\n50:'-nci',\n3:'-üncü',\n4:'-üncü',\n100:'-üncü',\n6:'-ncı',\n9:'-uncu',\n10:'-uncu',\n30:'-uncu',\n60:'-ıncı',\n90:'-ıncı',\n};\n\nhooks.defineLocale('az',{\nmonths:'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n'_'\n),\nmonthsShort:'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\nweekdays:\n'Bazar_Bazarertəsi_Çərşənbəaxşamı_Çərşənbə_Cüməaxşamı_Cümə_Şənbə'.split(\n'_'\n),\nweekdaysShort:'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\nweekdaysMin:'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[bugünsaat]LT',\nnextDay:'[sabahsaat]LT',\nnextWeek:'[gələnhəftə]dddd[saat]LT',\nlastDay:'[dünən]LT',\nlastWeek:'[keçənhəftə]dddd[saat]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%ssonra',\npast:'%səvvəl',\ns:'birneçəsaniyə',\nss:'%dsaniyə',\nm:'birdəqiqə',\nmm:'%ddəqiqə',\nh:'birsaat',\nhh:'%dsaat',\nd:'birgün',\ndd:'%dgün',\nM:'biray',\nMM:'%day',\ny:'biril',\nyy:'%dil',\n},\nmeridiemParse:/gecə|səhər|gündüz|axşam/,\nisPM:function(input){\nreturn/^(gündüz|axşam)$/.test(input);\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<4){\nreturn'gecə';\n}elseif(hour<12){\nreturn'səhər';\n}elseif(hour<17){\nreturn'gündüz';\n}else{\nreturn'axşam';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\nordinal:function(number){\nif(number ===0){\n//specialcaseforzero\nreturnnumber+'-ıncı';\n}\nvara =number%10,\nb =(number%100)-a,\nc =number>= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10||num%100>= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n hooks.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'ночы';\n}elseif(hour<12){\nreturn'раніцы';\n}elseif(hour<17){\nreturn'дня';\n}else{\nreturn'вечара';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(і|ы|га)/,\nordinal:function(number,period){\nswitch(period){\ncase'M':\ncase'd':\ncase'DDD':\ncase'w':\ncase'W':\nreturn(number%10 ===2||number%10 ===3)&&\nnumber%100!==12&&\nnumber%100!==13\n?number+'-і'\n:number+'-ы';\ncase'D':\nreturnnumber+'-га';\ndefault:\nreturnnumber;\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('bg',{\nmonths:'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n'_'\n),\nmonthsShort:'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\nweekdays:'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n'_'\n),\nweekdaysShort:'нед_пон_вто_сря_чет_пет_съб'.split('_'),\nweekdaysMin:'нд_пн_вт_ср_чт_пт_сб'.split('_'),\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'D.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYH:mm',\nLLLL:'dddd,DMMMMYYYYH:mm',\n},\ncalendar:{\nsameDay:'[Днесв]LT',\nnextDay:'[Утрев]LT',\nnextWeek:'dddd[в]LT',\nlastDay:'[Вчерав]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\ncase3:\ncase6:\nreturn'[Миналата]dddd[в]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[Миналия]dddd[в]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'след%s',\npast:'преди%s',\ns:'няколкосекунди',\nss:'%dсекунди',\nm:'минута',\nmm:'%dминути',\nh:'час',\nhh:'%dчаса',\nd:'ден',\ndd:'%dдена',\nw:'седмица',\nww:'%dседмици',\nM:'месец',\nMM:'%dмесеца',\ny:'година',\nyy:'%dгодини',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\nordinal:function(number){\nvarlastDigit =number%10,\nlast2Digits =number%100;\nif(number ===0){\nreturnnumber+'-ев';\n}elseif(last2Digits ===0){\nreturnnumber+'-ен';\n}elseif(last2Digits> 10 && last2Digits < 20){\nreturnnumber+'-ти';\n}elseif(lastDigit ===1){\nreturnnumber+'-ви';\n}elseif(lastDigit ===2){\nreturnnumber+'-ри';\n}elseif(lastDigit ===7||lastDigit ===8){\nreturnnumber+'-ми';\n}else{\nreturnnumber+'-ти';\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('bm',{\nmonths:'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n'_'\n),\nmonthsShort:'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\nweekdays:'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\nweekdaysShort:'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\nweekdaysMin:'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'MMMM[tile]D[san]YYYY',\nLLL:'MMMM[tile]D[san]YYYY[lɛrɛ]HH:mm',\nLLLL:'ddddMMMM[tile]D[san]YYYY[lɛrɛ]HH:mm',\n},\ncalendar:{\nsameDay:'[Bilɛrɛ]LT',\nnextDay:'[Sinilɛrɛ]LT',\nnextWeek:'dddd[donlɛrɛ]LT',\nlastDay:'[Kunulɛrɛ]LT',\nlastWeek:'dddd[tɛmɛnenlɛrɛ]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%skɔnɔ',\npast:'abɛ%sbɔ',\ns:'sangadamadama',\nss:'sekondi%d',\nm:'minitikelen',\nmm:'miniti%d',\nh:'lɛrɛkelen',\nhh:'lɛrɛ%d',\nd:'tilekelen',\ndd:'tile%d',\nM:'kalokelen',\nMM:'kalo%d',\ny:'sankelen',\nyy:'san%d',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$4 ={\n1:'১',\n2:'২',\n3:'৩',\n4:'৪',\n5:'৫',\n6:'৬',\n7:'৭',\n8:'৮',\n9:'৯',\n0:'০',\n},\nnumberMap$3 ={\n'১':'1',\n'২':'2',\n'৩':'3',\n'৪':'4',\n'৫':'5',\n'৬':'6',\n'৭':'7',\n'৮':'8',\n'৯':'9',\n'০':'0',\n};\n\nhooks.defineLocale('bn-bd',{\nmonths:'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n'_'\n),\nmonthsShort:\n'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n'_'\n),\nweekdays:'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n'_'\n),\nweekdaysShort:'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\nweekdaysMin:'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\nlongDateFormat:{\nLT:'Ah:mmসময়',\nLTS:'Ah:mm:ssসময়',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mmসময়',\nLLLL:'dddd,DMMMMYYYY,Ah:mmসময়',\n},\ncalendar:{\nsameDay:'[আজ]LT',\nnextDay:'[আগামীকাল]LT',\nnextWeek:'dddd,LT',\nlastDay:'[গতকাল]LT',\nlastWeek:'[গত]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sপরে',\npast:'%sআগে',\ns:'কয়েকসেকেন্ড',\nss:'%dসেকেন্ড',\nm:'একমিনিট',\nmm:'%dমিনিট',\nh:'একঘন্টা',\nhh:'%dঘন্টা',\nd:'একদিন',\ndd:'%dদিন',\nM:'একমাস',\nMM:'%dমাস',\ny:'একবছর',\nyy:'%dবছর',\n},\npreparse:function(string){\nreturnstring.replace(/[১২৩৪৫৬৭৮৯০]/g,function(match){\nreturnnumberMap$3[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$4[match];\n});\n},\n\nmeridiemParse:/রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='রাত'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='ভোর'){\nreturnhour;\n}elseif(meridiem ==='সকাল'){\nreturnhour;\n}elseif(meridiem ==='দুপুর'){\nreturnhour>= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'রাত';\n}elseif(hour<6){\nreturn'ভোর';\n}elseif(hour<12){\nreturn'সকাল';\n}elseif(hour<15){\nreturn'দুপুর';\n}elseif(hour<18){\nreturn'বিকাল';\n}elseif(hour<20){\nreturn'সন্ধ্যা';\n}else{\nreturn'রাত';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$5 ={\n1:'১',\n2:'২',\n3:'৩',\n4:'৪',\n5:'৫',\n6:'৬',\n7:'৭',\n8:'৮',\n9:'৯',\n0:'০',\n},\nnumberMap$4 ={\n'১':'1',\n'২':'2',\n'৩':'3',\n'৪':'4',\n'৫':'5',\n'৬':'6',\n'৭':'7',\n'৮':'8',\n'৯':'9',\n'০':'0',\n};\n\nhooks.defineLocale('bn',{\nmonths:'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n'_'\n),\nmonthsShort:\n'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n'_'\n),\nweekdays:'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n'_'\n),\nweekdaysShort:'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\nweekdaysMin:'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\nlongDateFormat:{\nLT:'Ah:mmসময়',\nLTS:'Ah:mm:ssসময়',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mmসময়',\nLLLL:'dddd,DMMMMYYYY,Ah:mmসময়',\n},\ncalendar:{\nsameDay:'[আজ]LT',\nnextDay:'[আগামীকাল]LT',\nnextWeek:'dddd,LT',\nlastDay:'[গতকাল]LT',\nlastWeek:'[গত]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sপরে',\npast:'%sআগে',\ns:'কয়েকসেকেন্ড',\nss:'%dসেকেন্ড',\nm:'একমিনিট',\nmm:'%dমিনিট',\nh:'একঘন্টা',\nhh:'%dঘন্টা',\nd:'একদিন',\ndd:'%dদিন',\nM:'একমাস',\nMM:'%dমাস',\ny:'একবছর',\nyy:'%dবছর',\n},\npreparse:function(string){\nreturnstring.replace(/[১২৩৪৫৬৭৮৯০]/g,function(match){\nreturnnumberMap$4[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$5[match];\n});\n},\nmeridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(\n(meridiem ==='রাত'&&hour>= 4) ||\n (meridiem === 'দুপুর' && hour < 5)||\nmeridiem ==='বিকাল'\n){\nreturnhour+12;\n}else{\nreturnhour;\n}\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<4){\nreturn'রাত';\n}elseif(hour<10){\nreturn'সকাল';\n}elseif(hour<17){\nreturn'দুপুর';\n}elseif(hour<20){\nreturn'বিকাল';\n}else{\nreturn'রাত';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$6 ={\n1:'༡',\n2:'༢',\n3:'༣',\n4:'༤',\n5:'༥',\n6:'༦',\n7:'༧',\n8:'༨',\n9:'༩',\n0:'༠',\n},\nnumberMap$5 ={\n'༡':'1',\n'༢':'2',\n'༣':'3',\n'༤':'4',\n'༥':'5',\n'༦':'6',\n'༧':'7',\n'༨':'8',\n'༩':'9',\n'༠':'0',\n};\n\nhooks.defineLocale('bo',{\nmonths:'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n'_'\n),\nmonthsShort:\n'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n'_'\n),\nmonthsShortRegex:/^(ཟླ་\\d{1,2})/,\nmonthsParseExact:true,\nweekdays:\n'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n'_'\n),\nweekdaysShort:'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n'_'\n),\nweekdaysMin:'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\nlongDateFormat:{\nLT:'Ah:mm',\nLTS:'Ah:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mm',\nLLLL:'dddd,DMMMMYYYY,Ah:mm',\n},\ncalendar:{\nsameDay:'[དི་རིང]LT',\nnextDay:'[སང་ཉིན]LT',\nnextWeek:'[བདུན་ཕྲག་རྗེས་མ],LT',\nlastDay:'[ཁ་སང]LT',\nlastWeek:'[བདུན་ཕྲག་མཐའ་མ]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sལ་',\npast:'%sསྔན་ལ',\ns:'ལམ་སང',\nss:'%dསྐར་ཆ།',\nm:'སྐར་མ་གཅིག',\nmm:'%dསྐར་མ',\nh:'ཆུ་ཚོད་གཅིག',\nhh:'%dཆུ་ཚོད',\nd:'ཉིན་གཅིག',\ndd:'%dཉིན་',\nM:'ཟླ་བ་གཅིག',\nMM:'%dཟླ་བ',\ny:'ལོ་གཅིག',\nyy:'%dལོ',\n},\npreparse:function(string){\nreturnstring.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(match){\nreturnnumberMap$5[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$6[match];\n});\n},\nmeridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(\n(meridiem ==='མཚན་མོ'&&hour>= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5)||\nmeridiem ==='དགོང་དག'\n){\nreturnhour+12;\n}else{\nreturnhour;\n}\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<4){\nreturn'མཚན་མོ';\n}elseif(hour<10){\nreturn'ཞོགས་ཀས';\n}elseif(hour<17){\nreturn'ཉིན་གུང';\n}elseif(hour<20){\nreturn'དགོང་དག';\n}else{\nreturn'མཚན་མོ';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionrelativeTimeWithMutation(number,withoutSuffix,key){\nvarformat ={\nmm:'munutenn',\nMM:'miz',\ndd:'devezh',\n};\nreturnnumber+''+mutation(format[key],number);\n}\nfunctionspecialMutationForYears(number){\nswitch(lastNumber(number)){\ncase1:\ncase3:\ncase4:\ncase5:\ncase9:\nreturnnumber+'bloaz';\ndefault:\nreturnnumber+'vloaz';\n}\n}\nfunctionlastNumber(number){\nif(number> 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex$1 =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n hooks.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12?'a.m.':'g.m.';\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionprocessRelativeTime(number,withoutSuffix,key,isFuture){\nswitch(key){\ncase'm':\nreturnwithoutSuffix\n?'jednaminuta'\n:isFuture\n?'jednuminutu'\n:'jedneminute';\n}\n}\n\nfunctiontranslate(number,withoutSuffix,key){\nvarresult =number+'';\nswitch(key){\ncase'ss':\nif(number ===1){\nresult+='sekunda';\n}elseif(number ===2||number ===3||number ===4){\nresult+='sekunde';\n}else{\nresult+='sekundi';\n}\nreturnresult;\ncase'mm':\nif(number ===1){\nresult+='minuta';\n}elseif(number ===2||number ===3||number ===4){\nresult+='minute';\n}else{\nresult+='minuta';\n}\nreturnresult;\ncase'h':\nreturnwithoutSuffix?'jedansat':'jedansat';\ncase'hh':\nif(number ===1){\nresult+='sat';\n}elseif(number ===2||number ===3||number ===4){\nresult+='sata';\n}else{\nresult+='sati';\n}\nreturnresult;\ncase'dd':\nif(number ===1){\nresult+='dan';\n}else{\nresult+='dana';\n}\nreturnresult;\ncase'MM':\nif(number ===1){\nresult+='mjesec';\n}elseif(number ===2||number ===3||number ===4){\nresult+='mjeseca';\n}else{\nresult+='mjeseci';\n}\nreturnresult;\ncase'yy':\nif(number ===1){\nresult+='godina';\n}elseif(number ===2||number ===3||number ===4){\nresult+='godine';\n}else{\nresult+='godina';\n}\nreturnresult;\n}\n}\n\nhooks.defineLocale('bs',{\nmonths:'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n'_'\n),\nmonthsShort:\n'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n'_'\n),\nweekdaysShort:'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\nweekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYYH:mm',\nLLLL:'dddd,D.MMMMYYYYH:mm',\n},\ncalendar:{\nsameDay:'[danasu]LT',\nnextDay:'[sutrau]LT',\nnextWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[u][nedjelju][u]LT';\ncase3:\nreturn'[u][srijedu][u]LT';\ncase6:\nreturn'[u][subotu][u]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[u]dddd[u]LT';\n}\n},\nlastDay:'[jučeru]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\ncase3:\nreturn'[prošlu]dddd[u]LT';\ncase6:\nreturn'[prošle][subote][u]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[prošli]dddd[u]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'za%s',\npast:'prije%s',\ns:'parsekundi',\nss:translate,\nm:processRelativeTime,\nmm:translate,\nh:translate,\nhh:translate,\nd:'dan',\ndd:translate,\nM:'mjesec',\nMM:translate,\ny:'godinu',\nyy:translate,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ca',{\nmonths:{\nstandalone:\n'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n'_'\n),\nformat:\"degener_defebrer_demarç_d'abril_demaig_dejuny_dejuliol_d'agost_desetembre_d'octubre_denovembre_dedesembre\".split(\n'_'\n),\nisFormat:/D[oD]?(\\s)+MMMM/,\n},\nmonthsShort:\n'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:\n'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n'_'\n),\nweekdaysShort:'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\nweekdaysMin:'dg_dl_dt_dc_dj_dv_ds'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMM[de]YYYY',\nll:'DMMMYYYY',\nLLL:'DMMMM[de]YYYY[ales]H:mm',\nlll:'DMMMYYYY,H:mm',\nLLLL:'ddddDMMMM[de]YYYY[ales]H:mm',\nllll:'dddDMMMYYYY,H:mm',\n},\ncalendar:{\nsameDay:function(){\nreturn'[avuia'+(this.hours()!==1?'les':'la')+']LT';\n},\nnextDay:function(){\nreturn'[demàa'+(this.hours()!==1?'les':'la')+']LT';\n},\nnextWeek:function(){\nreturn'dddd[a'+(this.hours()!==1?'les':'la')+']LT';\n},\nlastDay:function(){\nreturn'[ahira'+(this.hours()!==1?'les':'la')+']LT';\n},\nlastWeek:function(){\nreturn(\n'[el]dddd[passata'+\n(this.hours()!==1?'les':'la')+\n']LT'\n);\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:\"d'aquí%s\",\npast:'fa%s',\ns:'unssegons',\nss:'%dsegons',\nm:'unminut',\nmm:'%dminuts',\nh:'unahora',\nhh:'%dhores',\nd:'undia',\ndd:'%ddies',\nM:'unmes',\nMM:'%dmesos',\ny:'unany',\nyy:'%danys',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(r|n|t|è|a)/,\nordinal:function(number,period){\nvaroutput =\nnumber ===1\n?'r'\n:number ===2\n?'n'\n:number ===3\n?'r'\n:number ===4\n?'t'\n:'è';\nif(period ==='w'||period ==='W'){\noutput ='a';\n}\nreturnnumber+output;\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonths$4 ={\nstandalone:\n'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n'_'\n),\nformat:'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n'_'\n),\nisFormat:/DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n},\nmonthsShort ='led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\nmonthsParse$1 =[\n/^led/i,\n/^úno/i,\n/^bře/i,\n/^dub/i,\n/^kvě/i,\n/^(čvn|červen$|června)/i,\n/^(čvc|červenec|července)/i,\n/^srp/i,\n/^zář/i,\n/^říj/i,\n/^lis/i,\n/^pro/i,\n],\n//NOTE:'červen'issubstringof'červenec';therefore'červenec'mustprecede'červen'intheregextobefullymatched.\n//Otherwiseparsermatches'1.červenec'as'1.červen'+'ec'.\nmonthsRegex$2 =\n/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\nfunctionplural$1(n){\nreturnn> 1 && n < 5&&~~(n/10)!==1;\n}\nfunctiontranslate$1(number,withoutSuffix,key,isFuture){\nvarresult =number+'';\nswitch(key){\ncase's'://afewseconds/inafewseconds/afewsecondsago\nreturnwithoutSuffix||isFuture?'pársekund':'pársekundami';\ncase'ss'://9seconds/in9seconds/9secondsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'sekundy':'sekund');\n}else{\nreturnresult+'sekundami';\n}\ncase'm'://aminute/inaminute/aminuteago\nreturnwithoutSuffix?'minuta':isFuture?'minutu':'minutou';\ncase'mm'://9minutes/in9minutes/9minutesago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'minuty':'minut');\n}else{\nreturnresult+'minutami';\n}\ncase'h'://anhour/inanhour/anhourago\nreturnwithoutSuffix?'hodina':isFuture?'hodinu':'hodinou';\ncase'hh'://9hours/in9hours/9hoursago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'hodiny':'hodin');\n}else{\nreturnresult+'hodinami';\n}\ncase'd'://aday/inaday/adayago\nreturnwithoutSuffix||isFuture?'den':'dnem';\ncase'dd'://9days/in9days/9daysago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'dny':'dní');\n}else{\nreturnresult+'dny';\n}\ncase'M'://amonth/inamonth/amonthago\nreturnwithoutSuffix||isFuture?'měsíc':'měsícem';\ncase'MM'://9months/in9months/9monthsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'měsíce':'měsíců');\n}else{\nreturnresult+'měsíci';\n}\ncase'y'://ayear/inayear/ayearago\nreturnwithoutSuffix||isFuture?'rok':'rokem';\ncase'yy'://9years/in9years/9yearsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$1(number)?'roky':'let');\n}else{\nreturnresult+'lety';\n}\n}\n}\n\nhooks.defineLocale('cs',{\nmonths:months$4,\nmonthsShort:monthsShort,\nmonthsRegex:monthsRegex$2,\nmonthsShortRegex:monthsRegex$2,\n//NOTE:'červen'issubstringof'červenec';therefore'červenec'mustprecede'červen'intheregextobefullymatched.\n//Otherwiseparsermatches'1.červenec'as'1.červen'+'ec'.\nmonthsStrictRegex:\n/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\nmonthsShortStrictRegex:\n/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\nmonthsParse:monthsParse$1,\nlongMonthsParse:monthsParse$1,\nshortMonthsParse:monthsParse$1,\nweekdays:'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\nweekdaysShort:'ne_po_út_st_čt_pá_so'.split('_'),\nweekdaysMin:'ne_po_út_st_čt_pá_so'.split('_'),\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYYH:mm',\nLLLL:'ddddD.MMMMYYYYH:mm',\nl:'D.M.YYYY',\n},\ncalendar:{\nsameDay:'[dnesv]LT',\nnextDay:'[zítrav]LT',\nnextWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[vneděliv]LT';\ncase1:\ncase2:\nreturn'[v]dddd[v]LT';\ncase3:\nreturn'[vestředuv]LT';\ncase4:\nreturn'[večtvrtekv]LT';\ncase5:\nreturn'[vpátekv]LT';\ncase6:\nreturn'[vsobotuv]LT';\n}\n},\nlastDay:'[včerav]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[minulouneděliv]LT';\ncase1:\ncase2:\nreturn'[minulé]dddd[v]LT';\ncase3:\nreturn'[minuloustředuv]LT';\ncase4:\ncase5:\nreturn'[minulý]dddd[v]LT';\ncase6:\nreturn'[minulousobotuv]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'za%s',\npast:'před%s',\ns:translate$1,\nss:translate$1,\nm:translate$1,\nmm:translate$1,\nh:translate$1,\nhh:translate$1,\nd:translate$1,\ndd:translate$1,\nM:translate$1,\nMM:translate$1,\ny:translate$1,\nyy:translate$1,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('cv',{\nmonths:'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n'_'\n),\nmonthsShort:'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\nweekdays:\n'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n'_'\n),\nweekdaysShort:'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\nweekdaysMin:'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD-MM-YYYY',\nLL:'YYYY[ҫулхи]MMMM[уйӑхӗн]D[-мӗшӗ]',\nLLL:'YYYY[ҫулхи]MMMM[уйӑхӗн]D[-мӗшӗ],HH:mm',\nLLLL:'dddd,YYYY[ҫулхи]MMMM[уйӑхӗн]D[-мӗшӗ],HH:mm',\n},\ncalendar:{\nsameDay:'[Паян]LT[сехетре]',\nnextDay:'[Ыран]LT[сехетре]',\nlastDay:'[Ӗнер]LT[сехетре]',\nnextWeek:'[Ҫитес]ddddLT[сехетре]',\nlastWeek:'[Иртнӗ]ddddLT[сехетре]',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:function(output){\nvaraffix =/сехет$/i.exec(output)\n?'рен'\n:/ҫул$/i.exec(output)\n?'тан'\n:'ран';\nreturnoutput+affix;\n},\npast:'%sкаялла',\ns:'пӗр-икҫеккунт',\nss:'%dҫеккунт',\nm:'пӗрминут',\nmm:'%dминут',\nh:'пӗрсехет',\nhh:'%dсехет',\nd:'пӗркун',\ndd:'%dкун',\nM:'пӗруйӑх',\nMM:'%dуйӑх',\ny:'пӗрҫул',\nyy:'%dҫул',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-мӗш/,\nordinal:'%d-мӗш',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('cy',{\nmonths:'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n'_'\n),\nmonthsShort:'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n'_'\n),\nweekdays:\n'DyddSul_DyddLlun_DyddMawrth_DyddMercher_DyddIau_DyddGwener_DyddSadwrn'.split(\n'_'\n),\nweekdaysShort:'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\nweekdaysMin:'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\nweekdaysParseExact:true,\n//timeformatsarethesameasen-gb\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Heddiwam]LT',\nnextDay:'[Yforyam]LT',\nnextWeek:'dddd[am]LT',\nlastDay:'[Ddoeam]LT',\nlastWeek:'dddd[diwethafam]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'mewn%s',\npast:'%synôl',\ns:'ychydigeiliadau',\nss:'%deiliad',\nm:'munud',\nmm:'%dmunud',\nh:'awr',\nhh:'%dawr',\nd:'diwrnod',\ndd:'%ddiwrnod',\nM:'mis',\nMM:'%dmis',\ny:'blwyddyn',\nyy:'%dflynedd',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n//traditionalordinalnumbersabove31arenotcommonlyusedincolloquialWelsh\nordinal:function(number){\nvarb =number,\noutput ='',\nlookup =[\n'',\n'af',\n'il',\n'ydd',\n'ydd',\n'ed',\n'ed',\n'ed',\n'fed',\n'fed',\n'fed',//1afto10fed\n'eg',\n'fed',\n'eg',\n'eg',\n'fed',\n'eg',\n'eg',\n'fed',\n'eg',\n'fed',//11egto20fed\n];\nif(b> 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$1,\n mm: '%d Minuten',\n h: processRelativeTime$1,\n hh: '%d Stunden',\n d: processRelativeTime$1,\n dd: processRelativeTime$1,\n w: processRelativeTime$1,\n ww: '%d Wochen',\n M: processRelativeTime$1,\n MM: processRelativeTime$1,\n y: processRelativeTime$1,\n yy: processRelativeTime$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$2,\n mm: '%d Minuten',\n h: processRelativeTime$2,\n hh: '%d Stunden',\n d: processRelativeTime$2,\n dd: processRelativeTime$2,\n w: processRelativeTime$2,\n ww: '%d Wochen',\n M: processRelativeTime$2,\n MM: processRelativeTime$2,\n y: processRelativeTime$2,\n yy: processRelativeTime$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$3,\n mm: '%d Minuten',\n h: processRelativeTime$3,\n hh: '%d Stunden',\n d: processRelativeTime$3,\n dd: processRelativeTime$3,\n w: processRelativeTime$3,\n ww: '%d Wochen',\n M: processRelativeTime$3,\n MM: processRelativeTime$3,\n y: processRelativeTime$3,\n yy: processRelativeTime$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$5 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n hooks.defineLocale('dv', {\n months: months$5,\n monthsShort: months$5,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'މކ';\n}else{\nreturn'މފ';\n}\n},\ncalendar:{\nsameDay:'[މިއަދު]LT',\nnextDay:'[މާދަމާ]LT',\nnextWeek:'ddddLT',\nlastDay:'[އިއްޔެ]LT',\nlastWeek:'[ފާއިތުވި]ddddLT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'ތެރޭގައި%s',\npast:'ކުރިން%s',\ns:'ސިކުންތުކޮޅެއް',\nss:'d%ސިކުންތު',\nm:'މިނިޓެއް',\nmm:'މިނިޓު%d',\nh:'ގަޑިއިރެއް',\nhh:'ގަޑިއިރު%d',\nd:'ދުވަހެއް',\ndd:'ދުވަސް%d',\nM:'މަހެއް',\nMM:'މަސް%d',\ny:'އަހަރެއް',\nyy:'އަހަރު%d',\n},\npreparse:function(string){\nreturnstring.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring.replace(/,/g,'،');\n},\nweek:{\ndow:7,//Sundayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionisFunction$1(input){\nreturn(\n(typeofFunction!=='undefined'&&inputinstanceofFunction)||\nObject.prototype.toString.call(input)==='[objectFunction]'\n);\n}\n\nhooks.defineLocale('el',{\nmonthsNominativeEl:\n'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n'_'\n),\nmonthsGenitiveEl:\n'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n'_'\n),\nmonths:function(momentToFormat,format){\nif(!momentToFormat){\nreturnthis._monthsNominativeEl;\n}elseif(\ntypeofformat ==='string'&&\n/D/.test(format.substring(0,format.indexOf('MMMM')))\n){\n//ifthereisadaynumberbefore'MMMM'\nreturnthis._monthsGenitiveEl[momentToFormat.month()];\n}else{\nreturnthis._monthsNominativeEl[momentToFormat.month()];\n}\n},\nmonthsShort:'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\nweekdays:'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n'_'\n),\nweekdaysShort:'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\nweekdaysMin:'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\nmeridiem:function(hours,minutes,isLower){\nif(hours> 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction$1(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$2 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$3 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$3 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$4 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$3,\n longMonthsParse: monthsParse$3,\n shortMonthsParse: monthsParse$3,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$4 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$5 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$4,\n longMonthsParse: monthsParse$4,\n shortMonthsParse: monthsParse$4,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$3 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$5 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$6 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$3;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$4[m.month()];\n } else {\n return monthsShortDot$3[m.month()];\n }\n },\n monthsRegex: monthsRegex$6,\n monthsShortRegex: monthsRegex$6,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$5,\n longMonthsParse: monthsParse$5,\n shortMonthsParse: monthsParse$5,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime$4,\n ss: processRelativeTime$4,\n m: processRelativeTime$4,\n mm: processRelativeTime$4,\n h: processRelativeTime$4,\n hh: processRelativeTime$4,\n d: processRelativeTime$4,\n dd: '%d päeva',\n M: processRelativeTime$4,\n MM: processRelativeTime$4,\n y: processRelativeTime$4,\n yy: processRelativeTime$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap$6 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n hooks.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'قبلازظهر';\n}else{\nreturn'بعدازظهر';\n}\n},\ncalendar:{\nsameDay:'[امروزساعت]LT',\nnextDay:'[فرداساعت]LT',\nnextWeek:'dddd[ساعت]LT',\nlastDay:'[دیروزساعت]LT',\nlastWeek:'dddd[پیش][ساعت]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'در%s',\npast:'%sپیش',\ns:'چندثانیه',\nss:'%dثانیه',\nm:'یکدقیقه',\nmm:'%dدقیقه',\nh:'یکساعت',\nhh:'%dساعت',\nd:'یکروز',\ndd:'%dروز',\nM:'یکماه',\nMM:'%dماه',\ny:'یکسال',\nyy:'%dسال',\n},\npreparse:function(string){\nreturnstring\n.replace(/[۰-۹]/g,function(match){\nreturnnumberMap$6[match];\n})\n.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap$7[match];\n})\n.replace(/,/g,'،');\n},\ndayOfMonthOrdinalParse:/\\d{1,2}م/,\nordinal:'%dم',\nweek:{\ndow:6,//Saturdayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarnumbersPast =\n'nollayksikaksikolmeneljäviisikuusiseitsemänkahdeksanyhdeksän'.split(\n''\n),\nnumbersFuture =[\n'nolla',\n'yhden',\n'kahden',\n'kolmen',\n'neljän',\n'viiden',\n'kuuden',\nnumbersPast[7],\nnumbersPast[8],\nnumbersPast[9],\n];\nfunctiontranslate$2(number,withoutSuffix,key,isFuture){\nvarresult ='';\nswitch(key){\ncase's':\nreturnisFuture?'muutamansekunnin':'muutamasekunti';\ncase'ss':\nresult =isFuture?'sekunnin':'sekuntia';\nbreak;\ncase'm':\nreturnisFuture?'minuutin':'minuutti';\ncase'mm':\nresult =isFuture?'minuutin':'minuuttia';\nbreak;\ncase'h':\nreturnisFuture?'tunnin':'tunti';\ncase'hh':\nresult =isFuture?'tunnin':'tuntia';\nbreak;\ncase'd':\nreturnisFuture?'päivän':'päivä';\ncase'dd':\nresult =isFuture?'päivän':'päivää';\nbreak;\ncase'M':\nreturnisFuture?'kuukauden':'kuukausi';\ncase'MM':\nresult =isFuture?'kuukauden':'kuukautta';\nbreak;\ncase'y':\nreturnisFuture?'vuoden':'vuosi';\ncase'yy':\nresult =isFuture?'vuoden':'vuotta';\nbreak;\n}\nresult =verbalNumber(number,isFuture)+''+result;\nreturnresult;\n}\nfunctionverbalNumber(number,isFuture){\nreturnnumber<10\n?isFuture\n?numbersFuture[number]\n:numbersPast[number]\n:number;\n}\n\nhooks.defineLocale('fi',{\nmonths:'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n'_'\n),\nmonthsShort:\n'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n'_'\n),\nweekdays:\n'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n'_'\n),\nweekdaysShort:'su_ma_ti_ke_to_pe_la'.split('_'),\nweekdaysMin:'su_ma_ti_ke_to_pe_la'.split('_'),\nlongDateFormat:{\nLT:'HH.mm',\nLTS:'HH.mm.ss',\nL:'DD.MM.YYYY',\nLL:'DoMMMM[ta]YYYY',\nLLL:'DoMMMM[ta]YYYY,[klo]HH.mm',\nLLLL:'dddd,DoMMMM[ta]YYYY,[klo]HH.mm',\nl:'D.M.YYYY',\nll:'DoMMMYYYY',\nlll:'DoMMMYYYY,[klo]HH.mm',\nllll:'ddd,DoMMMYYYY,[klo]HH.mm',\n},\ncalendar:{\nsameDay:'[tänään][klo]LT',\nnextDay:'[huomenna][klo]LT',\nnextWeek:'dddd[klo]LT',\nlastDay:'[eilen][klo]LT',\nlastWeek:'[viime]dddd[na][klo]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%späästä',\npast:'%ssitten',\ns:translate$2,\nss:translate$2,\nm:translate$2,\nmm:translate$2,\nh:translate$2,\nhh:translate$2,\nd:translate$2,\ndd:translate$2,\nM:translate$2,\nMM:translate$2,\ny:translate$2,\nyy:translate$2,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('fil',{\nmonths:'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n'_'\n),\nmonthsShort:'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\nweekdays:'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n'_'\n),\nweekdaysShort:'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\nweekdaysMin:'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'MM/D/YYYY',\nLL:'MMMMD,YYYY',\nLLL:'MMMMD,YYYYHH:mm',\nLLLL:'dddd,MMMMDD,YYYYHH:mm',\n},\ncalendar:{\nsameDay:'LT[ngayongaraw]',\nnextDay:'[Bukasng]LT',\nnextWeek:'LT[sasusunodna]dddd',\nlastDay:'LT[kahapon]',\nlastWeek:'LT[noongnakaraang]dddd',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'saloobng%s',\npast:'%sangnakalipas',\ns:'ilangsegundo',\nss:'%dsegundo',\nm:'isangminuto',\nmm:'%dminuto',\nh:'isangoras',\nhh:'%doras',\nd:'isangaraw',\ndd:'%daraw',\nM:'isangbuwan',\nMM:'%dbuwan',\ny:'isangtaon',\nyy:'%dtaon',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}/,\nordinal:function(number){\nreturnnumber;\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('fo',{\nmonths:'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n'_'\n),\nmonthsShort:'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\nweekdays:\n'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n'_'\n),\nweekdaysShort:'sun_mán_týs_mik_hós_frí_ley'.split('_'),\nweekdaysMin:'su_má_tý_mi_hó_fr_le'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddD.MMMM,YYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Ídagkl.]LT',\nnextDay:'[Ímorginkl.]LT',\nnextWeek:'dddd[kl.]LT',\nlastDay:'[Ígjárkl.]LT',\nlastWeek:'[síðstu]dddd[kl]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'um%s',\npast:'%ssíðani',\ns:'fásekund',\nss:'%dsekundir',\nm:'einminuttur',\nmm:'%dminuttir',\nh:'eintími',\nhh:'%dtímar',\nd:'eindagur',\ndd:'%ddagar',\nM:'einmánaður',\nMM:'%dmánaðir',\ny:'eittár',\nyy:'%dár',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('fr-ca',{\nmonths:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n'_'\n),\nmonthsShort:\n'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\nweekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\nweekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY-MM-DD',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Aujourd’huià]LT',\nnextDay:'[Demainà]LT',\nnextWeek:'dddd[à]LT',\nlastDay:'[Hierà]LT',\nlastWeek:'dddd[dernierà]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dans%s',\npast:'ilya%s',\ns:'quelquessecondes',\nss:'%dsecondes',\nm:'uneminute',\nmm:'%dminutes',\nh:'uneheure',\nhh:'%dheures',\nd:'unjour',\ndd:'%djours',\nM:'unmois',\nMM:'%dmois',\ny:'unan',\nyy:'%dans',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,\nordinal:function(number,period){\nswitch(period){\n//Wordswithmasculinegrammaticalgender:mois,trimestre,jour\ndefault:\ncase'M':\ncase'Q':\ncase'D':\ncase'DDD':\ncase'd':\nreturnnumber+(number ===1?'er':'e');\n\n//Wordswithfemininegrammaticalgender:semaine\ncase'w':\ncase'W':\nreturnnumber+(number ===1?'re':'e');\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('fr-ch',{\nmonths:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n'_'\n),\nmonthsShort:\n'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\nweekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\nweekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Aujourd’huià]LT',\nnextDay:'[Demainà]LT',\nnextWeek:'dddd[à]LT',\nlastDay:'[Hierà]LT',\nlastWeek:'dddd[dernierà]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dans%s',\npast:'ilya%s',\ns:'quelquessecondes',\nss:'%dsecondes',\nm:'uneminute',\nmm:'%dminutes',\nh:'uneheure',\nhh:'%dheures',\nd:'unjour',\ndd:'%djours',\nM:'unmois',\nMM:'%dmois',\ny:'unan',\nyy:'%dans',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,\nordinal:function(number,period){\nswitch(period){\n//Wordswithmasculinegrammaticalgender:mois,trimestre,jour\ndefault:\ncase'M':\ncase'Q':\ncase'D':\ncase'DDD':\ncase'd':\nreturnnumber+(number ===1?'er':'e');\n\n//Wordswithfemininegrammaticalgender:semaine\ncase'w':\ncase'W':\nreturnnumber+(number ===1?'re':'e');\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonthsStrictRegex$1 =\n/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\nmonthsShortStrictRegex$1 =\n/(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\nmonthsRegex$7 =\n/(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\nmonthsParse$6 =[\n/^janv/i,\n/^févr/i,\n/^mars/i,\n/^avr/i,\n/^mai/i,\n/^juin/i,\n/^juil/i,\n/^août/i,\n/^sept/i,\n/^oct/i,\n/^nov/i,\n/^déc/i,\n];\n\nhooks.defineLocale('fr',{\nmonths:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n'_'\n),\nmonthsShort:\n'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n'_'\n),\nmonthsRegex:monthsRegex$7,\nmonthsShortRegex:monthsRegex$7,\nmonthsStrictRegex:monthsStrictRegex$1,\nmonthsShortStrictRegex:monthsShortStrictRegex$1,\nmonthsParse:monthsParse$6,\nlongMonthsParse:monthsParse$6,\nshortMonthsParse:monthsParse$6,\nweekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\nweekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\nweekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Aujourd’huià]LT',\nnextDay:'[Demainà]LT',\nnextWeek:'dddd[à]LT',\nlastDay:'[Hierà]LT',\nlastWeek:'dddd[dernierà]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dans%s',\npast:'ilya%s',\ns:'quelquessecondes',\nss:'%dsecondes',\nm:'uneminute',\nmm:'%dminutes',\nh:'uneheure',\nhh:'%dheures',\nd:'unjour',\ndd:'%djours',\nw:'unesemaine',\nww:'%dsemaines',\nM:'unmois',\nMM:'%dmois',\ny:'unan',\nyy:'%dans',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(er|)/,\nordinal:function(number,period){\nswitch(period){\n//TODO:Return'e'whendayofmonth> 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n hooks.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$6 = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort$5 = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays$1 = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n hooks.defineLocale('ga', {\n months: months$6,\n monthsShort: monthsShort$5,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$7 = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort$6 = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays$2 = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n hooks.defineLocale('gd', {\n months: months$7,\n monthsShort: monthsShort$6,\n monthsParseExact: true,\n weekdays: weekdays$2,\n weekdaysShort: weekdaysShort$1,\n weekdaysMin: weekdaysMin$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime$5,\n ss: processRelativeTime$5,\n m: processRelativeTime$5,\n mm: processRelativeTime$5,\n h: processRelativeTime$5,\n hh: processRelativeTime$5,\n d: processRelativeTime$5,\n dd: processRelativeTime$5,\n M: processRelativeTime$5,\n MM: processRelativeTime$5,\n y: processRelativeTime$5,\n yy: processRelativeTime$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4?hour:hour+12;\n}elseif(meridiem ==='सकाळीं'){\nreturnhour;\n}elseif(meridiem ==='दनपारां'){\nreturnhour> 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'राती';\n}elseif(hour<12){\nreturn'सकाळीं';\n}elseif(hour<16){\nreturn'दनपारां';\n}elseif(hour<20){\nreturn'सांजे';\n}else{\nreturn'राती';\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionprocessRelativeTime$6(number,withoutSuffix,key,isFuture){\nvarformat ={\ns:['thoddeasekondamni','thoddesekond'],\nss:[number+'sekondamni',number+'sekond'],\nm:['ekamintan','ekminut'],\nmm:[number+'mintamni',number+'mintam'],\nh:['ekavoran','ekvor'],\nhh:[number+'voramni',number+'voram'],\nd:['ekadisan','ekdis'],\ndd:[number+'disamni',number+'dis'],\nM:['ekamhoinean','ekmhoino'],\nMM:[number+'mhoineamni',number+'mhoine'],\ny:['ekavorsan','ekvoros'],\nyy:[number+'vorsamni',number+'vorsam'],\n};\nreturnisFuture?format[key][0]:format[key][1];\n}\n\nhooks.defineLocale('gom-latn',{\nmonths:{\nstandalone:\n'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n'_'\n),\nformat:'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n'_'\n),\nisFormat:/MMMM(\\s)+D[oD]?/,\n},\nmonthsShort:\n'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\nmonthsParseExact:true,\nweekdays:\"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\nweekdaysShort:'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\nweekdaysMin:'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'Ah:mm[vazta]',\nLTS:'Ah:mm:ss[vazta]',\nL:'DD-MM-YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYAh:mm[vazta]',\nLLLL:'dddd,MMMMDo,YYYY,Ah:mm[vazta]',\nllll:'ddd,DMMMYYYY,Ah:mm[vazta]',\n},\ncalendar:{\nsameDay:'[Aiz]LT',\nnextDay:'[Faleam]LT',\nnextWeek:'[Fuddlo]dddd[,]LT',\nlastDay:'[Kal]LT',\nlastWeek:'[Fattlo]dddd[,]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%s',\npast:'%sadim',\ns:processRelativeTime$6,\nss:processRelativeTime$6,\nm:processRelativeTime$6,\nmm:processRelativeTime$6,\nh:processRelativeTime$6,\nhh:processRelativeTime$6,\nd:processRelativeTime$6,\ndd:processRelativeTime$6,\nM:processRelativeTime$6,\nMM:processRelativeTime$6,\ny:processRelativeTime$6,\nyy:processRelativeTime$6,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(er)/,\nordinal:function(number,period){\nswitch(period){\n//theordinal'er'onlyappliestodayofthemonth\ncase'D':\nreturnnumber+'er';\ndefault:\ncase'M':\ncase'Q':\ncase'DDD':\ncase'd':\ncase'w':\ncase'W':\nreturnnumber;\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek\ndoy:3,//TheweekthatcontainsJan4thisthefirstweekoftheyear(7+0-4)\n},\nmeridiemParse:/rati|sokallim|donparam|sanje/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='rati'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='sokallim'){\nreturnhour;\n}elseif(meridiem ==='donparam'){\nreturnhour> 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'rati';\n}elseif(hour<12){\nreturn'sokallim';\n}elseif(hour<16){\nreturn'donparam';\n}elseif(hour<20){\nreturn'sanje';\n}else{\nreturn'rati';\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$8 ={\n1:'૧',\n2:'૨',\n3:'૩',\n4:'૪',\n5:'૫',\n6:'૬',\n7:'૭',\n8:'૮',\n9:'૯',\n0:'૦',\n},\nnumberMap$7 ={\n'૧':'1',\n'૨':'2',\n'૩':'3',\n'૪':'4',\n'૫':'5',\n'૬':'6',\n'૭':'7',\n'૮':'8',\n'૯':'9',\n'૦':'0',\n};\n\nhooks.defineLocale('gu',{\nmonths:'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n'_'\n),\nmonthsShort:\n'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n'_'\n),\nweekdaysShort:'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\nweekdaysMin:'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\nlongDateFormat:{\nLT:'Ah:mmવાગ્યે',\nLTS:'Ah:mm:ssવાગ્યે',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mmવાગ્યે',\nLLLL:'dddd,DMMMMYYYY,Ah:mmવાગ્યે',\n},\ncalendar:{\nsameDay:'[આજ]LT',\nnextDay:'[કાલે]LT',\nnextWeek:'dddd,LT',\nlastDay:'[ગઇકાલે]LT',\nlastWeek:'[પાછલા]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sમા',\npast:'%sપહેલા',\ns:'અમુકપળો',\nss:'%dસેકંડ',\nm:'એકમિનિટ',\nmm:'%dમિનિટ',\nh:'એકકલાક',\nhh:'%dકલાક',\nd:'એકદિવસ',\ndd:'%dદિવસ',\nM:'એકમહિનો',\nMM:'%dમહિનો',\ny:'એકવર્ષ',\nyy:'%dવર્ષ',\n},\npreparse:function(string){\nreturnstring.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(match){\nreturnnumberMap$7[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$8[match];\n});\n},\n//Gujaratinotationformeridiemsarequitefuzzyinpractice.Whilethereexists\n//arigidnotionofa'Pahar'itisnotusedasrigidlyinmodernGujarati.\nmeridiemParse:/રાત|બપોર|સવાર|સાંજ/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='રાત'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='સવાર'){\nreturnhour;\n}elseif(meridiem ==='બપોર'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'રાત';\n}elseif(hour<10){\nreturn'સવાર';\n}elseif(hour<17){\nreturn'બપોર';\n}elseif(hour<20){\nreturn'સાંજ';\n}else{\nreturn'રાત';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('he',{\nmonths:'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n'_'\n),\nmonthsShort:\n'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\nweekdays:'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\nweekdaysShort:'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\nweekdaysMin:'א_ב_ג_ד_ה_ו_ש'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'D[ב]MMMMYYYY',\nLLL:'D[ב]MMMMYYYYHH:mm',\nLLLL:'dddd,D[ב]MMMMYYYYHH:mm',\nl:'D/M/YYYY',\nll:'DMMMYYYY',\nlll:'DMMMYYYYHH:mm',\nllll:'ddd,DMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[היוםב־]LT',\nnextDay:'[מחרב־]LT',\nnextWeek:'dddd[בשעה]LT',\nlastDay:'[אתמולב־]LT',\nlastWeek:'[ביום]dddd[האחרוןבשעה]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'בעוד%s',\npast:'לפני%s',\ns:'מספרשניות',\nss:'%dשניות',\nm:'דקה',\nmm:'%dדקות',\nh:'שעה',\nhh:function(number){\nif(number ===2){\nreturn'שעתיים';\n}\nreturnnumber+'שעות';\n},\nd:'יום',\ndd:function(number){\nif(number ===2){\nreturn'יומיים';\n}\nreturnnumber+'ימים';\n},\nM:'חודש',\nMM:function(number){\nif(number ===2){\nreturn'חודשיים';\n}\nreturnnumber+'חודשים';\n},\ny:'שנה',\nyy:function(number){\nif(number ===2){\nreturn'שנתיים';\n}elseif(number%10 ===0&&number!==10){\nreturnnumber+'שנה';\n}\nreturnnumber+'שנים';\n},\n},\nmeridiemParse:\n/אחה\"צ|לפנה\"צ|אחריהצהריים|לפניהצהריים|לפנותבוקר|בבוקר|בערב/i,\nisPM:function(input){\nreturn/^(אחה\"צ|אחריהצהריים|בערב)$/.test(input);\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<5){\nreturn'לפנותבוקר';\n}elseif(hour<10){\nreturn'בבוקר';\n}elseif(hour<12){\nreturnisLower?'לפנה\"צ':'לפניהצהריים';\n}elseif(hour<18){\nreturnisLower?'אחה\"צ':'אחריהצהריים';\n}else{\nreturn'בערב';\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$9 ={\n1:'१',\n2:'२',\n3:'३',\n4:'४',\n5:'५',\n6:'६',\n7:'७',\n8:'८',\n9:'९',\n0:'०',\n},\nnumberMap$8 ={\n'१':'1',\n'२':'2',\n'३':'3',\n'४':'4',\n'५':'5',\n'६':'6',\n'७':'7',\n'८':'8',\n'९':'9',\n'०':'0',\n},\nmonthsParse$7 =[\n/^जन/i,\n/^फ़र|फर/i,\n/^मार्च/i,\n/^अप्रै/i,\n/^मई/i,\n/^जून/i,\n/^जुल/i,\n/^अग/i,\n/^सितं|सित/i,\n/^अक्टू/i,\n/^नव|नवं/i,\n/^दिसं|दिस/i,\n],\nshortMonthsParse =[\n/^जन/i,\n/^फ़र/i,\n/^मार्च/i,\n/^अप्रै/i,\n/^मई/i,\n/^जून/i,\n/^जुल/i,\n/^अग/i,\n/^सित/i,\n/^अक्टू/i,\n/^नव/i,\n/^दिस/i,\n];\n\nhooks.defineLocale('hi',{\nmonths:{\nformat:'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n'_'\n),\nstandalone:\n'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n'_'\n),\n},\nmonthsShort:\n'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\nweekdays:'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\nweekdaysShort:'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\nweekdaysMin:'र_सो_मं_बु_गु_शु_श'.split('_'),\nlongDateFormat:{\nLT:'Ah:mmबजे',\nLTS:'Ah:mm:ssबजे',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mmबजे',\nLLLL:'dddd,DMMMMYYYY,Ah:mmबजे',\n},\n\nmonthsParse:monthsParse$7,\nlongMonthsParse:monthsParse$7,\nshortMonthsParse:shortMonthsParse,\n\nmonthsRegex:\n/^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\nmonthsShortRegex:\n/^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\nmonthsStrictRegex:\n/^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\nmonthsShortStrictRegex:\n/^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\ncalendar:{\nsameDay:'[आज]LT',\nnextDay:'[कल]LT',\nnextWeek:'dddd,LT',\nlastDay:'[कल]LT',\nlastWeek:'[पिछले]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sमें',\npast:'%sपहले',\ns:'कुछहीक्षण',\nss:'%dसेकंड',\nm:'एकमिनट',\nmm:'%dमिनट',\nh:'एकघंटा',\nhh:'%dघंटे',\nd:'एकदिन',\ndd:'%dदिन',\nM:'एकमहीने',\nMM:'%dमहीने',\ny:'एकवर्ष',\nyy:'%dवर्ष',\n},\npreparse:function(string){\nreturnstring.replace(/[१२३४५६७८९०]/g,function(match){\nreturnnumberMap$8[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$9[match];\n});\n},\n//Hindinotationformeridiemsarequitefuzzyinpractice.Whilethereexists\n//arigidnotionofa'Pahar'itisnotusedasrigidlyinmodernHindi.\nmeridiemParse:/रात|सुबह|दोपहर|शाम/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='रात'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='सुबह'){\nreturnhour;\n}elseif(meridiem ==='दोपहर'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'रात';\n}elseif(hour<10){\nreturn'सुबह';\n}elseif(hour<17){\nreturn'दोपहर';\n}elseif(hour<20){\nreturn'शाम';\n}else{\nreturn'रात';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctiontranslate$3(number,withoutSuffix,key){\nvarresult =number+'';\nswitch(key){\ncase'ss':\nif(number ===1){\nresult+='sekunda';\n}elseif(number ===2||number ===3||number ===4){\nresult+='sekunde';\n}else{\nresult+='sekundi';\n}\nreturnresult;\ncase'm':\nreturnwithoutSuffix?'jednaminuta':'jedneminute';\ncase'mm':\nif(number ===1){\nresult+='minuta';\n}elseif(number ===2||number ===3||number ===4){\nresult+='minute';\n}else{\nresult+='minuta';\n}\nreturnresult;\ncase'h':\nreturnwithoutSuffix?'jedansat':'jednogsata';\ncase'hh':\nif(number ===1){\nresult+='sat';\n}elseif(number ===2||number ===3||number ===4){\nresult+='sata';\n}else{\nresult+='sati';\n}\nreturnresult;\ncase'dd':\nif(number ===1){\nresult+='dan';\n}else{\nresult+='dana';\n}\nreturnresult;\ncase'MM':\nif(number ===1){\nresult+='mjesec';\n}elseif(number ===2||number ===3||number ===4){\nresult+='mjeseca';\n}else{\nresult+='mjeseci';\n}\nreturnresult;\ncase'yy':\nif(number ===1){\nresult+='godina';\n}elseif(number ===2||number ===3||number ===4){\nresult+='godine';\n}else{\nresult+='godina';\n}\nreturnresult;\n}\n}\n\nhooks.defineLocale('hr',{\nmonths:{\nformat:'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n'_'\n),\nstandalone:\n'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n'_'\n),\n},\nmonthsShort:\n'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n'_'\n),\nweekdaysShort:'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\nweekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DoMMMMYYYY',\nLLL:'DoMMMMYYYYH:mm',\nLLLL:'dddd,DoMMMMYYYYH:mm',\n},\ncalendar:{\nsameDay:'[danasu]LT',\nnextDay:'[sutrau]LT',\nnextWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[u][nedjelju][u]LT';\ncase3:\nreturn'[u][srijedu][u]LT';\ncase6:\nreturn'[u][subotu][u]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[u]dddd[u]LT';\n}\n},\nlastDay:'[jučeru]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[prošlu][nedjelju][u]LT';\ncase3:\nreturn'[prošlu][srijedu][u]LT';\ncase6:\nreturn'[prošle][subote][u]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[prošli]dddd[u]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'za%s',\npast:'prije%s',\ns:'parsekundi',\nss:translate$3,\nm:translate$3,\nmm:translate$3,\nh:translate$3,\nhh:translate$3,\nd:'dan',\ndd:translate$3,\nM:'mjesec',\nMM:translate$3,\ny:'godinu',\nyy:translate$3,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarweekEndings =\n'vasárnaphétfőnkeddenszerdáncsütörtökönpéntekenszombaton'.split('');\nfunctiontranslate$4(number,withoutSuffix,key,isFuture){\nvarnum =number;\nswitch(key){\ncase's':\nreturnisFuture||withoutSuffix\n?'néhánymásodperc'\n:'néhánymásodperce';\ncase'ss':\nreturnnum+(isFuture||withoutSuffix)\n?'másodperc'\n:'másodperce';\ncase'm':\nreturn'egy'+(isFuture||withoutSuffix?'perc':'perce');\ncase'mm':\nreturnnum+(isFuture||withoutSuffix?'perc':'perce');\ncase'h':\nreturn'egy'+(isFuture||withoutSuffix?'óra':'órája');\ncase'hh':\nreturnnum+(isFuture||withoutSuffix?'óra':'órája');\ncase'd':\nreturn'egy'+(isFuture||withoutSuffix?'nap':'napja');\ncase'dd':\nreturnnum+(isFuture||withoutSuffix?'nap':'napja');\ncase'M':\nreturn'egy'+(isFuture||withoutSuffix?'hónap':'hónapja');\ncase'MM':\nreturnnum+(isFuture||withoutSuffix?'hónap':'hónapja');\ncase'y':\nreturn'egy'+(isFuture||withoutSuffix?'év':'éve');\ncase'yy':\nreturnnum+(isFuture||withoutSuffix?'év':'éve');\n}\nreturn'';\n}\nfunctionweek(isFuture){\nreturn(\n(isFuture?'':'[múlt]')+\n'['+\nweekEndings[this.day()]+\n']LT[-kor]'\n);\n}\n\nhooks.defineLocale('hu',{\nmonths:'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n'_'\n),\nmonthsShort:\n'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\nweekdaysShort:'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\nweekdaysMin:'v_h_k_sze_cs_p_szo'.split('_'),\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'YYYY.MM.DD.',\nLL:'YYYY.MMMMD.',\nLLL:'YYYY.MMMMD.H:mm',\nLLLL:'YYYY.MMMMD.,ddddH:mm',\n},\nmeridiemParse:/de|du/i,\nisPM:function(input){\nreturninput.charAt(1).toLowerCase()==='u';\n},\nmeridiem:function(hours,minutes,isLower){\nif(hours<12){\nreturnisLower ===true?'de':'DE';\n}else{\nreturnisLower ===true?'du':'DU';\n}\n},\ncalendar:{\nsameDay:'[ma]LT[-kor]',\nnextDay:'[holnap]LT[-kor]',\nnextWeek:function(){\nreturnweek.call(this,true);\n},\nlastDay:'[tegnap]LT[-kor]',\nlastWeek:function(){\nreturnweek.call(this,false);\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%smúlva',\npast:'%s',\ns:translate$4,\nss:translate$4,\nm:translate$4,\nmm:translate$4,\nh:translate$4,\nhh:translate$4,\nd:translate$4,\ndd:translate$4,\nM:translate$4,\nMM:translate$4,\ny:translate$4,\nyy:translate$4,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('hy-am',{\nmonths:{\nformat:'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n'_'\n),\nstandalone:\n'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n'_'\n),\n},\nmonthsShort:'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\nweekdays:\n'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n'_'\n),\nweekdaysShort:'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\nweekdaysMin:'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYYթ.',\nLLL:'DMMMMYYYYթ.,HH:mm',\nLLLL:'dddd,DMMMMYYYYթ.,HH:mm',\n},\ncalendar:{\nsameDay:'[այսօր]LT',\nnextDay:'[վաղը]LT',\nlastDay:'[երեկ]LT',\nnextWeek:function(){\nreturn'dddd[օրըժամը]LT';\n},\nlastWeek:function(){\nreturn'[անցած]dddd[օրըժամը]LT';\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sհետո',\npast:'%sառաջ',\ns:'միքանիվայրկյան',\nss:'%dվայրկյան',\nm:'րոպե',\nmm:'%dրոպե',\nh:'ժամ',\nhh:'%dժամ',\nd:'օր',\ndd:'%dօր',\nM:'ամիս',\nMM:'%dամիս',\ny:'տարի',\nyy:'%dտարի',\n},\nmeridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\nisPM:function(input){\nreturn/^(ցերեկվա|երեկոյան)$/.test(input);\n},\nmeridiem:function(hour){\nif(hour<4){\nreturn'գիշերվա';\n}elseif(hour<12){\nreturn'առավոտվա';\n}elseif(hour<17){\nreturn'ցերեկվա';\n}else{\nreturn'երեկոյան';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}|\\d{1,2}-(ին|րդ)/,\nordinal:function(number,period){\nswitch(period){\ncase'DDD':\ncase'w':\ncase'W':\ncase'DDDo':\nif(number ===1){\nreturnnumber+'-ին';\n}\nreturnnumber+'-րդ';\ndefault:\nreturnnumber;\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('id',{\nmonths:'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n'_'\n),\nmonthsShort:'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\nweekdays:'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\nweekdaysShort:'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\nweekdaysMin:'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\nlongDateFormat:{\nLT:'HH.mm',\nLTS:'HH.mm.ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY[pukul]HH.mm',\nLLLL:'dddd,DMMMMYYYY[pukul]HH.mm',\n},\nmeridiemParse:/pagi|siang|sore|malam/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='pagi'){\nreturnhour;\n}elseif(meridiem ==='siang'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11){\nreturn'pagi';\n}elseif(hours<15){\nreturn'siang';\n}elseif(hours<19){\nreturn'sore';\n}else{\nreturn'malam';\n}\n},\ncalendar:{\nsameDay:'[Hariinipukul]LT',\nnextDay:'[Besokpukul]LT',\nnextWeek:'dddd[pukul]LT',\nlastDay:'[Kemarinpukul]LT',\nlastWeek:'dddd[lalupukul]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dalam%s',\npast:'%syanglalu',\ns:'beberapadetik',\nss:'%ddetik',\nm:'semenit',\nmm:'%dmenit',\nh:'sejam',\nhh:'%djam',\nd:'sehari',\ndd:'%dhari',\nM:'sebulan',\nMM:'%dbulan',\ny:'setahun',\nyy:'%dtahun',\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionplural$2(n){\nif(n%100 ===11){\nreturntrue;\n}elseif(n%10 ===1){\nreturnfalse;\n}\nreturntrue;\n}\nfunctiontranslate$5(number,withoutSuffix,key,isFuture){\nvarresult =number+'';\nswitch(key){\ncase's':\nreturnwithoutSuffix||isFuture\n?'nokkrarsekúndur'\n:'nokkrumsekúndum';\ncase'ss':\nif(plural$2(number)){\nreturn(\nresult+\n(withoutSuffix||isFuture?'sekúndur':'sekúndum')\n);\n}\nreturnresult+'sekúnda';\ncase'm':\nreturnwithoutSuffix?'mínúta':'mínútu';\ncase'mm':\nif(plural$2(number)){\nreturn(\nresult+(withoutSuffix||isFuture?'mínútur':'mínútum')\n);\n}elseif(withoutSuffix){\nreturnresult+'mínúta';\n}\nreturnresult+'mínútu';\ncase'hh':\nif(plural$2(number)){\nreturn(\nresult+\n(withoutSuffix||isFuture\n?'klukkustundir'\n:'klukkustundum')\n);\n}\nreturnresult+'klukkustund';\ncase'd':\nif(withoutSuffix){\nreturn'dagur';\n}\nreturnisFuture?'dag':'degi';\ncase'dd':\nif(plural$2(number)){\nif(withoutSuffix){\nreturnresult+'dagar';\n}\nreturnresult+(isFuture?'daga':'dögum');\n}elseif(withoutSuffix){\nreturnresult+'dagur';\n}\nreturnresult+(isFuture?'dag':'degi');\ncase'M':\nif(withoutSuffix){\nreturn'mánuður';\n}\nreturnisFuture?'mánuð':'mánuði';\ncase'MM':\nif(plural$2(number)){\nif(withoutSuffix){\nreturnresult+'mánuðir';\n}\nreturnresult+(isFuture?'mánuði':'mánuðum');\n}elseif(withoutSuffix){\nreturnresult+'mánuður';\n}\nreturnresult+(isFuture?'mánuð':'mánuði');\ncase'y':\nreturnwithoutSuffix||isFuture?'ár':'ári';\ncase'yy':\nif(plural$2(number)){\nreturnresult+(withoutSuffix||isFuture?'ár':'árum');\n}\nreturnresult+(withoutSuffix||isFuture?'ár':'ári');\n}\n}\n\nhooks.defineLocale('is',{\nmonths:'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n'_'\n),\nmonthsShort:'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\nweekdays:\n'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n'_'\n),\nweekdaysShort:'sun_mán_þri_mið_fim_fös_lau'.split('_'),\nweekdaysMin:'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYY[kl.]H:mm',\nLLLL:'dddd,D.MMMMYYYY[kl.]H:mm',\n},\ncalendar:{\nsameDay:'[ídagkl.]LT',\nnextDay:'[ámorgunkl.]LT',\nnextWeek:'dddd[kl.]LT',\nlastDay:'[ígærkl.]LT',\nlastWeek:'[síðasta]dddd[kl.]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'eftir%s',\npast:'fyrir%ssíðan',\ns:translate$5,\nss:translate$5,\nm:translate$5,\nmm:translate$5,\nh:'klukkustund',\nhh:translate$5,\nd:translate$5,\ndd:translate$5,\nM:translate$5,\nMM:translate$5,\ny:translate$5,\nyy:translate$5,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('it-ch',{\nmonths:'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n'_'\n),\nmonthsShort:'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\nweekdays:'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n'_'\n),\nweekdaysShort:'dom_lun_mar_mer_gio_ven_sab'.split('_'),\nweekdaysMin:'do_lu_ma_me_gi_ve_sa'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Oggialle]LT',\nnextDay:'[Domanialle]LT',\nnextWeek:'dddd[alle]LT',\nlastDay:'[Ierialle]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[lascorsa]dddd[alle]LT';\ndefault:\nreturn'[loscorso]dddd[alle]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:function(s){\nreturn(/^[0-9].+$/.test(s)?'tra':'in')+''+s;\n},\npast:'%sfa',\ns:'alcunisecondi',\nss:'%dsecondi',\nm:'unminuto',\nmm:'%dminuti',\nh:\"un'ora\",\nhh:'%dore',\nd:'ungiorno',\ndd:'%dgiorni',\nM:'unmese',\nMM:'%dmesi',\ny:'unanno',\nyy:'%danni',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}º/,\nordinal:'%dº',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('it',{\nmonths:'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n'_'\n),\nmonthsShort:'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\nweekdays:'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n'_'\n),\nweekdaysShort:'dom_lun_mar_mer_gio_ven_sab'.split('_'),\nweekdaysMin:'do_lu_ma_me_gi_ve_sa'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:function(){\nreturn(\n'[Oggia'+\n(this.hours()> 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'午前';\n}else{\nreturn'午後';\n}\n},\ncalendar:{\nsameDay:'[今日]LT',\nnextDay:'[明日]LT',\nnextWeek:function(now){\nif(now.week()!==this.week()){\nreturn'[来週]ddddLT';\n}else{\nreturn'ddddLT';\n}\n},\nlastDay:'[昨日]LT',\nlastWeek:function(now){\nif(this.week()!==now.week()){\nreturn'[先週]ddddLT';\n}else{\nreturn'ddddLT';\n}\n},\nsameElse:'L',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}日/,\nordinal:function(number,period){\nswitch(period){\ncase'y':\nreturnnumber ===1?'元年':number+'年';\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'日';\ndefault:\nreturnnumber;\n}\n},\nrelativeTime:{\nfuture:'%s後',\npast:'%s前',\ns:'数秒',\nss:'%d秒',\nm:'1分',\nmm:'%d分',\nh:'1時間',\nhh:'%d時間',\nd:'1日',\ndd:'%d日',\nM:'1ヶ月',\nMM:'%dヶ月',\ny:'1年',\nyy:'%d年',\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('jv',{\nmonths:'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n'_'\n),\nmonthsShort:'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\nweekdays:'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\nweekdaysShort:'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\nweekdaysMin:'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\nlongDateFormat:{\nLT:'HH.mm',\nLTS:'HH.mm.ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY[pukul]HH.mm',\nLLLL:'dddd,DMMMMYYYY[pukul]HH.mm',\n},\nmeridiemParse:/enjing|siyang|sonten|ndalu/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='enjing'){\nreturnhour;\n}elseif(meridiem ==='siyang'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11){\nreturn'enjing';\n}elseif(hours<15){\nreturn'siyang';\n}elseif(hours<19){\nreturn'sonten';\n}else{\nreturn'ndalu';\n}\n},\ncalendar:{\nsameDay:'[Dintenpunikopukul]LT',\nnextDay:'[Mbenjangpukul]LT',\nnextWeek:'dddd[pukul]LT',\nlastDay:'[Kalawingipukul]LT',\nlastWeek:'dddd[kepengkerpukul]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'wontening%s',\npast:'%singkangkepengker',\ns:'sawetawisdetik',\nss:'%ddetik',\nm:'setunggalmenit',\nmm:'%dmenit',\nh:'setunggaljam',\nhh:'%djam',\nd:'sedinten',\ndd:'%ddinten',\nM:'sewulan',\nMM:'%dwulan',\ny:'setaun',\nyy:'%dtaun',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ka',{\nmonths:'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n'_'\n),\nmonthsShort:'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\nweekdays:{\nstandalone:\n'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n'_'\n),\nformat:'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n'_'\n),\nisFormat:/(წინა|შემდეგ)/,\n},\nweekdaysShort:'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\nweekdaysMin:'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[დღეს]LT[-ზე]',\nnextDay:'[ხვალ]LT[-ზე]',\nlastDay:'[გუშინ]LT[-ზე]',\nnextWeek:'[შემდეგ]ddddLT[-ზე]',\nlastWeek:'[წინა]ddddLT-ზე',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:function(s){\nreturns.replace(\n/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\nfunction($0,$1,$2){\nreturn$2 ==='ი'?$1+'ში':$1+$2+'ში';\n}\n);\n},\npast:function(s){\nif(/(წამი|წუთი|საათი|დღე|თვე)/.test(s)){\nreturns.replace(/(ი|ე)$/,'ისწინ');\n}\nif(/წელი/.test(s)){\nreturns.replace(/წელი$/,'წლისწინ');\n}\nreturns;\n},\ns:'რამდენიმეწამი',\nss:'%dწამი',\nm:'წუთი',\nmm:'%dწუთი',\nh:'საათი',\nhh:'%dსაათი',\nd:'დღე',\ndd:'%dდღე',\nM:'თვე',\nMM:'%dთვე',\ny:'წელი',\nyy:'%dწელი',\n},\ndayOfMonthOrdinalParse:/0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\nordinal:function(number){\nif(number ===0){\nreturnnumber;\n}\nif(number ===1){\nreturnnumber+'-ლი';\n}\nif(\nnumber<20||\n(number<=100&&number%20 ===0)||\nnumber%100 ===0\n){\nreturn'მე-'+number;\n}\nreturnnumber+'-ე';\n},\nweek:{\ndow:1,\ndoy:7,\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsuffixes$1 ={\n0:'-ші',\n1:'-ші',\n2:'-ші',\n3:'-ші',\n4:'-ші',\n5:'-ші',\n6:'-шы',\n7:'-ші',\n8:'-ші',\n9:'-шы',\n10:'-шы',\n20:'-шы',\n30:'-шы',\n40:'-шы',\n50:'-ші',\n60:'-шы',\n70:'-ші',\n80:'-ші',\n90:'-шы',\n100:'-ші',\n};\n\nhooks.defineLocale('kk',{\nmonths:'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n'_'\n),\nmonthsShort:'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\nweekdays:'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n'_'\n),\nweekdaysShort:'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\nweekdaysMin:'жк_дй_сй_ср_бй_жм_сн'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Бүгінсағат]LT',\nnextDay:'[Ертеңсағат]LT',\nnextWeek:'dddd[сағат]LT',\nlastDay:'[Кешесағат]LT',\nlastWeek:'[Өткенаптаның]dddd[сағат]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sішінде',\npast:'%sбұрын',\ns:'бірнешесекунд',\nss:'%dсекунд',\nm:'бірминут',\nmm:'%dминут',\nh:'бірсағат',\nhh:'%dсағат',\nd:'біркүн',\ndd:'%dкүн',\nM:'бірай',\nMM:'%dай',\ny:'біржыл',\nyy:'%dжыл',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(ші|шы)/,\nordinal:function(number){\nvara =number%10,\nb =number>= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap$9 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n hooks.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ព្រឹក';\n}else{\nreturn'ល្ងាច';\n}\n},\ncalendar:{\nsameDay:'[ថ្ងៃនេះម៉ោង]LT',\nnextDay:'[ស្អែកម៉ោង]LT',\nnextWeek:'dddd[ម៉ោង]LT',\nlastDay:'[ម្សិលមិញម៉ោង]LT',\nlastWeek:'dddd[សប្តាហ៍មុន][ម៉ោង]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sទៀត',\npast:'%sមុន',\ns:'ប៉ុន្មានវិនាទី',\nss:'%dវិនាទី',\nm:'មួយនាទី',\nmm:'%dនាទី',\nh:'មួយម៉ោង',\nhh:'%dម៉ោង',\nd:'មួយថ្ងៃ',\ndd:'%dថ្ងៃ',\nM:'មួយខែ',\nMM:'%dខែ',\ny:'មួយឆ្នាំ',\nyy:'%dឆ្នាំ',\n},\ndayOfMonthOrdinalParse:/ទី\\d{1,2}/,\nordinal:'ទី%d',\npreparse:function(string){\nreturnstring.replace(/[១២៣៤៥៦៧៨៩០]/g,function(match){\nreturnnumberMap$9[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$a[match];\n});\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$b ={\n1:'೧',\n2:'೨',\n3:'೩',\n4:'೪',\n5:'೫',\n6:'೬',\n7:'೭',\n8:'೮',\n9:'೯',\n0:'೦',\n},\nnumberMap$a ={\n'೧':'1',\n'೨':'2',\n'೩':'3',\n'೪':'4',\n'೫':'5',\n'೬':'6',\n'೭':'7',\n'೮':'8',\n'೯':'9',\n'೦':'0',\n};\n\nhooks.defineLocale('kn',{\nmonths:'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n'_'\n),\nmonthsShort:\n'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n'_'\n),\nweekdaysShort:'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\nweekdaysMin:'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\nlongDateFormat:{\nLT:'Ah:mm',\nLTS:'Ah:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mm',\nLLLL:'dddd,DMMMMYYYY,Ah:mm',\n},\ncalendar:{\nsameDay:'[ಇಂದು]LT',\nnextDay:'[ನಾಳೆ]LT',\nnextWeek:'dddd,LT',\nlastDay:'[ನಿನ್ನೆ]LT',\nlastWeek:'[ಕೊನೆಯ]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sನಂತರ',\npast:'%sಹಿಂದೆ',\ns:'ಕೆಲವುಕ್ಷಣಗಳು',\nss:'%dಸೆಕೆಂಡುಗಳು',\nm:'ಒಂದುನಿಮಿಷ',\nmm:'%dನಿಮಿಷ',\nh:'ಒಂದುಗಂಟೆ',\nhh:'%dಗಂಟೆ',\nd:'ಒಂದುದಿನ',\ndd:'%dದಿನ',\nM:'ಒಂದುತಿಂಗಳು',\nMM:'%dತಿಂಗಳು',\ny:'ಒಂದುವರ್ಷ',\nyy:'%dವರ್ಷ',\n},\npreparse:function(string){\nreturnstring.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(match){\nreturnnumberMap$a[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$b[match];\n});\n},\nmeridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='ರಾತ್ರಿ'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='ಬೆಳಿಗ್ಗೆ'){\nreturnhour;\n}elseif(meridiem ==='ಮಧ್ಯಾಹ್ನ'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'ರಾತ್ರಿ';\n}elseif(hour<10){\nreturn'ಬೆಳಿಗ್ಗೆ';\n}elseif(hour<17){\nreturn'ಮಧ್ಯಾಹ್ನ';\n}elseif(hour<20){\nreturn'ಸಂಜೆ';\n}else{\nreturn'ರಾತ್ರಿ';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(ನೇ)/,\nordinal:function(number){\nreturnnumber+'ನೇ';\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ko',{\nmonths:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\nmonthsShort:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n'_'\n),\nweekdays:'일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\nweekdaysShort:'일_월_화_수_목_금_토'.split('_'),\nweekdaysMin:'일_월_화_수_목_금_토'.split('_'),\nlongDateFormat:{\nLT:'Ah:mm',\nLTS:'Ah:mm:ss',\nL:'YYYY.MM.DD.',\nLL:'YYYY년MMMMD일',\nLLL:'YYYY년MMMMD일Ah:mm',\nLLLL:'YYYY년MMMMD일ddddAh:mm',\nl:'YYYY.MM.DD.',\nll:'YYYY년MMMMD일',\nlll:'YYYY년MMMMD일Ah:mm',\nllll:'YYYY년MMMMD일ddddAh:mm',\n},\ncalendar:{\nsameDay:'오늘LT',\nnextDay:'내일LT',\nnextWeek:'ddddLT',\nlastDay:'어제LT',\nlastWeek:'지난주ddddLT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%s후',\npast:'%s전',\ns:'몇초',\nss:'%d초',\nm:'1분',\nmm:'%d분',\nh:'한시간',\nhh:'%d시간',\nd:'하루',\ndd:'%d일',\nM:'한달',\nMM:'%d달',\ny:'일년',\nyy:'%d년',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(일|월|주)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'일';\ncase'M':\nreturnnumber+'월';\ncase'w':\ncase'W':\nreturnnumber+'주';\ndefault:\nreturnnumber;\n}\n},\nmeridiemParse:/오전|오후/,\nisPM:function(token){\nreturntoken ==='오후';\n},\nmeridiem:function(hour,minute,isUpper){\nreturnhour<12?'오전':'오후';\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionprocessRelativeTime$7(num,withoutSuffix,key,isFuture){\nvarformat ={\ns:['çendsanîye','çendsanîyeyan'],\nss:[num+'sanîye',num+'sanîyeyan'],\nm:['deqîqeyek','deqîqeyekê'],\nmm:[num+'deqîqe',num+'deqîqeyan'],\nh:['saetek','saetekê'],\nhh:[num+'saet',num+'saetan'],\nd:['rojek','rojekê'],\ndd:[num+'roj',num+'rojan'],\nw:['hefteyek','hefteyekê'],\nww:[num+'hefte',num+'hefteyan'],\nM:['mehek','mehekê'],\nMM:[num+'meh',num+'mehan'],\ny:['salek','salekê'],\nyy:[num+'sal',num+'salan'],\n};\nreturnwithoutSuffix?format[key][0]:format[key][1];\n}\n//functionobliqueNumSuffix(num){\n//if(num.includes(':'))\n//num =parseInt(num.split(':')[0]);\n//else\n//num =parseInt(num);\n//returnnum ==0||num%10 ==1?'ê'\n//:(num> 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n hooks.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12){\nreturnisLower?'bn':'BN';\n}else{\nreturnisLower?'pn':'PN';\n}\n},\nmeridiemParse:/bn|BN|pn|PN/,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DoMMMM[a]YYYY[an]',\nLLL:'DoMMMM[a]YYYY[an]HH:mm',\nLLLL:'dddd,DoMMMM[a]YYYY[an]HH:mm',\nll:'DoMMM[.]YYYY[an]',\nlll:'DoMMM[.]YYYY[an]HH:mm',\nllll:'ddd[.],DoMMM[.]YYYY[an]HH:mm',\n},\ncalendar:{\nsameDay:'[Îrodisaet]LT[de]',\nnextDay:'[Sibêdisaet]LT[de]',\nnextWeek:'dddd[disaet]LT[de]',\nlastDay:'[Duhdisaet]LT[de]',\nlastWeek:'dddd[aborîdisaet]LT[de]',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'di%sde',\npast:'berî%s',\ns:processRelativeTime$7,\nss:processRelativeTime$7,\nm:processRelativeTime$7,\nmm:processRelativeTime$7,\nh:processRelativeTime$7,\nhh:processRelativeTime$7,\nd:processRelativeTime$7,\ndd:processRelativeTime$7,\nw:processRelativeTime$7,\nww:processRelativeTime$7,\nM:processRelativeTime$7,\nMM:processRelativeTime$7,\ny:processRelativeTime$7,\nyy:processRelativeTime$7,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(?:yê|ê|\\.)/,\nordinal:function(num,period){\nvarp =period.toLowerCase();\nif(p.includes('w')||p.includes('m'))returnnum+'.';\n\nreturnnum+ezafeNumSuffix(num);\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$c ={\n1:'١',\n2:'٢',\n3:'٣',\n4:'٤',\n5:'٥',\n6:'٦',\n7:'٧',\n8:'٨',\n9:'٩',\n0:'٠',\n},\nnumberMap$b ={\n'١':'1',\n'٢':'2',\n'٣':'3',\n'٤':'4',\n'٥':'5',\n'٦':'6',\n'٧':'7',\n'٨':'8',\n'٩':'9',\n'٠':'0',\n},\nmonths$8 =[\n'کانونیدووەم',\n'شوبات',\n'ئازار',\n'نیسان',\n'ئایار',\n'حوزەیران',\n'تەمموز',\n'ئاب',\n'ئەیلوول',\n'تشرینییەكەم',\n'تشرینیدووەم',\n'كانونییەکەم',\n];\n\nhooks.defineLocale('ku',{\nmonths:months$8,\nmonthsShort:months$8,\nweekdays:\n'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split(\n'_'\n),\nweekdaysShort:\n'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split('_'),\nweekdaysMin:'ی_د_س_چ_پ_ه_ش'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\nmeridiemParse:/ئێواره|بهیانی/,\nisPM:function(input){\nreturn/ئێواره/.test(input);\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'بهیانی';\n}else{\nreturn'ئێواره';\n}\n},\ncalendar:{\nsameDay:'[ئهمرۆكاتژمێر]LT',\nnextDay:'[بهیانیكاتژمێر]LT',\nnextWeek:'dddd[كاتژمێر]LT',\nlastDay:'[دوێنێكاتژمێر]LT',\nlastWeek:'dddd[كاتژمێر]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'له%s',\npast:'%s',\ns:'چهندچركهیهك',\nss:'چركه%d',\nm:'یهكخولهك',\nmm:'%dخولهك',\nh:'یهككاتژمێر',\nhh:'%dكاتژمێر',\nd:'یهكڕۆژ',\ndd:'%dڕۆژ',\nM:'یهكمانگ',\nMM:'%dمانگ',\ny:'یهكساڵ',\nyy:'%dساڵ',\n},\npreparse:function(string){\nreturnstring\n.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){\nreturnnumberMap$b[match];\n})\n.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring\n.replace(/\\d/g,function(match){\nreturnsymbolMap$c[match];\n})\n.replace(/,/g,'،');\n},\nweek:{\ndow:6,//Saturdayisthefirstdayoftheweek.\ndoy:12,//TheweekthatcontainsJan12thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsuffixes$2 ={\n0:'-чү',\n1:'-чи',\n2:'-чи',\n3:'-чү',\n4:'-чү',\n5:'-чи',\n6:'-чы',\n7:'-чи',\n8:'-чи',\n9:'-чу',\n10:'-чу',\n20:'-чы',\n30:'-чу',\n40:'-чы',\n50:'-чү',\n60:'-чы',\n70:'-чи',\n80:'-чи',\n90:'-чу',\n100:'-чү',\n};\n\nhooks.defineLocale('ky',{\nmonths:'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n'_'\n),\nmonthsShort:'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n'_'\n),\nweekdays:'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n'_'\n),\nweekdaysShort:'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\nweekdaysMin:'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Бүгүнсаат]LT',\nnextDay:'[Эртеңсаат]LT',\nnextWeek:'dddd[саат]LT',\nlastDay:'[Кечээсаат]LT',\nlastWeek:'[Өткөнаптанын]dddd[күнү][саат]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sичинде',\npast:'%sмурун',\ns:'бирнечесекунд',\nss:'%dсекунд',\nm:'бирмүнөт',\nmm:'%dмүнөт',\nh:'бирсаат',\nhh:'%dсаат',\nd:'биркүн',\ndd:'%dкүн',\nM:'бирай',\nMM:'%dай',\ny:'биржыл',\nyy:'%dжыл',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(чи|чы|чү|чу)/,\nordinal:function(number){\nvara =number%10,\nb =number>= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$8(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0){\n//NegativeNumber--> always true\n return true;\n } else if (number < 10){\n//Only1digit\nif(4<=number&&number<=7){\nreturntrue;\n}\nreturnfalse;\n}elseif(number<100){\n//2digits\nvarlastDigit =number%10,\nfirstDigit =number/10;\nif(lastDigit ===0){\nreturneifelerRegelAppliesToNumber(firstDigit);\n}\nreturneifelerRegelAppliesToNumber(lastDigit);\n}elseif(number<10000){\n//3or4digits--> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n hooks.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime$8,\n mm: '%d Minutten',\n h: processRelativeTime$8,\n hh: '%d Stonnen',\n d: processRelativeTime$8,\n dd: '%d Deeg',\n M: processRelativeTime$8,\n MM: '%d Méint',\n y: processRelativeTime$8,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ຕອນເຊົ້າ';\n}else{\nreturn'ຕອນແລງ';\n}\n},\ncalendar:{\nsameDay:'[ມື້ນີ້ເວລາ]LT',\nnextDay:'[ມື້ອື່ນເວລາ]LT',\nnextWeek:'[ວັນ]dddd[ໜ້າເວລາ]LT',\nlastDay:'[ມື້ວານນີ້ເວລາ]LT',\nlastWeek:'[ວັນ]dddd[ແລ້ວນີ້ເວລາ]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'ອີກ%s',\npast:'%sຜ່ານມາ',\ns:'ບໍ່ເທົ່າໃດວິນາທີ',\nss:'%dວິນາທີ',\nm:'1ນາທີ',\nmm:'%dນາທີ',\nh:'1ຊົ່ວໂມງ',\nhh:'%dຊົ່ວໂມງ',\nd:'1ມື້',\ndd:'%dມື້',\nM:'1ເດືອນ',\nMM:'%dເດືອນ',\ny:'1ປີ',\nyy:'%dປີ',\n},\ndayOfMonthOrdinalParse:/(ທີ່)\\d{1,2}/,\nordinal:function(number){\nreturn'ທີ່'+number;\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarunits ={\nss:'sekundė_sekundžių_sekundes',\nm:'minutė_minutės_minutę',\nmm:'minutės_minučių_minutes',\nh:'valanda_valandos_valandą',\nhh:'valandos_valandų_valandas',\nd:'diena_dienos_dieną',\ndd:'dienos_dienų_dienas',\nM:'mėnuo_mėnesio_mėnesį',\nMM:'mėnesiai_mėnesių_mėnesius',\ny:'metai_metų_metus',\nyy:'metai_metų_metus',\n};\nfunctiontranslateSeconds(number,withoutSuffix,key,isFuture){\nif(withoutSuffix){\nreturn'keliossekundės';\n}else{\nreturnisFuture?'keliųsekundžių':'keliassekundes';\n}\n}\nfunctiontranslateSingular(number,withoutSuffix,key,isFuture){\nreturnwithoutSuffix\n?forms(key)[0]\n:isFuture\n?forms(key)[1]\n:forms(key)[2];\n}\nfunctionspecial(number){\nreturnnumber%10 ===0||(number> 10 && number < 20);\n}\nfunctionforms(key){\nreturnunits[key].split('_');\n}\nfunctiontranslate$6(number,withoutSuffix,key,isFuture){\nvarresult =number+'';\nif(number ===1){\nreturn(\nresult+translateSingular(number,withoutSuffix,key[0],isFuture)\n);\n}elseif(withoutSuffix){\nreturnresult+(special(number)?forms(key)[1]:forms(key)[0]);\n}else{\nif(isFuture){\nreturnresult+forms(key)[1];\n}else{\nreturnresult+(special(number)?forms(key)[1]:forms(key)[2]);\n}\n}\n}\nhooks.defineLocale('lt',{\nmonths:{\nformat:'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n'_'\n),\nstandalone:\n'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n'_'\n),\nisFormat:/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n},\nmonthsShort:'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\nweekdays:{\nformat:'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n'_'\n),\nstandalone:\n'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n'_'\n),\nisFormat:/ddddHH:mm/,\n},\nweekdaysShort:'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\nweekdaysMin:'S_P_A_T_K_Pn_Š'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY-MM-DD',\nLL:'YYYY[m.]MMMMD[d.]',\nLLL:'YYYY[m.]MMMMD[d.],HH:mm[val.]',\nLLLL:'YYYY[m.]MMMMD[d.],dddd,HH:mm[val.]',\nl:'YYYY-MM-DD',\nll:'YYYY[m.]MMMMD[d.]',\nlll:'YYYY[m.]MMMMD[d.],HH:mm[val.]',\nllll:'YYYY[m.]MMMMD[d.],ddd,HH:mm[val.]',\n},\ncalendar:{\nsameDay:'[Šiandien]LT',\nnextDay:'[Rytoj]LT',\nnextWeek:'ddddLT',\nlastDay:'[Vakar]LT',\nlastWeek:'[Praėjusį]ddddLT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'po%s',\npast:'prieš%s',\ns:translateSeconds,\nss:translate$6,\nm:translateSingular,\nmm:translate$6,\nh:translateSingular,\nhh:translate$6,\nd:translateSingular,\ndd:translate$6,\nM:translateSingular,\nMM:translate$6,\ny:translateSingular,\nyy:translate$6,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-oji/,\nordinal:function(number){\nreturnnumber+'-oji';\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarunits$1 ={\nss:'sekundes_sekundēm_sekunde_sekundes'.split('_'),\nm:'minūtes_minūtēm_minūte_minūtes'.split('_'),\nmm:'minūtes_minūtēm_minūte_minūtes'.split('_'),\nh:'stundas_stundām_stunda_stundas'.split('_'),\nhh:'stundas_stundām_stunda_stundas'.split('_'),\nd:'dienas_dienām_diena_dienas'.split('_'),\ndd:'dienas_dienām_diena_dienas'.split('_'),\nM:'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\nMM:'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\ny:'gada_gadiem_gads_gadi'.split('_'),\nyy:'gada_gadiem_gads_gadi'.split('_'),\n};\n/**\n*@paramwithoutSuffixbooleantrue =alengthoftime;false =before/afteraperiodoftime.\n*/\nfunctionformat$1(forms,number,withoutSuffix){\nif(withoutSuffix){\n//E.g.\"21minūte\",\"3minūtes\".\nreturnnumber%10 ===1&&number%100!==11?forms[2]:forms[3];\n}else{\n//E.g.\"21minūtes\"asin\"pēc21minūtes\".\n//E.g.\"3minūtēm\"asin\"pēc3minūtēm\".\nreturnnumber%10 ===1&&number%100!==11?forms[0]:forms[1];\n}\n}\nfunctionrelativeTimeWithPlural$1(number,withoutSuffix,key){\nreturnnumber+''+format$1(units$1[key],number,withoutSuffix);\n}\nfunctionrelativeTimeWithSingular(number,withoutSuffix,key){\nreturnformat$1(units$1[key],number,withoutSuffix);\n}\nfunctionrelativeSeconds(number,withoutSuffix){\nreturnwithoutSuffix?'dažassekundes':'dažāmsekundēm';\n}\n\nhooks.defineLocale('lv',{\nmonths:'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n'_'\n),\nmonthsShort:'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\nweekdays:\n'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n'_'\n),\nweekdaysShort:'Sv_P_O_T_C_Pk_S'.split('_'),\nweekdaysMin:'Sv_P_O_T_C_Pk_S'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY.',\nLL:'YYYY.[gada]D.MMMM',\nLLL:'YYYY.[gada]D.MMMM,HH:mm',\nLLLL:'YYYY.[gada]D.MMMM,dddd,HH:mm',\n},\ncalendar:{\nsameDay:'[Šodienpulksten]LT',\nnextDay:'[Rītpulksten]LT',\nnextWeek:'dddd[pulksten]LT',\nlastDay:'[Vakarpulksten]LT',\nlastWeek:'[Pagājušā]dddd[pulksten]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'pēc%s',\npast:'pirms%s',\ns:relativeSeconds,\nss:relativeTimeWithPlural$1,\nm:relativeTimeWithSingular,\nmm:relativeTimeWithPlural$1,\nh:relativeTimeWithSingular,\nhh:relativeTimeWithPlural$1,\nd:relativeTimeWithSingular,\ndd:relativeTimeWithPlural$1,\nM:relativeTimeWithSingular,\nMM:relativeTimeWithPlural$1,\ny:relativeTimeWithSingular,\nyy:relativeTimeWithPlural$1,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvartranslator ={\nwords:{\n//Differentgrammaticalcases\nss:['sekund','sekunda','sekundi'],\nm:['jedanminut','jednogminuta'],\nmm:['minut','minuta','minuta'],\nh:['jedansat','jednogsata'],\nhh:['sat','sata','sati'],\ndd:['dan','dana','dana'],\nMM:['mjesec','mjeseca','mjeseci'],\nyy:['godina','godine','godina'],\n},\ncorrectGrammaticalCase:function(number,wordKey){\nreturnnumber ===1\n?wordKey[0]\n:number>= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n hooks.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20){\nreturnnumber+'-ти';\n}elseif(lastDigit ===1){\nreturnnumber+'-ви';\n}elseif(lastDigit ===2){\nreturnnumber+'-ри';\n}elseif(lastDigit ===7||lastDigit ===8){\nreturnnumber+'-ми';\n}else{\nreturnnumber+'-ти';\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ml',{\nmonths:'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n'_'\n),\nmonthsShort:\n'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:\n'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n'_'\n),\nweekdaysShort:'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\nweekdaysMin:'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\nlongDateFormat:{\nLT:'Ah:mm-നു',\nLTS:'Ah:mm:ss-നു',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mm-നു',\nLLLL:'dddd,DMMMMYYYY,Ah:mm-നു',\n},\ncalendar:{\nsameDay:'[ഇന്ന്]LT',\nnextDay:'[നാളെ]LT',\nnextWeek:'dddd,LT',\nlastDay:'[ഇന്നലെ]LT',\nlastWeek:'[കഴിഞ്ഞ]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sകഴിഞ്ഞ്',\npast:'%sമുൻപ്',\ns:'അൽപനിമിഷങ്ങൾ',\nss:'%dസെക്കൻഡ്',\nm:'ഒരുമിനിറ്റ്',\nmm:'%dമിനിറ്റ്',\nh:'ഒരുമണിക്കൂർ',\nhh:'%dമണിക്കൂർ',\nd:'ഒരുദിവസം',\ndd:'%dദിവസം',\nM:'ഒരുമാസം',\nMM:'%dമാസം',\ny:'ഒരുവർഷം',\nyy:'%dവർഷം',\n},\nmeridiemParse:/രാത്രി|രാവിലെ|ഉച്ചകഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(\n(meridiem ==='രാത്രി'&&hour>= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'രാത്രി';\n}elseif(hour<12){\nreturn'രാവിലെ';\n}elseif(hour<17){\nreturn'ഉച്ചകഴിഞ്ഞ്';\n}elseif(hour<20){\nreturn'വൈകുന്നേരം';\n}else{\nreturn'രാത്രി';\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctiontranslate$7(number,withoutSuffix,key,isFuture){\nswitch(key){\ncase's':\nreturnwithoutSuffix?'хэдхэнсекунд':'хэдхэнсекундын';\ncase'ss':\nreturnnumber+(withoutSuffix?'секунд':'секундын');\ncase'm':\ncase'mm':\nreturnnumber+(withoutSuffix?'минут':'минутын');\ncase'h':\ncase'hh':\nreturnnumber+(withoutSuffix?'цаг':'цагийн');\ncase'd':\ncase'dd':\nreturnnumber+(withoutSuffix?'өдөр':'өдрийн');\ncase'M':\ncase'MM':\nreturnnumber+(withoutSuffix?'сар':'сарын');\ncase'y':\ncase'yy':\nreturnnumber+(withoutSuffix?'жил':'жилийн');\ndefault:\nreturnnumber;\n}\n}\n\nhooks.defineLocale('mn',{\nmonths:'Нэгдүгээрсар_Хоёрдугаарсар_Гуравдугаарсар_Дөрөвдүгээрсар_Тавдугаарсар_Зургадугаарсар_Долдугаарсар_Наймдугаарсар_Есдүгээрсар_Аравдугаарсар_Арваннэгдүгээрсар_Арванхоёрдугаарсар'.split(\n'_'\n),\nmonthsShort:\n'1сар_2сар_3сар_4сар_5сар_6сар_7сар_8сар_9сар_10сар_11сар_12сар'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\nweekdaysShort:'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\nweekdaysMin:'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY-MM-DD',\nLL:'YYYYоныMMMMынD',\nLLL:'YYYYоныMMMMынDHH:mm',\nLLLL:'dddd,YYYYоныMMMMынDHH:mm',\n},\nmeridiemParse:/ҮӨ|ҮХ/i,\nisPM:function(input){\nreturninput ==='ҮХ';\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'ҮӨ';\n}else{\nreturn'ҮХ';\n}\n},\ncalendar:{\nsameDay:'[Өнөөдөр]LT',\nnextDay:'[Маргааш]LT',\nnextWeek:'[Ирэх]ddddLT',\nlastDay:'[Өчигдөр]LT',\nlastWeek:'[Өнгөрсөн]ddddLT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sдараа',\npast:'%sөмнө',\ns:translate$7,\nss:translate$7,\nm:translate$7,\nmm:translate$7,\nh:translate$7,\nhh:translate$7,\nd:translate$7,\ndd:translate$7,\nM:translate$7,\nMM:translate$7,\ny:translate$7,\nyy:translate$7,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}өдөр/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'өдөр';\ndefault:\nreturnnumber;\n}\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$d ={\n1:'१',\n2:'२',\n3:'३',\n4:'४',\n5:'५',\n6:'६',\n7:'७',\n8:'८',\n9:'९',\n0:'०',\n},\nnumberMap$c ={\n'१':'1',\n'२':'2',\n'३':'3',\n'४':'4',\n'५':'5',\n'६':'6',\n'७':'7',\n'८':'8',\n'९':'9',\n'०':'0',\n};\n\nfunctionrelativeTimeMr(number,withoutSuffix,string,isFuture){\nvaroutput ='';\nif(withoutSuffix){\nswitch(string){\ncase's':\noutput ='काही सेकंद';\nbreak;\ncase'ss':\noutput ='%d सेकंद';\nbreak;\ncase'm':\noutput ='एक मिनिट';\nbreak;\ncase'mm':\noutput ='%d मिनिटे';\nbreak;\ncase'h':\noutput ='एक तास';\nbreak;\ncase'hh':\noutput ='%d तास';\nbreak;\ncase'd':\noutput ='एक दिवस';\nbreak;\ncase'dd':\noutput ='%d दिवस';\nbreak;\ncase'M':\noutput ='एक महिना';\nbreak;\ncase'MM':\noutput ='%d महिने';\nbreak;\ncase'y':\noutput ='एक वर्ष';\nbreak;\ncase'yy':\noutput ='%d वर्षे';\nbreak;\n}\n}else{\nswitch(string){\ncase's':\noutput ='काही सेकंदां';\nbreak;\ncase'ss':\noutput ='%d सेकंदां';\nbreak;\ncase'm':\noutput ='एका मिनिटा';\nbreak;\ncase'mm':\noutput ='%d मिनिटां';\nbreak;\ncase'h':\noutput ='एका तासा';\nbreak;\ncase'hh':\noutput ='%d तासां';\nbreak;\ncase'd':\noutput ='एका दिवसा';\nbreak;\ncase'dd':\noutput ='%d दिवसां';\nbreak;\ncase'M':\noutput ='एका महिन्या';\nbreak;\ncase'MM':\noutput ='%d महिन्यां';\nbreak;\ncase'y':\noutput ='एका वर्षा';\nbreak;\ncase'yy':\noutput ='%d वर्षां';\nbreak;\n}\n}\nreturnoutput.replace(/%d/i,number);\n}\n\nhooks.defineLocale('mr',{\nmonths:'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n'_'\n),\nmonthsShort:\n'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\nweekdaysShort:'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\nweekdaysMin:'र_सो_मं_बु_गु_शु_श'.split('_'),\nlongDateFormat:{\nLT:'Ah:mmवाजता',\nLTS:'Ah:mm:ssवाजता',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Ah:mmवाजता',\nLLLL:'dddd,DMMMMYYYY,Ah:mmवाजता',\n},\ncalendar:{\nsameDay:'[आज]LT',\nnextDay:'[उद्या]LT',\nnextWeek:'dddd,LT',\nlastDay:'[काल]LT',\nlastWeek:'[मागील]dddd,LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sमध्ये',\npast:'%sपूर्वी',\ns:relativeTimeMr,\nss:relativeTimeMr,\nm:relativeTimeMr,\nmm:relativeTimeMr,\nh:relativeTimeMr,\nhh:relativeTimeMr,\nd:relativeTimeMr,\ndd:relativeTimeMr,\nM:relativeTimeMr,\nMM:relativeTimeMr,\ny:relativeTimeMr,\nyy:relativeTimeMr,\n},\npreparse:function(string){\nreturnstring.replace(/[१२३४५६७८९०]/g,function(match){\nreturnnumberMap$c[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$d[match];\n});\n},\nmeridiemParse:/पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='पहाटे'||meridiem ==='सकाळी'){\nreturnhour;\n}elseif(\nmeridiem ==='दुपारी'||\nmeridiem ==='सायंकाळी'||\nmeridiem ==='रात्री'\n){\nreturnhour>= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6){\nreturn'पहाटे';\n}elseif(hour<12){\nreturn'सकाळी';\n}elseif(hour<17){\nreturn'दुपारी';\n}elseif(hour<20){\nreturn'सायंकाळी';\n}else{\nreturn'रात्री';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ms-my',{\nmonths:'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n'_'\n),\nmonthsShort:'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\nweekdays:'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\nweekdaysShort:'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\nweekdaysMin:'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\nlongDateFormat:{\nLT:'HH.mm',\nLTS:'HH.mm.ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY[pukul]HH.mm',\nLLLL:'dddd,DMMMMYYYY[pukul]HH.mm',\n},\nmeridiemParse:/pagi|tengahari|petang|malam/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='pagi'){\nreturnhour;\n}elseif(meridiem ==='tengahari'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11){\nreturn'pagi';\n}elseif(hours<15){\nreturn'tengahari';\n}elseif(hours<19){\nreturn'petang';\n}else{\nreturn'malam';\n}\n},\ncalendar:{\nsameDay:'[Hariinipukul]LT',\nnextDay:'[Esokpukul]LT',\nnextWeek:'dddd[pukul]LT',\nlastDay:'[Kelmarinpukul]LT',\nlastWeek:'dddd[lepaspukul]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dalam%s',\npast:'%syanglepas',\ns:'beberapasaat',\nss:'%dsaat',\nm:'seminit',\nmm:'%dminit',\nh:'sejam',\nhh:'%djam',\nd:'sehari',\ndd:'%dhari',\nM:'sebulan',\nMM:'%dbulan',\ny:'setahun',\nyy:'%dtahun',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('ms',{\nmonths:'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n'_'\n),\nmonthsShort:'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\nweekdays:'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\nweekdaysShort:'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\nweekdaysMin:'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\nlongDateFormat:{\nLT:'HH.mm',\nLTS:'HH.mm.ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY[pukul]HH.mm',\nLLLL:'dddd,DMMMMYYYY[pukul]HH.mm',\n},\nmeridiemParse:/pagi|tengahari|petang|malam/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='pagi'){\nreturnhour;\n}elseif(meridiem ==='tengahari'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11){\nreturn'pagi';\n}elseif(hours<15){\nreturn'tengahari';\n}elseif(hours<19){\nreturn'petang';\n}else{\nreturn'malam';\n}\n},\ncalendar:{\nsameDay:'[Hariinipukul]LT',\nnextDay:'[Esokpukul]LT',\nnextWeek:'dddd[pukul]LT',\nlastDay:'[Kelmarinpukul]LT',\nlastWeek:'dddd[lepaspukul]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'dalam%s',\npast:'%syanglepas',\ns:'beberapasaat',\nss:'%dsaat',\nm:'seminit',\nmm:'%dminit',\nh:'sejam',\nhh:'%djam',\nd:'sehari',\ndd:'%dhari',\nM:'sebulan',\nMM:'%dbulan',\ny:'setahun',\nyy:'%dtahun',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('mt',{\nmonths:'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n'_'\n),\nmonthsShort:'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\nweekdays:\n'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n'_'\n),\nweekdaysShort:'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\nweekdaysMin:'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Illumfil-]LT',\nnextDay:'[Għadafil-]LT',\nnextWeek:'dddd[fil-]LT',\nlastDay:'[Il-bieraħfil-]LT',\nlastWeek:'dddd[ligħadda][fil-]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'f’%s',\npast:'%silu',\ns:'ftitsekondi',\nss:'%dsekondi',\nm:'minuta',\nmm:'%dminuti',\nh:'siegħa',\nhh:'%dsiegħat',\nd:'ġurnata',\ndd:'%dġranet',\nM:'xahar',\nMM:'%dxhur',\ny:'sena',\nyy:'%dsni',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}º/,\nordinal:'%dº',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$e ={\n1:'၁',\n2:'၂',\n3:'၃',\n4:'၄',\n5:'၅',\n6:'၆',\n7:'၇',\n8:'၈',\n9:'၉',\n0:'၀',\n},\nnumberMap$d ={\n'၁':'1',\n'၂':'2',\n'၃':'3',\n'၄':'4',\n'၅':'5',\n'၆':'6',\n'၇':'7',\n'၈':'8',\n'၉':'9',\n'၀':'0',\n};\n\nhooks.defineLocale('my',{\nmonths:'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n'_'\n),\nmonthsShort:'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\nweekdays:'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n'_'\n),\nweekdaysShort:'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\nweekdaysMin:'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[ယနေ.]LT[မှာ]',\nnextDay:'[မနက်ဖြန်]LT[မှာ]',\nnextWeek:'ddddLT[မှာ]',\nlastDay:'[မနေ.က]LT[မှာ]',\nlastWeek:'[ပြီးခဲ့သော]ddddLT[မှာ]',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'လာမည့်%sမှာ',\npast:'လွန်ခဲ့သော%sက',\ns:'စက္ကန်.အနည်းငယ်',\nss:'%dစက္ကန့်',\nm:'တစ်မိနစ်',\nmm:'%dမိနစ်',\nh:'တစ်နာရီ',\nhh:'%dနာရီ',\nd:'တစ်ရက်',\ndd:'%dရက်',\nM:'တစ်လ',\nMM:'%dလ',\ny:'တစ်နှစ်',\nyy:'%dနှစ်',\n},\npreparse:function(string){\nreturnstring.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(match){\nreturnnumberMap$d[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$e[match];\n});\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('nb',{\nmonths:'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n'_'\n),\nmonthsShort:\n'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\nmonthsParseExact:true,\nweekdays:'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\nweekdaysShort:'sø._ma._ti._on._to._fr._lø.'.split('_'),\nweekdaysMin:'sø_ma_ti_on_to_fr_lø'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYY[kl.]HH:mm',\nLLLL:'ddddD.MMMMYYYY[kl.]HH:mm',\n},\ncalendar:{\nsameDay:'[idagkl.]LT',\nnextDay:'[imorgenkl.]LT',\nnextWeek:'dddd[kl.]LT',\nlastDay:'[igårkl.]LT',\nlastWeek:'[forrige]dddd[kl.]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'om%s',\npast:'%ssiden',\ns:'noensekunder',\nss:'%dsekunder',\nm:'ettminutt',\nmm:'%dminutter',\nh:'éntime',\nhh:'%dtimer',\nd:'éndag',\ndd:'%ddager',\nw:'énuke',\nww:'%duker',\nM:'énmåned',\nMM:'%dmåneder',\ny:'ettår',\nyy:'%dår',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsymbolMap$f ={\n1:'१',\n2:'२',\n3:'३',\n4:'४',\n5:'५',\n6:'६',\n7:'७',\n8:'८',\n9:'९',\n0:'०',\n},\nnumberMap$e ={\n'१':'1',\n'२':'2',\n'३':'3',\n'४':'4',\n'५':'5',\n'६':'6',\n'७':'7',\n'८':'8',\n'९':'9',\n'०':'0',\n};\n\nhooks.defineLocale('ne',{\nmonths:'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n'_'\n),\nmonthsShort:\n'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n'_'\n),\nweekdaysShort:'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\nweekdaysMin:'आ._सो._मं._बु._बि._शु._श.'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'Aकोh:mmबजे',\nLTS:'Aकोh:mm:ssबजे',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYY,Aकोh:mmबजे',\nLLLL:'dddd,DMMMMYYYY,Aकोh:mmबजे',\n},\npreparse:function(string){\nreturnstring.replace(/[१२३४५६७८९०]/g,function(match){\nreturnnumberMap$e[match];\n});\n},\npostformat:function(string){\nreturnstring.replace(/\\d/g,function(match){\nreturnsymbolMap$f[match];\n});\n},\nmeridiemParse:/राति|बिहान|दिउँसो|साँझ/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='राति'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='बिहान'){\nreturnhour;\n}elseif(meridiem ==='दिउँसो'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3){\nreturn'राति';\n}elseif(hour<12){\nreturn'बिहान';\n}elseif(hour<16){\nreturn'दिउँसो';\n}elseif(hour<20){\nreturn'साँझ';\n}else{\nreturn'राति';\n}\n},\ncalendar:{\nsameDay:'[आज]LT',\nnextDay:'[भोलि]LT',\nnextWeek:'[आउँदो]dddd[,]LT',\nlastDay:'[हिजो]LT',\nlastWeek:'[गएको]dddd[,]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sमा',\npast:'%sअगाडि',\ns:'केहीक्षण',\nss:'%dसेकेण्ड',\nm:'एकमिनेट',\nmm:'%dमिनेट',\nh:'एकघण्टा',\nhh:'%dघण्टा',\nd:'एकदिन',\ndd:'%dदिन',\nM:'एकमहिना',\nMM:'%dमहिना',\ny:'एकबर्ष',\nyy:'%dबर्ष',\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonthsShortWithDots$1 =\n'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\nmonthsShortWithoutDots$1 =\n'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\nmonthsParse$8 =[\n/^jan/i,\n/^feb/i,\n/^(maart|mrt\\.?)$/i,\n/^apr/i,\n/^mei$/i,\n/^jun[i.]?$/i,\n/^jul[i.]?$/i,\n/^aug/i,\n/^sep/i,\n/^okt/i,\n/^nov/i,\n/^dec/i,\n],\nmonthsRegex$8 =\n/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nhooks.defineLocale('nl-be',{\nmonths:'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n'_'\n),\nmonthsShort:function(m,format){\nif(!m){\nreturnmonthsShortWithDots$1;\n}elseif(/-MMM-/.test(format)){\nreturnmonthsShortWithoutDots$1[m.month()];\n}else{\nreturnmonthsShortWithDots$1[m.month()];\n}\n},\n\nmonthsRegex:monthsRegex$8,\nmonthsShortRegex:monthsRegex$8,\nmonthsStrictRegex:\n/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\nmonthsShortStrictRegex:\n/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\nmonthsParse:monthsParse$8,\nlongMonthsParse:monthsParse$8,\nshortMonthsParse:monthsParse$8,\n\nweekdays:\n'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\nweekdaysShort:'zo._ma._di._wo._do._vr._za.'.split('_'),\nweekdaysMin:'zo_ma_di_wo_do_vr_za'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'ddddDMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[vandaagom]LT',\nnextDay:'[morgenom]LT',\nnextWeek:'dddd[om]LT',\nlastDay:'[gisterenom]LT',\nlastWeek:'[afgelopen]dddd[om]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'over%s',\npast:'%sgeleden',\ns:'eenpaarseconden',\nss:'%dseconden',\nm:'éénminuut',\nmm:'%dminuten',\nh:'éénuur',\nhh:'%duur',\nd:'ééndag',\ndd:'%ddagen',\nM:'éénmaand',\nMM:'%dmaanden',\ny:'éénjaar',\nyy:'%djaar',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,\nordinal:function(number){\nreturn(\nnumber+\n(number ===1||number ===8||number>= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$9 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$9 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$9,\n monthsShortRegex: monthsRegex$9,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$9,\n longMonthsParse: monthsParse$9,\n shortMonthsParse: monthsParse$9,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$g = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap$f = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n hooks.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$f[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$g[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4?hour:hour+12;\n}elseif(meridiem ==='ਸਵੇਰ'){\nreturnhour;\n}elseif(meridiem ==='ਦੁਪਹਿਰ'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'ਰਾਤ';\n}elseif(hour<10){\nreturn'ਸਵੇਰ';\n}elseif(hour<17){\nreturn'ਦੁਪਹਿਰ';\n}elseif(hour<20){\nreturn'ਸ਼ਾਮ';\n}else{\nreturn'ਰਾਤ';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonthsNominative =\n'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n'_'\n),\nmonthsSubjective =\n'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n'_'\n),\nmonthsParse$a =[\n/^sty/i,\n/^lut/i,\n/^mar/i,\n/^kwi/i,\n/^maj/i,\n/^cze/i,\n/^lip/i,\n/^sie/i,\n/^wrz/i,\n/^paź/i,\n/^lis/i,\n/^gru/i,\n];\nfunctionplural$3(n){\nreturnn%10<5&&n%10> 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural$3(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n hooks.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse$a,\n longMonthsParse: monthsParse$a,\n shortMonthsParse: monthsParse$a,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate$8,\n m: translate$8,\n mm: translate$8,\n h: translate$8,\n hh: translate$8,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate$8,\n M: 'miesiąc',\n MM: translate$8,\n y: 'rok',\n yy: translate$8,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n hooks.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural$2,\n m: 'un minut',\n mm: relativeTimeWithPlural$2,\n h: 'o oră',\n hh: relativeTimeWithPlural$2,\n d: 'o zi',\n dd: relativeTimeWithPlural$2,\n w: 'o săptămână',\n ww: relativeTimeWithPlural$2,\n M: 'o lună',\n MM: relativeTimeWithPlural$2,\n y: 'un an',\n yy: relativeTimeWithPlural$2,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10||num%100>= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$b = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n hooks.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse$b,\n longMonthsParse: monthsParse$b,\n shortMonthsParse: monthsParse$b,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural$3,\n m: relativeTimeWithPlural$3,\n mm: relativeTimeWithPlural$3,\n h: 'час',\n hh: relativeTimeWithPlural$3,\n d: 'день',\n dd: relativeTimeWithPlural$3,\n w: 'неделя',\n ww: relativeTimeWithPlural$3,\n M: 'месяц',\n MM: relativeTimeWithPlural$3,\n y: 'год',\n yy: relativeTimeWithPlural$3,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'ночи';\n}elseif(hour<12){\nreturn'утра';\n}elseif(hour<17){\nreturn'дня';\n}else{\nreturn'вечера';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(й|го|я)/,\nordinal:function(number,period){\nswitch(period){\ncase'M':\ncase'd':\ncase'DDD':\nreturnnumber+'-й';\ncase'D':\nreturnnumber+'-го';\ncase'w':\ncase'W':\nreturnnumber+'-я';\ndefault:\nreturnnumber;\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonths$9 =[\n'جنوري',\n'فيبروري',\n'مارچ',\n'اپريل',\n'مئي',\n'جون',\n'جولاءِ',\n'آگسٽ',\n'سيپٽمبر',\n'آڪٽوبر',\n'نومبر',\n'ڊسمبر',\n],\ndays$1 =['آچر','سومر','اڱارو','اربع','خميس','جمع','ڇنڇر'];\n\nhooks.defineLocale('sd',{\nmonths:months$9,\nmonthsShort:months$9,\nweekdays:days$1,\nweekdaysShort:days$1,\nweekdaysMin:days$1,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd،DMMMMYYYYHH:mm',\n},\nmeridiemParse:/صبح|شام/,\nisPM:function(input){\nreturn'شام'===input;\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'صبح';\n}\nreturn'شام';\n},\ncalendar:{\nsameDay:'[اڄ]LT',\nnextDay:'[سڀاڻي]LT',\nnextWeek:'dddd[اڳينهفتيتي]LT',\nlastDay:'[ڪالهه]LT',\nlastWeek:'[گزريلهفتي]dddd[تي]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sپوء',\npast:'%sاڳ',\ns:'چندسيڪنڊ',\nss:'%dسيڪنڊ',\nm:'هڪمنٽ',\nmm:'%dمنٽ',\nh:'هڪڪلاڪ',\nhh:'%dڪلاڪ',\nd:'هڪڏينهن',\ndd:'%dڏينهن',\nM:'هڪمهينو',\nMM:'%dمهينا',\ny:'هڪسال',\nyy:'%dسال',\n},\npreparse:function(string){\nreturnstring.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring.replace(/,/g,'،');\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('se',{\nmonths:'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n'_'\n),\nmonthsShort:\n'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\nweekdays:\n'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n'_'\n),\nweekdaysShort:'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\nweekdaysMin:'s_v_m_g_d_b_L'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'MMMMD.[b.]YYYY',\nLLL:'MMMMD.[b.]YYYY[ti.]HH:mm',\nLLLL:'dddd,MMMMD.[b.]YYYY[ti.]HH:mm',\n},\ncalendar:{\nsameDay:'[otneti]LT',\nnextDay:'[ihttinti]LT',\nnextWeek:'dddd[ti]LT',\nlastDay:'[ikteti]LT',\nlastWeek:'[ovddit]dddd[ti]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sgeažes',\npast:'maŋit%s',\ns:'moaddesekunddat',\nss:'%dsekunddat',\nm:'oktaminuhta',\nmm:'%dminuhtat',\nh:'oktadiimmu',\nhh:'%ddiimmut',\nd:'oktabeaivi',\ndd:'%dbeaivvit',\nM:'oktamánnu',\nMM:'%dmánut',\ny:'oktajahki',\nyy:'%djagit',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\n/*jshint-W100*/\nhooks.defineLocale('si',{\nmonths:'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n'_'\n),\nmonthsShort:'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n'_'\n),\nweekdays:\n'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n'_'\n),\nweekdaysShort:'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\nweekdaysMin:'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'ah:mm',\nLTS:'ah:mm:ss',\nL:'YYYY/MM/DD',\nLL:'YYYYMMMMD',\nLLL:'YYYYMMMMD,ah:mm',\nLLLL:'YYYYMMMMD[වැනි]dddd,ah:mm:ss',\n},\ncalendar:{\nsameDay:'[අද]LT[ට]',\nnextDay:'[හෙට]LT[ට]',\nnextWeek:'ddddLT[ට]',\nlastDay:'[ඊයේ]LT[ට]',\nlastWeek:'[පසුගිය]ddddLT[ට]',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sකින්',\npast:'%sකටපෙර',\ns:'තත්පරකිහිපය',\nss:'තත්පර%d',\nm:'මිනිත්තුව',\nmm:'මිනිත්තු%d',\nh:'පැය',\nhh:'පැය%d',\nd:'දිනය',\ndd:'දින%d',\nM:'මාසය',\nMM:'මාස%d',\ny:'වසර',\nyy:'වසර%d',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}වැනි/,\nordinal:function(number){\nreturnnumber+'වැනි';\n},\nmeridiemParse:/පෙරවරු|පස්වරු|පෙ.ව|ප.ව./,\nisPM:function(input){\nreturninput ==='ප.ව.'||input ==='පස්වරු';\n},\nmeridiem:function(hours,minutes,isLower){\nif(hours> 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var months$a =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return n > 1 && n < 5;\n}\nfunctiontranslate$9(number,withoutSuffix,key,isFuture){\nvarresult =number+'';\nswitch(key){\ncase's'://afewseconds/inafewseconds/afewsecondsago\nreturnwithoutSuffix||isFuture?'pársekúnd':'pársekundami';\ncase'ss'://9seconds/in9seconds/9secondsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'sekundy':'sekúnd');\n}else{\nreturnresult+'sekundami';\n}\ncase'm'://aminute/inaminute/aminuteago\nreturnwithoutSuffix?'minúta':isFuture?'minútu':'minútou';\ncase'mm'://9minutes/in9minutes/9minutesago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'minúty':'minút');\n}else{\nreturnresult+'minútami';\n}\ncase'h'://anhour/inanhour/anhourago\nreturnwithoutSuffix?'hodina':isFuture?'hodinu':'hodinou';\ncase'hh'://9hours/in9hours/9hoursago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'hodiny':'hodín');\n}else{\nreturnresult+'hodinami';\n}\ncase'd'://aday/inaday/adayago\nreturnwithoutSuffix||isFuture?'deň':'dňom';\ncase'dd'://9days/in9days/9daysago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'dni':'dní');\n}else{\nreturnresult+'dňami';\n}\ncase'M'://amonth/inamonth/amonthago\nreturnwithoutSuffix||isFuture?'mesiac':'mesiacom';\ncase'MM'://9months/in9months/9monthsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'mesiace':'mesiacov');\n}else{\nreturnresult+'mesiacmi';\n}\ncase'y'://ayear/inayear/ayearago\nreturnwithoutSuffix||isFuture?'rok':'rokom';\ncase'yy'://9years/in9years/9yearsago\nif(withoutSuffix||isFuture){\nreturnresult+(plural$5(number)?'roky':'rokov');\n}else{\nreturnresult+'rokmi';\n}\n}\n}\n\nhooks.defineLocale('sk',{\nmonths:months$a,\nmonthsShort:monthsShort$7,\nweekdays:'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\nweekdaysShort:'ne_po_ut_st_št_pi_so'.split('_'),\nweekdaysMin:'ne_po_ut_st_št_pi_so'.split('_'),\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYYH:mm',\nLLLL:'ddddD.MMMMYYYYH:mm',\n},\ncalendar:{\nsameDay:'[dneso]LT',\nnextDay:'[zajtrao]LT',\nnextWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[vnedeľuo]LT';\ncase1:\ncase2:\nreturn'[v]dddd[o]LT';\ncase3:\nreturn'[vstreduo]LT';\ncase4:\nreturn'[voštvrtoko]LT';\ncase5:\nreturn'[vpiatoko]LT';\ncase6:\nreturn'[vsobotuo]LT';\n}\n},\nlastDay:'[včerao]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[minulúnedeľuo]LT';\ncase1:\ncase2:\nreturn'[minulý]dddd[o]LT';\ncase3:\nreturn'[minulústreduo]LT';\ncase4:\ncase5:\nreturn'[minulý]dddd[o]LT';\ncase6:\nreturn'[minulúsobotuo]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'za%s',\npast:'pred%s',\ns:translate$9,\nss:translate$9,\nm:translate$9,\nmm:translate$9,\nh:translate$9,\nhh:translate$9,\nd:translate$9,\ndd:translate$9,\nM:translate$9,\nMM:translate$9,\ny:translate$9,\nyy:translate$9,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionprocessRelativeTime$9(number,withoutSuffix,key,isFuture){\nvarresult =number+'';\nswitch(key){\ncase's':\nreturnwithoutSuffix||isFuture\n?'nekajsekund'\n:'nekajsekundami';\ncase'ss':\nif(number ===1){\nresult+=withoutSuffix?'sekundo':'sekundi';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'sekundi':'sekundah';\n}elseif(number<5){\nresult+=withoutSuffix||isFuture?'sekunde':'sekundah';\n}else{\nresult+='sekund';\n}\nreturnresult;\ncase'm':\nreturnwithoutSuffix?'enaminuta':'enominuto';\ncase'mm':\nif(number ===1){\nresult+=withoutSuffix?'minuta':'minuto';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'minuti':'minutama';\n}elseif(number<5){\nresult+=withoutSuffix||isFuture?'minute':'minutami';\n}else{\nresult+=withoutSuffix||isFuture?'minut':'minutami';\n}\nreturnresult;\ncase'h':\nreturnwithoutSuffix?'enaura':'enouro';\ncase'hh':\nif(number ===1){\nresult+=withoutSuffix?'ura':'uro';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'uri':'urama';\n}elseif(number<5){\nresult+=withoutSuffix||isFuture?'ure':'urami';\n}else{\nresult+=withoutSuffix||isFuture?'ur':'urami';\n}\nreturnresult;\ncase'd':\nreturnwithoutSuffix||isFuture?'endan':'enimdnem';\ncase'dd':\nif(number ===1){\nresult+=withoutSuffix||isFuture?'dan':'dnem';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'dni':'dnevoma';\n}else{\nresult+=withoutSuffix||isFuture?'dni':'dnevi';\n}\nreturnresult;\ncase'M':\nreturnwithoutSuffix||isFuture?'enmesec':'enimmesecem';\ncase'MM':\nif(number ===1){\nresult+=withoutSuffix||isFuture?'mesec':'mesecem';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'meseca':'mesecema';\n}elseif(number<5){\nresult+=withoutSuffix||isFuture?'mesece':'meseci';\n}else{\nresult+=withoutSuffix||isFuture?'mesecev':'meseci';\n}\nreturnresult;\ncase'y':\nreturnwithoutSuffix||isFuture?'enoleto':'enimletom';\ncase'yy':\nif(number ===1){\nresult+=withoutSuffix||isFuture?'leto':'letom';\n}elseif(number ===2){\nresult+=withoutSuffix||isFuture?'leti':'letoma';\n}elseif(number<5){\nresult+=withoutSuffix||isFuture?'leta':'leti';\n}else{\nresult+=withoutSuffix||isFuture?'let':'leti';\n}\nreturnresult;\n}\n}\n\nhooks.defineLocale('sl',{\nmonths:'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n'_'\n),\nmonthsShort:\n'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\nweekdaysShort:'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\nweekdaysMin:'ne_po_to_sr_če_pe_so'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'H:mm',\nLTS:'H:mm:ss',\nL:'DD.MM.YYYY',\nLL:'D.MMMMYYYY',\nLLL:'D.MMMMYYYYH:mm',\nLLLL:'dddd,D.MMMMYYYYH:mm',\n},\ncalendar:{\nsameDay:'[danesob]LT',\nnextDay:'[jutriob]LT',\n\nnextWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[v][nedeljo][ob]LT';\ncase3:\nreturn'[v][sredo][ob]LT';\ncase6:\nreturn'[v][soboto][ob]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[v]dddd[ob]LT';\n}\n},\nlastDay:'[včerajob]LT',\nlastWeek:function(){\nswitch(this.day()){\ncase0:\nreturn'[prejšnjo][nedeljo][ob]LT';\ncase3:\nreturn'[prejšnjo][sredo][ob]LT';\ncase6:\nreturn'[prejšnjo][soboto][ob]LT';\ncase1:\ncase2:\ncase4:\ncase5:\nreturn'[prejšnji]dddd[ob]LT';\n}\n},\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'čez%s',\npast:'pred%s',\ns:processRelativeTime$9,\nss:processRelativeTime$9,\nm:processRelativeTime$9,\nmm:processRelativeTime$9,\nh:processRelativeTime$9,\nhh:processRelativeTime$9,\nd:processRelativeTime$9,\ndd:processRelativeTime$9,\nM:processRelativeTime$9,\nMM:processRelativeTime$9,\ny:processRelativeTime$9,\nyy:processRelativeTime$9,\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('sq',{\nmonths:'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n'_'\n),\nmonthsShort:'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\nweekdays:'EDiel_EHënë_EMartë_EMërkurë_EEnjte_EPremte_EShtunë'.split(\n'_'\n),\nweekdaysShort:'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\nweekdaysMin:'D_H_Ma_Më_E_P_Sh'.split('_'),\nweekdaysParseExact:true,\nmeridiemParse:/PD|MD/,\nisPM:function(input){\nreturninput.charAt(0)==='M';\n},\nmeridiem:function(hours,minutes,isLower){\nreturnhours<12?'PD':'MD';\n},\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Sotnë]LT',\nnextDay:'[Nesërnë]LT',\nnextWeek:'dddd[në]LT',\nlastDay:'[Djenë]LT',\nlastWeek:'dddd[ekaluarnë]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'në%s',\npast:'%smëparë',\ns:'disasekonda',\nss:'%dsekonda',\nm:'njëminutë',\nmm:'%dminuta',\nh:'njëorë',\nhh:'%dorë',\nd:'njëditë',\ndd:'%dditë',\nM:'njëmuaj',\nMM:'%dmuaj',\ny:'njëvit',\nyy:'%dvite',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}\\./,\nordinal:'%d.',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvartranslator$1 ={\nwords:{\n//Differentgrammaticalcases\nss:['секунда','секунде','секунди'],\nm:['једанминут','једногминута'],\nmm:['минут','минута','минута'],\nh:['једансат','једногсата'],\nhh:['сат','сата','сати'],\nd:['једандан','једногдана'],\ndd:['дан','дана','дана'],\nM:['једанмесец','једногмесеца'],\nMM:['месец','месеца','месеци'],\ny:['једнугодину','једнегодине'],\nyy:['годину','године','година'],\n},\ncorrectGrammaticalCase:function(number,wordKey){\nif(\nnumber%10>= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10||number%100>= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$1.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$1.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator$1.translate,\n m: translator$1.translate,\n mm: translator$1.translate,\n h: translator$1.translate,\n hh: translator$1.translate,\n d: translator$1.translate,\n dd: translator$1.translate,\n M: translator$1.translate,\n MM: translator$1.translate,\n y: translator$1.translate,\n yy: translator$1.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10||number%100>= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$2.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$2.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator$2.translate,\n m: translator$2.translate,\n mm: translator$2.translate,\n h: translator$2.translate,\n hh: translator$2.translate,\n d: translator$2.translate,\n dd: translator$2.translate,\n M: translator$2.translate,\n MM: translator$2.translate,\n y: translator$2.translate,\n yy: translator$2.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11){\nreturn'ekuseni';\n}elseif(hours<15){\nreturn'emini';\n}elseif(hours<19){\nreturn'entsambama';\n}else{\nreturn'ebusuku';\n}\n},\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='ekuseni'){\nreturnhour;\n}elseif(meridiem ==='emini'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$h = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap$g = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n hooks.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$g[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$h[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2){\nreturn'யாமம்';\n}elseif(hour<6){\nreturn'வைகறை';//வைகறை\n}elseif(hour<10){\nreturn'காலை';//காலை\n}elseif(hour<14){\nreturn'நண்பகல்';//நண்பகல்\n}elseif(hour<18){\nreturn'எற்பாடு';//எற்பாடு\n}elseif(hour<22){\nreturn'மாலை';//மாலை\n}else{\nreturn'யாமம்';\n}\n},\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='யாமம்'){\nreturnhour<2?hour:hour+12;\n}elseif(meridiem ==='வைகறை'||meridiem ==='காலை'){\nreturnhour;\n}elseif(meridiem ==='நண்பகல்'){\nreturnhour>= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4?hour:hour+12;\n}elseif(meridiem ==='ఉదయం'){\nreturnhour;\n}elseif(meridiem ==='మధ్యాహ్నం'){\nreturnhour>= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'రాత్రి';\n}elseif(hour<10){\nreturn'ఉదయం';\n}elseif(hour<17){\nreturn'మధ్యాహ్నం';\n}elseif(hour<20){\nreturn'సాయంత్రం';\n}else{\nreturn'రాత్రి';\n}\n},\nweek:{\ndow:0,//Sundayisthefirstdayoftheweek.\ndoy:6,//TheweekthatcontainsJan6thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('tet',{\nmonths:'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n'_'\n),\nmonthsShort:'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\nweekdays:'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\nweekdaysShort:'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\nweekdaysMin:'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Ohiniha]LT',\nnextDay:'[Abaniha]LT',\nnextWeek:'dddd[iha]LT',\nlastDay:'[Horiseikiha]LT',\nlastWeek:'dddd[semanakotuk][iha]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'iha%s',\npast:'%sliuba',\ns:'segundubalun',\nss:'segundu%d',\nm:'minutuida',\nmm:'minutu%d',\nh:'orasida',\nhh:'oras%d',\nd:'loronida',\ndd:'loron%d',\nM:'fulanida',\nMM:'fulan%d',\ny:'tinanida',\nyy:'tinan%d',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,\nordinal:function(number){\nvarb =number%10,\noutput =\n~~((number%100)/10)===1\n?'th'\n:b ===1\n?'st'\n:b ===2\n?'nd'\n:b ===3\n?'rd'\n:'th';\nreturnnumber+output;\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsuffixes$3 ={\n0:'-ум',\n1:'-ум',\n2:'-юм',\n3:'-юм',\n4:'-ум',\n5:'-ум',\n6:'-ум',\n7:'-ум',\n8:'-ум',\n9:'-ум',\n10:'-ум',\n12:'-ум',\n13:'-ум',\n20:'-ум',\n30:'-юм',\n40:'-ум',\n50:'-ум',\n60:'-ум',\n70:'-ум',\n80:'-ум',\n90:'-ум',\n100:'-ум',\n};\n\nhooks.defineLocale('tg',{\nmonths:{\nformat:'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n'_'\n),\nstandalone:\n'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n'_'\n),\n},\nmonthsShort:'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\nweekdays:'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n'_'\n),\nweekdaysShort:'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\nweekdaysMin:'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Имрӯзсоати]LT',\nnextDay:'[Фардосоати]LT',\nlastDay:'[Дирӯзсоати]LT',\nnextWeek:'dddd[и][ҳафтаиояндасоати]LT',\nlastWeek:'dddd[и][ҳафтаигузаштасоати]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'баъди%s',\npast:'%sпеш',\ns:'якчандсония',\nm:'якдақиқа',\nmm:'%dдақиқа',\nh:'яксоат',\nhh:'%dсоат',\nd:'якрӯз',\ndd:'%dрӯз',\nM:'якмоҳ',\nMM:'%dмоҳ',\ny:'яксол',\nyy:'%dсол',\n},\nmeridiemParse:/шаб|субҳ|рӯз|бегоҳ/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='шаб'){\nreturnhour<4?hour:hour+12;\n}elseif(meridiem ==='субҳ'){\nreturnhour;\n}elseif(meridiem ==='рӯз'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'шаб';\n}elseif(hour<11){\nreturn'субҳ';\n}elseif(hour<16){\nreturn'рӯз';\n}elseif(hour<19){\nreturn'бегоҳ';\n}else{\nreturn'шаб';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(ум|юм)/,\nordinal:function(number){\nvara =number%10,\nb =number>= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12){\nreturn'ก่อนเที่ยง';\n}else{\nreturn'หลังเที่ยง';\n}\n},\ncalendar:{\nsameDay:'[วันนี้เวลา]LT',\nnextDay:'[พรุ่งนี้เวลา]LT',\nnextWeek:'dddd[หน้าเวลา]LT',\nlastDay:'[เมื่อวานนี้เวลา]LT',\nlastWeek:'[วัน]dddd[ที่แล้วเวลา]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'อีก%s',\npast:'%sที่แล้ว',\ns:'ไม่กี่วินาที',\nss:'%dวินาที',\nm:'1นาที',\nmm:'%dนาที',\nh:'1ชั่วโมง',\nhh:'%dชั่วโมง',\nd:'1วัน',\ndd:'%dวัน',\nw:'1สัปดาห์',\nww:'%dสัปดาห์',\nM:'1เดือน',\nMM:'%dเดือน',\ny:'1ปี',\nyy:'%dปี',\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarsuffixes$4 ={\n1:\"'inji\",\n5:\"'inji\",\n8:\"'inji\",\n70:\"'inji\",\n80:\"'inji\",\n2:\"'nji\",\n7:\"'nji\",\n20:\"'nji\",\n50:\"'nji\",\n3:\"'ünji\",\n4:\"'ünji\",\n100:\"'ünji\",\n6:\"'njy\",\n9:\"'unjy\",\n10:\"'unjy\",\n30:\"'unjy\",\n60:\"'ynjy\",\n90:\"'ynjy\",\n};\n\nhooks.defineLocale('tk',{\nmonths:'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n'_'\n),\nmonthsShort:'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\nweekdays:'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n'_'\n),\nweekdaysShort:'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\nweekdaysMin:'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[bugünsagat]LT',\nnextDay:'[ertirsagat]LT',\nnextWeek:'[indiki]dddd[sagat]LT',\nlastDay:'[düýn]LT',\nlastWeek:'[geçen]dddd[sagat]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%ssoň',\npast:'%söň',\ns:'birnäçesekunt',\nm:'birminut',\nmm:'%dminut',\nh:'birsagat',\nhh:'%dsagat',\nd:'birgün',\ndd:'%dgün',\nM:'biraý',\nMM:'%daý',\ny:'birýyl',\nyy:'%dýyl',\n},\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'Do':\ncase'DD':\nreturnnumber;\ndefault:\nif(number ===0){\n//specialcaseforzero\nreturnnumber+\"'unjy\";\n}\nvara =number%10,\nb =(number%100)-a,\nc =number>= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n hooks.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate$a,\n m: 'wa’ tup',\n mm: translate$a,\n h: 'wa’ rep',\n hh: translate$a,\n d: 'wa’ jaj',\n dd: translate$a,\n M: 'wa’ jar',\n MM: translate$a,\n y: 'wa’ DIS',\n yy: translate$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$5 = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n hooks.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12){\nreturnisLower?'öö':'ÖÖ';\n}else{\nreturnisLower?'ös':'ÖS';\n}\n},\nmeridiemParse:/öö|ÖÖ|ös|ÖS/,\nisPM:function(input){\nreturninput ==='ös'||input ==='ÖS';\n},\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD.MM.YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[bugünsaat]LT',\nnextDay:'[yarınsaat]LT',\nnextWeek:'[gelecek]dddd[saat]LT',\nlastDay:'[dün]LT',\nlastWeek:'[geçen]dddd[saat]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%ssonra',\npast:'%sönce',\ns:'birkaçsaniye',\nss:'%dsaniye',\nm:'birdakika',\nmm:'%ddakika',\nh:'birsaat',\nhh:'%dsaat',\nd:'birgün',\ndd:'%dgün',\nw:'birhafta',\nww:'%dhafta',\nM:'biray',\nMM:'%day',\ny:'biryıl',\nyy:'%dyıl',\n},\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'Do':\ncase'DD':\nreturnnumber;\ndefault:\nif(number ===0){\n//specialcaseforzero\nreturnnumber+\"'ıncı\";\n}\nvara =number%10,\nb =(number%100)-a,\nc =number>= 100 ? 100 : null;\n return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n hooks.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime$a,\n ss: processRelativeTime$a,\n m: processRelativeTime$a,\n mm: processRelativeTime$a,\n h: processRelativeTime$a,\n hh: processRelativeTime$a,\n d: processRelativeTime$a,\n dd: processRelativeTime$a,\n M: processRelativeTime$a,\n MM: processRelativeTime$a,\n y: processRelativeTime$a,\n yy: processRelativeTime$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime$a(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600){\nreturn'يېرىمكېچە';\n}elseif(hm<900){\nreturn'سەھەر';\n}elseif(hm<1130){\nreturn'چۈشتىنبۇرۇن';\n}elseif(hm<1230){\nreturn'چۈش';\n}elseif(hm<1800){\nreturn'چۈشتىنكېيىن';\n}else{\nreturn'كەچ';\n}\n},\ncalendar:{\nsameDay:'[بۈگۈنسائەت]LT',\nnextDay:'[ئەتەسائەت]LT',\nnextWeek:'[كېلەركى]dddd[سائەت]LT',\nlastDay:'[تۆنۈگۈن]LT',\nlastWeek:'[ئالدىنقى]dddd[سائەت]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sكېيىن',\npast:'%sبۇرۇن',\ns:'نەچچەسېكونت',\nss:'%dسېكونت',\nm:'بىرمىنۇت',\nmm:'%dمىنۇت',\nh:'بىرسائەت',\nhh:'%dسائەت',\nd:'بىركۈن',\ndd:'%dكۈن',\nM:'بىرئاي',\nMM:'%dئاي',\ny:'بىريىل',\nyy:'%dيىل',\n},\n\ndayOfMonthOrdinalParse:/\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'-كۈنى';\ncase'w':\ncase'W':\nreturnnumber+'-ھەپتە';\ndefault:\nreturnnumber;\n}\n},\npreparse:function(string){\nreturnstring.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring.replace(/,/g,'،');\n},\nweek:{\n//GB/T7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO8601:1988等效\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan1stisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nfunctionplural$6(word,num){\nvarforms =word.split('_');\nreturnnum%10 ===1&&num%100!==11\n?forms[0]\n:num%10>= 2 && num % 10 <= 4 && (num % 100 < 10||num%100>= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n hooks.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural$4,\n m: relativeTimeWithPlural$4,\n mm: relativeTimeWithPlural$4,\n h: 'годину',\n hh: relativeTimeWithPlural$4,\n d: 'день',\n dd: relativeTimeWithPlural$4,\n M: 'місяць',\n MM: relativeTimeWithPlural$4,\n y: 'рік',\n yy: relativeTimeWithPlural$4,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4){\nreturn'ночі';\n}elseif(hour<12){\nreturn'ранку';\n}elseif(hour<17){\nreturn'дня';\n}else{\nreturn'вечора';\n}\n},\ndayOfMonthOrdinalParse:/\\d{1,2}-(й|го)/,\nordinal:function(number,period){\nswitch(period){\ncase'M':\ncase'd':\ncase'DDD':\ncase'w':\ncase'W':\nreturnnumber+'-й';\ncase'D':\nreturnnumber+'-го';\ndefault:\nreturnnumber;\n}\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nvarmonths$b =[\n'جنوری',\n'فروری',\n'مارچ',\n'اپریل',\n'مئی',\n'جون',\n'جولائی',\n'اگست',\n'ستمبر',\n'اکتوبر',\n'نومبر',\n'دسمبر',\n],\ndays$2 =['اتوار','پیر','منگل','بدھ','جمعرات','جمعہ','ہفتہ'];\n\nhooks.defineLocale('ur',{\nmonths:months$b,\nmonthsShort:months$b,\nweekdays:days$2,\nweekdaysShort:days$2,\nweekdaysMin:days$2,\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd،DMMMMYYYYHH:mm',\n},\nmeridiemParse:/صبح|شام/,\nisPM:function(input){\nreturn'شام'===input;\n},\nmeridiem:function(hour,minute,isLower){\nif(hour<12){\nreturn'صبح';\n}\nreturn'شام';\n},\ncalendar:{\nsameDay:'[آجبوقت]LT',\nnextDay:'[کلبوقت]LT',\nnextWeek:'dddd[بوقت]LT',\nlastDay:'[گذشتہروزبوقت]LT',\nlastWeek:'[گذشتہ]dddd[بوقت]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%sبعد',\npast:'%sقبل',\ns:'چندسیکنڈ',\nss:'%dسیکنڈ',\nm:'ایکمنٹ',\nmm:'%dمنٹ',\nh:'ایکگھنٹہ',\nhh:'%dگھنٹے',\nd:'ایکدن',\ndd:'%dدن',\nM:'ایکماہ',\nMM:'%dماہ',\ny:'ایکسال',\nyy:'%dسال',\n},\npreparse:function(string){\nreturnstring.replace(/،/g,',');\n},\npostformat:function(string){\nreturnstring.replace(/,/g,'،');\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('uz-latn',{\nmonths:'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n'_'\n),\nmonthsShort:'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\nweekdays:\n'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n'_'\n),\nweekdaysShort:'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\nweekdaysMin:'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'DMMMMYYYY,ddddHH:mm',\n},\ncalendar:{\nsameDay:'[Bugunsoat]LT[da]',\nnextDay:'[Ertaga]LT[da]',\nnextWeek:'dddd[kunisoat]LT[da]',\nlastDay:'[Kechasoat]LT[da]',\nlastWeek:\"[O'tgan]dddd[kunisoat]LT[da]\",\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'Yaqin%sichida',\npast:'Birnecha%soldin',\ns:'soniya',\nss:'%dsoniya',\nm:'birdaqiqa',\nmm:'%ddaqiqa',\nh:'birsoat',\nhh:'%dsoat',\nd:'birkun',\ndd:'%dkun',\nM:'biroy',\nMM:'%doy',\ny:'biryil',\nyy:'%dyil',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan7thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('uz',{\nmonths:'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n'_'\n),\nmonthsShort:'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\nweekdays:'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\nweekdaysShort:'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\nweekdaysMin:'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'DMMMMYYYY,ddddHH:mm',\n},\ncalendar:{\nsameDay:'[Бугунсоат]LT[да]',\nnextDay:'[Эртага]LT[да]',\nnextWeek:'dddd[кунисоат]LT[да]',\nlastDay:'[Кечасоат]LT[да]',\nlastWeek:'[Утган]dddd[кунисоат]LT[да]',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'Якин%sичида',\npast:'Бирнеча%sолдин',\ns:'фурсат',\nss:'%dфурсат',\nm:'бирдакика',\nmm:'%dдакика',\nh:'бирсоат',\nhh:'%dсоат',\nd:'биркун',\ndd:'%dкун',\nM:'бирой',\nMM:'%dой',\ny:'бирйил',\nyy:'%dйил',\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:7,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('vi',{\nmonths:'tháng1_tháng2_tháng3_tháng4_tháng5_tháng6_tháng7_tháng8_tháng9_tháng10_tháng11_tháng12'.split(\n'_'\n),\nmonthsShort:\n'Thg01_Thg02_Thg03_Thg04_Thg05_Thg06_Thg07_Thg08_Thg09_Thg10_Thg11_Thg12'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:'chủnhật_thứhai_thứba_thứtư_thứnăm_thứsáu_thứbảy'.split(\n'_'\n),\nweekdaysShort:'CN_T2_T3_T4_T5_T6_T7'.split('_'),\nweekdaysMin:'CN_T2_T3_T4_T5_T6_T7'.split('_'),\nweekdaysParseExact:true,\nmeridiemParse:/sa|ch/i,\nisPM:function(input){\nreturn/^ch$/i.test(input);\n},\nmeridiem:function(hours,minutes,isLower){\nif(hours<12){\nreturnisLower?'sa':'SA';\n}else{\nreturnisLower?'ch':'CH';\n}\n},\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'DMMMM[năm]YYYY',\nLLL:'DMMMM[năm]YYYYHH:mm',\nLLLL:'dddd,DMMMM[năm]YYYYHH:mm',\nl:'DD/M/YYYY',\nll:'DMMMYYYY',\nlll:'DMMMYYYYHH:mm',\nllll:'ddd,DMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[Hômnaylúc]LT',\nnextDay:'[Ngàymailúc]LT',\nnextWeek:'dddd[tuầntớilúc]LT',\nlastDay:'[Hômqualúc]LT',\nlastWeek:'dddd[tuầntrướclúc]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'%stới',\npast:'%strước',\ns:'vàigiây',\nss:'%dgiây',\nm:'mộtphút',\nmm:'%dphút',\nh:'mộtgiờ',\nhh:'%dgiờ',\nd:'mộtngày',\ndd:'%dngày',\nw:'mộttuần',\nww:'%dtuần',\nM:'mộttháng',\nMM:'%dtháng',\ny:'mộtnăm',\nyy:'%dnăm',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}/,\nordinal:function(number){\nreturnnumber;\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('x-pseudo',{\nmonths:'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n'_'\n),\nmonthsShort:\n'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n'_'\n),\nmonthsParseExact:true,\nweekdays:\n'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n'_'\n),\nweekdaysShort:'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\nweekdaysMin:'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\nweekdaysParseExact:true,\nlongDateFormat:{\nLT:'HH:mm',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYHH:mm',\nLLLL:'dddd,DMMMMYYYYHH:mm',\n},\ncalendar:{\nsameDay:'[T~ódá~ýát]LT',\nnextDay:'[T~ómó~rró~wát]LT',\nnextWeek:'dddd[át]LT',\nlastDay:'[Ý~ést~érdá~ýát]LT',\nlastWeek:'[L~ást]dddd[át]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'í~ñ%s',\npast:'%sá~gó',\ns:'á~féw~sécó~ñds',\nss:'%ds~écóñ~ds',\nm:'á~míñ~úté',\nmm:'%dm~íñú~tés',\nh:'á~ñhó~úr',\nhh:'%dh~óúrs',\nd:'á~dáý',\ndd:'%dd~áýs',\nM:'á~móñ~th',\nMM:'%dm~óñt~hs',\ny:'á~ýéár',\nyy:'%dý~éárs',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,\nordinal:function(number){\nvarb =number%10,\noutput =\n~~((number%100)/10)===1\n?'th'\n:b ===1\n?'st'\n:b ===2\n?'nd'\n:b ===3\n?'rd'\n:'th';\nreturnnumber+output;\n},\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('yo',{\nmonths:'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n'_'\n),\nmonthsShort:'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\nweekdays:'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\nweekdaysShort:'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\nweekdaysMin:'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\nlongDateFormat:{\nLT:'h:mmA',\nLTS:'h:mm:ssA',\nL:'DD/MM/YYYY',\nLL:'DMMMMYYYY',\nLLL:'DMMMMYYYYh:mmA',\nLLLL:'dddd,DMMMMYYYYh:mmA',\n},\ncalendar:{\nsameDay:'[Ònìni]LT',\nnextDay:'[Ọ̀lani]LT',\nnextWeek:\"dddd[Ọsẹ̀tón'bọ][ni]LT\",\nlastDay:'[Ànani]LT',\nlastWeek:'dddd[Ọsẹ̀tólọ́][ni]LT',\nsameElse:'L',\n},\nrelativeTime:{\nfuture:'ní%s',\npast:'%skọjá',\ns:'ìsẹjúaayádie',\nss:'aayá%d',\nm:'ìsẹjúkan',\nmm:'ìsẹjú%d',\nh:'wákatikan',\nhh:'wákati%d',\nd:'ọjọ́kan',\ndd:'ọjọ́%d',\nM:'osùkan',\nMM:'osù%d',\ny:'ọdúnkan',\nyy:'ọdún%d',\n},\ndayOfMonthOrdinalParse:/ọjọ́\\s\\d{1,2}/,\nordinal:'ọjọ́%d',\nweek:{\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('zh-cn',{\nmonths:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n'_'\n),\nmonthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n'_'\n),\nweekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\nweekdaysShort:'周日_周一_周二_周三_周四_周五_周六'.split('_'),\nweekdaysMin:'日_一_二_三_四_五_六'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY/MM/DD',\nLL:'YYYY年M月D日',\nLLL:'YYYY年M月D日Ah点mm分',\nLLLL:'YYYY年M月D日ddddAh点mm分',\nl:'YYYY/M/D',\nll:'YYYY年M月D日',\nlll:'YYYY年M月D日HH:mm',\nllll:'YYYY年M月D日ddddHH:mm',\n},\nmeridiemParse:/凌晨|早上|上午|中午|下午|晚上/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='凌晨'||meridiem ==='早上'||meridiem ==='上午'){\nreturnhour;\n}elseif(meridiem ==='下午'||meridiem ==='晚上'){\nreturnhour+12;\n}else{\n//'中午'\nreturnhour>= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600){\nreturn'凌晨';\n}elseif(hm<900){\nreturn'早上';\n}elseif(hm<1130){\nreturn'上午';\n}elseif(hm<1230){\nreturn'中午';\n}elseif(hm<1800){\nreturn'下午';\n}else{\nreturn'晚上';\n}\n},\ncalendar:{\nsameDay:'[今天]LT',\nnextDay:'[明天]LT',\nnextWeek:function(now){\nif(now.week()!==this.week()){\nreturn'[下]dddLT';\n}else{\nreturn'[本]dddLT';\n}\n},\nlastDay:'[昨天]LT',\nlastWeek:function(now){\nif(this.week()!==now.week()){\nreturn'[上]dddLT';\n}else{\nreturn'[本]dddLT';\n}\n},\nsameElse:'L',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(日|月|周)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'日';\ncase'M':\nreturnnumber+'月';\ncase'w':\ncase'W':\nreturnnumber+'周';\ndefault:\nreturnnumber;\n}\n},\nrelativeTime:{\nfuture:'%s后',\npast:'%s前',\ns:'几秒',\nss:'%d秒',\nm:'1分钟',\nmm:'%d分钟',\nh:'1小时',\nhh:'%d小时',\nd:'1天',\ndd:'%d天',\nw:'1周',\nww:'%d周',\nM:'1个月',\nMM:'%d个月',\ny:'1年',\nyy:'%d年',\n},\nweek:{\n//GB/T7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO8601:1988等效\ndow:1,//Mondayisthefirstdayoftheweek.\ndoy:4,//TheweekthatcontainsJan4thisthefirstweekoftheyear.\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('zh-hk',{\nmonths:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n'_'\n),\nmonthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n'_'\n),\nweekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\nweekdaysShort:'週日_週一_週二_週三_週四_週五_週六'.split('_'),\nweekdaysMin:'日_一_二_三_四_五_六'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY/MM/DD',\nLL:'YYYY年M月D日',\nLLL:'YYYY年M月D日HH:mm',\nLLLL:'YYYY年M月D日ddddHH:mm',\nl:'YYYY/M/D',\nll:'YYYY年M月D日',\nlll:'YYYY年M月D日HH:mm',\nllll:'YYYY年M月D日ddddHH:mm',\n},\nmeridiemParse:/凌晨|早上|上午|中午|下午|晚上/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='凌晨'||meridiem ==='早上'||meridiem ==='上午'){\nreturnhour;\n}elseif(meridiem ==='中午'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600){\nreturn'凌晨';\n}elseif(hm<900){\nreturn'早上';\n}elseif(hm<1200){\nreturn'上午';\n}elseif(hm ===1200){\nreturn'中午';\n}elseif(hm<1800){\nreturn'下午';\n}else{\nreturn'晚上';\n}\n},\ncalendar:{\nsameDay:'[今天]LT',\nnextDay:'[明天]LT',\nnextWeek:'[下]ddddLT',\nlastDay:'[昨天]LT',\nlastWeek:'[上]ddddLT',\nsameElse:'L',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'日';\ncase'M':\nreturnnumber+'月';\ncase'w':\ncase'W':\nreturnnumber+'週';\ndefault:\nreturnnumber;\n}\n},\nrelativeTime:{\nfuture:'%s後',\npast:'%s前',\ns:'幾秒',\nss:'%d秒',\nm:'1分鐘',\nmm:'%d分鐘',\nh:'1小時',\nhh:'%d小時',\nd:'1天',\ndd:'%d天',\nM:'1個月',\nMM:'%d個月',\ny:'1年',\nyy:'%d年',\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('zh-mo',{\nmonths:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n'_'\n),\nmonthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n'_'\n),\nweekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\nweekdaysShort:'週日_週一_週二_週三_週四_週五_週六'.split('_'),\nweekdaysMin:'日_一_二_三_四_五_六'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'DD/MM/YYYY',\nLL:'YYYY年M月D日',\nLLL:'YYYY年M月D日HH:mm',\nLLLL:'YYYY年M月D日ddddHH:mm',\nl:'D/M/YYYY',\nll:'YYYY年M月D日',\nlll:'YYYY年M月D日HH:mm',\nllll:'YYYY年M月D日ddddHH:mm',\n},\nmeridiemParse:/凌晨|早上|上午|中午|下午|晚上/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='凌晨'||meridiem ==='早上'||meridiem ==='上午'){\nreturnhour;\n}elseif(meridiem ==='中午'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600){\nreturn'凌晨';\n}elseif(hm<900){\nreturn'早上';\n}elseif(hm<1130){\nreturn'上午';\n}elseif(hm<1230){\nreturn'中午';\n}elseif(hm<1800){\nreturn'下午';\n}else{\nreturn'晚上';\n}\n},\ncalendar:{\nsameDay:'[今天]LT',\nnextDay:'[明天]LT',\nnextWeek:'[下]ddddLT',\nlastDay:'[昨天]LT',\nlastWeek:'[上]ddddLT',\nsameElse:'L',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'日';\ncase'M':\nreturnnumber+'月';\ncase'w':\ncase'W':\nreturnnumber+'週';\ndefault:\nreturnnumber;\n}\n},\nrelativeTime:{\nfuture:'%s內',\npast:'%s前',\ns:'幾秒',\nss:'%d秒',\nm:'1分鐘',\nmm:'%d分鐘',\nh:'1小時',\nhh:'%d小時',\nd:'1天',\ndd:'%d天',\nM:'1個月',\nMM:'%d個月',\ny:'1年',\nyy:'%d年',\n},\n});\n\n//!moment.jslocaleconfiguration\n\nhooks.defineLocale('zh-tw',{\nmonths:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n'_'\n),\nmonthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n'_'\n),\nweekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\nweekdaysShort:'週日_週一_週二_週三_週四_週五_週六'.split('_'),\nweekdaysMin:'日_一_二_三_四_五_六'.split('_'),\nlongDateFormat:{\nLT:'HH:mm',\nLTS:'HH:mm:ss',\nL:'YYYY/MM/DD',\nLL:'YYYY年M月D日',\nLLL:'YYYY年M月D日HH:mm',\nLLLL:'YYYY年M月D日ddddHH:mm',\nl:'YYYY/M/D',\nll:'YYYY年M月D日',\nlll:'YYYY年M月D日HH:mm',\nllll:'YYYY年M月D日ddddHH:mm',\n},\nmeridiemParse:/凌晨|早上|上午|中午|下午|晚上/,\nmeridiemHour:function(hour,meridiem){\nif(hour ===12){\nhour =0;\n}\nif(meridiem ==='凌晨'||meridiem ==='早上'||meridiem ==='上午'){\nreturnhour;\n}elseif(meridiem ==='中午'){\nreturnhour>= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600){\nreturn'凌晨';\n}elseif(hm<900){\nreturn'早上';\n}elseif(hm<1130){\nreturn'上午';\n}elseif(hm<1230){\nreturn'中午';\n}elseif(hm<1800){\nreturn'下午';\n}else{\nreturn'晚上';\n}\n},\ncalendar:{\nsameDay:'[今天]LT',\nnextDay:'[明天]LT',\nnextWeek:'[下]ddddLT',\nlastDay:'[昨天]LT',\nlastWeek:'[上]ddddLT',\nsameElse:'L',\n},\ndayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,\nordinal:function(number,period){\nswitch(period){\ncase'd':\ncase'D':\ncase'DDD':\nreturnnumber+'日';\ncase'M':\nreturnnumber+'月';\ncase'w':\ncase'W':\nreturnnumber+'週';\ndefault:\nreturnnumber;\n}\n},\nrelativeTime:{\nfuture:'%s後',\npast:'%s前',\ns:'幾秒',\nss:'%d秒',\nm:'1分鐘',\nmm:'%d分鐘',\nh:'1小時',\nhh:'%d小時',\nd:'1天',\ndd:'%d天',\nM:'1個月',\nMM:'%d個月',\ny:'1年',\nyy:'%d年',\n},\n});\n\nhooks.locale('en');\n\nreturnhooks;\n\n})));\n","importmomentfrom\"moment/min/moment-with-locales.js\";\nimport{defaultasdefault2}from\"moment/min/moment-with-locales.js\";\nimport{getLocale}from\"@nextcloud/l10n\";\nimport{getGettextBuilder}from\"@nextcloud/l10n/gettext\";\nconstlocale =getLocale();\nconsttranslations ={\"ar\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"ثوانٍ\"]}}}},\"ast\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"az\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"saniyə\"]}}}},\"be\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунды\"]}}}},\"br\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"eilennoù\"]}}}},\"ca\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segons\"]}}}},\"cs\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekund(y)\"]}}}},\"cs_CZ\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekund(y)\"]}}}},\"da\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunder\"]}}}},\"de\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"Sekunden\"]}}}},\"de_DE\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"Sekunden\"]}}}},\"el\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"δευτερόλεπτα\"]}}}},\"en_GB\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"seconds\"]}}}},\"eo\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekundoj\"]}}}},\"es\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"es_AR\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"es_CL\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"es_MX\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"et_EE\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekundid\"]}}}},\"eu\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundo\"]}}}},\"fa\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"ثانیه\"]}}}},\"fi\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekuntia\"]}}}},\"fi_FI\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekuntia\"]}}}},\"fr\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"secondes\"]}}}},\"ga\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"soicindí\"]}}}},\"gl\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"he\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"שניות\"]}}}},\"hr\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunde\"]}}}},\"hu\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"másodperc\"]}}}},\"hu_HU\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"másodperc\"]}}}},\"id\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"detik\"]}}}},\"is\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekúndur\"]}}}},\"it\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"secondi\"]}}}},\"ja\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"秒後\"]}}}},\"ja_JP\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"秒\"]}}}},\"kab\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"tasinin\"]}}}},\"ko\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"초\"]}}}},\"lo\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"ວິນາທີ\"]}}}},\"lt_LT\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sek.\"]}}}},\"lv\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekundes\"]}}}},\"mk\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунди\"]}}}},\"mn\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунд\"]}}}},\"ms_MY\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"saat\"]}}}},\"my\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"စက္ကန့်\"]}}}},\"nb\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunder\"]}}}},\"nb_NO\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunder\"]}}}},\"nl\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"seconden\"]}}}},\"oc\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segondas\"]}}}},\"pl\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekundy\"]}}}},\"pt_BR\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"pt_PT\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"segundos\"]}}}},\"ro\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"secunde\"]}}}},\"ru\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунды\"]}}}},\"si\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"තත්පර\"]}}}},\"sk\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekúnd\"]}}}},\"sk_SK\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekundy\"]}}}},\"sl\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunde\"]}}}},\"sq\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekonda\"]}}}},\"sr\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунде\"]}}}},\"sv\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"sekunder\"]}}}},\"th_TH\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"วินาที\"]}}}},\"tr\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"saniye\"]}}}},\"uk\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"секунд\"]}}}},\"uz\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"ikkinchi\"]}}}},\"vi\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"giây\"]}}}},\"zh_CN\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"秒\"]}}}},\"zh_HK\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"秒\"]}}}},\"zh_TW\":{\"charset\":\"utf-8\",\"translations\":{\"\":{\"seconds\":{\"msgid\":\"seconds\",\"msgstr\":[\"秒\"]}}}}};\nmoment.locale(locale);\nif(locale ===\"en\"){\nmoment.updateLocale(moment.locale(),{\nrelativeTime:{s:\"seconds\"}\n});\n}\nif(localeintranslations){\nconstgt =getGettextBuilder().setLanguage(locale).addTranslation(locale,translations[locale]).build();\nmoment.updateLocale(moment.locale(),{\nrelativeTime:{\ns:gt.gettext(\"seconds\")\n}\n});\n}\nexport{\ndefault2asdefault\n};\n//#sourceMappingURL=index.mjs.map\n","<template>\n <spanv-bind=\"$attrs\"\n:aria-hidden=\"title?null:'true'\"\n:aria-label=\"title\"\nclass=\"material-design-iconbackup-restore-icon\"\nrole=\"img\"\n@click=\"$emit('click',$event)\">\n <svg:fill=\"fillColor\"\nclass=\"material-design-icon__svg\"\n:width=\"size\"\n:height=\"size\"\nviewBox=\"002424\">\n <pathd=\"M12,3A9,900,03,12H0L4,16L8,12H5A7,700,112,5A7,700,119,12A7,700,112,19C10.5,199.09,18.57.94,17.7L6.5,19.14C8.04,20.39.94,2112,21A9,900,021,12A9,900,012,3M14,12A2,200,012,10A2,200,010,12A2,200,012,14A2,200,014,12Z\">\n <titlev-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"BackupRestoreIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <spanv-bind=\"$attrs\"\n:aria-hidden=\"title?null:'true'\"\n:aria-label=\"title\"\nclass=\"material-design-iconfile-compare-icon\"\nrole=\"img\"\n@click=\"$emit('click',$event)\">\n <svg:fill=\"fillColor\"\nclass=\"material-design-icon__svg\"\n:width=\"size\"\n:height=\"size\"\nviewBox=\"002424\">\n <pathd=\"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,24,2.894,4V20A2,200,06,22H10V23H12V1H10M20,8V20C20,21.1119.11,2218,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z\">\n <titlev-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FileCompareIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <spanv-bind=\"$attrs\"\n:aria-hidden=\"title?null:'true'\"\n:aria-label=\"title\"\nclass=\"material-design-iconimage-off-outline-icon\"\nrole=\"img\"\n@click=\"$emit('click',$event)\">\n <svg:fill=\"fillColor\"\nclass=\"material-design-icon__svg\"\n:width=\"size\"\n:height=\"size\"\nviewBox=\"002424\">\n <pathd=\"M2220.7L3.32L23.3L34.3V19C320.13.921521H19.7L20.722L2220.7M519V6.3L12.613.9L11.115.8L913.1L617H15.7L17.719H5M8.85L6.83H19C20.13213.9215V17.2L1915.2V5H8.8\">\n <titlev-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ImageOffOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <spanv-bind=\"$attrs\"\n:aria-hidden=\"title?null:'true'\"\n:aria-label=\"title\"\nclass=\"material-design-iconpencil-outline-icon\"\nrole=\"img\"\n@click=\"$emit('click',$event)\">\n <svg:fill=\"fillColor\"\nclass=\"material-design-icon__svg\"\n:width=\"size\"\n:height=\"size\"\nviewBox=\"002424\">\n <pathd=\"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,317.15,3.116.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.6521.1,620.71,5.63L18.37,3.29C18.17,3.0917.92,317.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\">\n <titlev-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PencilOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcListItem\n\t\tclass=\"version\"\n\t\t:force-display-actions=\"true\"\n\t\t:actions-aria-label=\"t('files_versions','Actionsforversionfrom{versionHumanExplicitDate}',{versionHumanExplicitDate})\"\n\t\t:data-files-versions-version=\"version.fileVersion\"\n\t\t@click=\"click\">\n\t\t<!-- Icon -->\n\t\t<template#icon>\n\t\t\t<divv-if=\"!(loadPreview||previewLoaded)\"class=\"version__image\"/>\n\t\t\t<img\n\t\t\t\tv-else-if=\"version.previewUrl&&!previewErrored\"\n\t\t\t\t:src=\"version.previewUrl\"\n\t\t\t\talt=\"\"\n\t\t\t\tdecoding=\"async\"\n\t\t\t\tfetchpriority=\"low\"\n\t\t\t\tloading=\"lazy\"\n\t\t\t\tclass=\"version__image\"\n\t\t\t\t@load=\"previewLoaded=true\"\n\t\t\t\t@error=\"previewErrored=true\">\n\t\t\t<div\n\t\t\t\tv-else\n\t\t\t\tclass=\"version__image\">\n\t\t\t\t<ImageOffOutline:size=\"20\"/>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<!-- author -->\n\t\t<template#name>\n\t\t\t<divclass=\"version__info\">\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"versionLabel\"\n\t\t\t\t\tclass=\"version__info__label\"\n\t\t\t\t\tdata-cy-files-version-label\n\t\t\t\t\t:title=\"versionLabel\">\n\t\t\t\t\t{{ versionLabel }}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"versionAuthor\"\n\t\t\t\t\tclass=\"version__info\"\n\t\t\t\t\tdata-cy-files-version-author-name>\n\t\t\t\t\t<spanv-if=\"versionLabel\">•</span>\n\t\t\t\t\t<NcAvatar\n\t\t\t\t\t\tclass=\"avatar\"\n\t\t\t\t\t\t:user=\"version.author??undefined\"\n\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\tdisable-menu\n\t\t\t\t\t\tdisable-tooltip\n\t\t\t\t\t\thide-status/>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"version__info__author_name\"\n\t\t\t\t\t\t:title=\"versionAuthor\">\n\t\t\t\t\t\t{{ versionAuthor }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<!-- Version file size as subline -->\n\t\t<template#subname>\n\t\t\t<divclass=\"version__infoversion__info__subline\">\n\t\t\t\t<NcDateTime\n\t\t\t\t\tclass=\"version__info__date\"\n\t\t\t\t\trelative-time=\"short\"\n\t\t\t\t\t:timestamp=\"version.mtime\"/>\n\t\t\t\t<!-- Separate dot to improve alignment -->\n\t\t\t\t<span>•</span>\n\t\t\t\t<span>{{ humanReadableSize }}</span>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<!-- Actions -->\n\t\t<template#actions>\n\t\t\t<NcActionButton\n\t\t\t\tv-if=\"enableLabeling&&hasUpdatePermissions\"\n\t\t\t\tdata-cy-files-versions-version-action=\"label\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t@click=\"labelUpdate\">\n\t\t\t\t<template#icon>\n\t\t\t\t\t<Pencil:size=\"22\"/>\n\t\t\t\t</template>\n\t\t\t\t{{ version.label === '' ? t('files_versions', 'Name this version') : t('files_versions', 'Edit version name') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton\n\t\t\t\tv-if=\"!isCurrent&&canView&&canCompare\"\n\t\t\t\tdata-cy-files-versions-version-action=\"compare\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t@click=\"compareVersion\">\n\t\t\t\t<template#icon>\n\t\t\t\t\t<FileCompare:size=\"22\"/>\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_versions', 'Compare to current version') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton\n\t\t\t\tv-if=\"!isCurrent&&hasUpdatePermissions\"\n\t\t\t\tdata-cy-files-versions-version-action=\"restore\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t@click=\"restoreVersion\">\n\t\t\t\t<template#icon>\n\t\t\t\t\t<BackupRestore:size=\"22\"/>\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_versions', 'Restore version') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionLink\n\t\t\t\tv-if=\"isDownloadable\"\n\t\t\t\tdata-cy-files-versions-version-action=\"download\"\n\t\t\t\t:href=\"downloadURL\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t:download=\"downloadURL\">\n\t\t\t\t<template#icon>\n\t\t\t\t\t<Download:size=\"22\"/>\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_versions', 'Download version') }}\n\t\t\t</NcActionLink>\n\t\t\t<NcActionButton\n\t\t\t\tv-if=\"!isCurrent&&enableDeletion&&hasDeletePermissions\"\n\t\t\t\tdata-cy-files-versions-version-action=\"delete\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t@click=\"deleteVersion\">\n\t\t\t\t<template#icon>\n\t\t\t\t\t<Delete:size=\"22\"/>\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_versions', 'Delete version') }}\n\t\t\t</NcActionButton>\n\t\t</template>\n\t</NcListItem>\n</template>\n\n<scriptlang=\"ts\"setup>\nimport type { PropType } from 'vue'\nimport type { LegacyFileInfo } from '../../../files/src/services/FileInfo.ts'\nimport type { Version } from '../utils/versions.ts'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { formatFileSize, Permission } from '@nextcloud/files'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { joinPaths } from '@nextcloud/paths'\nimport { getRootUrl } from '@nextcloud/router'\nimport { computed, nextTick, ref } from 'vue'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcDateTime from '@nextcloud/vue/components/NcDateTime'\nimport NcListItem from '@nextcloud/vue/components/NcListItem'\nimport BackupRestore from 'vue-material-design-icons/BackupRestore.vue'\nimport FileCompare from 'vue-material-design-icons/FileCompare.vue'\nimport ImageOffOutline from 'vue-material-design-icons/ImageOffOutline.vue'\nimport Pencil from 'vue-material-design-icons/PencilOutline.vue'\nimport Delete from 'vue-material-design-icons/TrashCanOutline.vue'\nimport Download from 'vue-material-design-icons/TrayArrowDown.vue'\n\nconst props = defineProps({\n\tversion: {\n\t\ttype: Object as PropType<Version>,\n\t\trequired: true,\n\t},\n\n\tfileInfo: {\n\t\ttype: Object as PropType<LegacyFileInfo>,\n\t\trequired: true,\n\t},\n\n\tisCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\tisFirstVersion: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\tloadPreview: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\tcanView: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\tcanCompare: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst emit = defineEmits(['click', 'compare', 'restore', 'delete', 'label-update-request'])\n\nconst hasPermission = (permissions: number, permission: number): boolean => (permissions & permission) !== 0\n\nconst previewLoaded = ref(false)\nconst previewErrored = ref(false)\nconst capabilities = ref(loadState('core', 'capabilities', { files: { version_labeling: false, version_deletion: false } }))\n\nconst humanReadableSize = computed(() => {\n\treturn formatFileSize(props.version.size)\n})\n\nconst versionLabel = computed(() => {\n\tconst label = props.version.label ?? ''\n\n\tif (props.isCurrent) {\n\t\tif (label === '') {\n\t\t\treturn t('files_versions', 'Current version')\n\t\t} else {\n\t\t\treturn `${label} (${t('files_versions', 'Current version')})`\n\t\t}\n\t}\n\n\tif (props.isFirstVersion && label === '') {\n\t\treturn t('files_versions', 'Initial version')\n\t}\n\n\treturn label\n})\n\nconst versionAuthor = computed(() => {\n\tif (!props.version.author || !props.version.authorName) {\n\t\treturn ''\n\t}\n\n\tif (props.version.author === getCurrentUser()?.uid) {\n\t\treturn t('files_versions', 'You')\n\t}\n\n\treturn props.version.authorName ?? props.version.author\n})\n\nconst versionHumanExplicitDate = computed(() => {\n\treturn moment(props.version.mtime).format('LLLL')\n})\n\nconst downloadURL = computed(() => {\n\tif (props.isCurrent) {\n\t\treturn getRootUrl() + joinPaths('/remote.php/webdav', props.fileInfo.path, props.fileInfo.name)\n\t} else {\n\t\treturn getRootUrl() + props.version.url\n\t}\n})\n\nconst enableLabeling = computed(() => {\n\treturn capabilities.value.files.version_labeling === true\n})\n\nconst enableDeletion = computed(() => {\n\treturn capabilities.value.files.version_deletion === true\n})\n\nconst hasDeletePermissions = computed(() => {\n\treturn hasPermission(props.fileInfo.permissions, Permission.DELETE)\n})\n\nconst hasUpdatePermissions = computed(() => {\n\treturn hasPermission(props.fileInfo.permissions, Permission.UPDATE)\n})\n\nconst isDownloadable = computed(() => {\n\tif ((props.fileInfo.permissions & Permission.READ) === 0) {\n\t\treturn false\n\t}\n\n\t// If the mount type is a share, ensure it got download permissions.\n\tif (props.fileInfo.mountType === 'shared') {\n\t\tconst downloadAttribute = props.fileInfo.shareAttributes\n\t\t\t.find((attribute) => attribute.scope === 'permissions' && attribute.key === 'download') || {}\n\t\t// If the download attribute is set to false, the file is not downloadable\n\t\tif (downloadAttribute?.value === false) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n})\n\n/**\n *\n */\nfunction labelUpdate() {\n\temit('label-update-request')\n}\n\n/**\n *\n */\nfunction restoreVersion() {\n\temit('restore', props.version)\n}\n\n/**\n *\n */\nasync function deleteVersion() {\n\t// Let @nc-vue properly remove the popover before we delete the version.\n\t// This prevents @nc-vue from throwing a error.\n\tawait nextTick()\n\tawait nextTick()\n\temit('delete', props.version)\n}\n\n/**\n *\n */\nfunction click() {\n\tif (!props.canView) {\n\t\twindow.location.href = downloadURL.value\n\t\treturn\n\t}\n\temit('click', { version: props.version })\n}\n\n/**\n *\n */\nfunction compareVersion() {\n\tif (!props.canView) {\n\t\tthrow new Error('Cannot compare version of this file')\n\t}\n\temit('compare', { version: props.version })\n}\n</script>\n\n<stylescopedlang=\"scss\">\n.version {\n\tdisplay: flex;\n\tflex-direction: row;\n\n\t&__info {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tgap: 0.5rem;\n\t\tcolor: var(--color-main-text);\n\t\tfont-weight: 500;\n\t\toverflow: hidden;\n\n\t\t&__label {\n\t\t\tfont-weight: 700;\n\t\t\t// Fix overflow on narrow screens\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tmin-width: 110px;\n\t\t}\n\n\t\t&__author_name {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__date {\n\t\t\t// Fix overflow on narrow screens\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__subline {\n\t\t\tcolor: var(--color-text-maxcontrast)\n\t\t}\n\t}\n\n\t&__image {\n\t\twidth: 3rem;\n\t\theight: 3rem;\n\t\tborder: 1px solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t// Useful to display no preview icon.\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tcolor: var(--color-main-text);\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcDialog\n\t\t:buttons=\"dialogButtons\"\n\t\tcontent-classes=\"version-label-modal\"\n\t\tis-form\n\t\t:open=\"open\"\n\t\tsize=\"normal\"\n\t\t:name=\"t('files_versions','Namethisversion')\"\n\t\t@update:open=\"$emit('update:open',$event)\"\n\t\t@submit=\"setVersionLabel(internalLabel)\">\n\t\t<NcTextField\n\t\t\tref=\"labelInput\"\n\t\t\tv-model=\"internalLabel\"\n\t\t\tclass=\"version-label-modal__input\"\n\t\t\t:label=\"t('files_versions','Versionname')\"\n\t\t\t:placeholder=\"t('files_versions','Versionname')\"/>\n\n\t\t<pclass=\"version-label-modal__info\">\n\t\t\t{{ t('files_versions', 'Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.') }}\n\t\t</p>\n\t</NcDialog>\n</template>\n\n<scriptlang=\"ts\"setup>\nimport svgCheck from '@mdi/svg/svg/check.svg?raw'\nimport { t } from '@nextcloud/l10n'\nimport { computed, nextTick, ref, useTemplateRef, watchEffect } from 'vue'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nconst props = defineProps({\n\topen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\tlabel: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n\nconst emit = defineEmits(['update:open', 'update:label'])\n\nconst labelInput = useTemplateRef('labelInput')\n\nconst internalLabel = ref('')\n\nconst dialogButtons = computed(() => {\n\tconst buttons: unknown[] = []\n\tif (props.label.trim() === '') {\n\t\t// If there is no label just offer a cancel action that just closes the dialog\n\t\tbuttons.push({\n\t\t\tlabel: t('files_versions', 'Cancel'),\n\t\t})\n\t} else {\n\t\t// If there is already a label set, offer to remove the version label\n\t\tbuttons.push({\n\t\t\tlabel: t('files_versions', 'Remove version name'),\n\t\t\ttype: 'reset',\n\t\t\tvariant: 'error',\n\t\t\tcallback: () => { setVersionLabel('') },\n\t\t})\n\t}\n\treturn [\n\t\t...buttons,\n\t\t{\n\t\t\tlabel: t('files_versions', 'Save version name'),\n\t\t\ticon: svgCheck,\n\t\t\ttype: 'submit',\n\t\t\tvariant: 'primary',\n\t\t},\n\t]\n})\n\nwatchEffect(() => {\n\tinternalLabel.value = props.label ?? ''\n})\n\nwatchEffect(() => {\n\tif (props.open) {\n\t\tnextTick(() => labelInput.value?.focus())\n\t}\n\tinternalLabel.value = props.label\n})\n\n/**\n *\n * @param label - The new label\n */\nfunction setVersionLabel(label: string) {\n\temit('update:label', label)\n}\n</script>\n\n<stylescopedlang=\"scss\">\n.version-label-modal {\n\t&__info {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-block: calc(3 * var(--default-grid-baseline));\n\t}\n\n\t&__input {\n\t\tmargin-block-start: calc(2 * var(--default-grid-baseline));\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<divv-if=\"!useWindow&&containerElement ===null\"ref=\"container\"class=\"vs-container\">\n\t\t<div\n\t\t\tref=\"rowsContainer\"\n\t\t\tclass=\"vs-rows-container\"\n\t\t\t:style=\"rowsContainerStyle\">\n\t\t\t<slot:visible-sections=\"visibleSections\"/>\n\t\t\t<slotname=\"loader\"/>\n\t\t</div>\n\t</div>\n\t<div\n\t\tv-else\n\t\tref=\"rowsContainer\"\n\t\tclass=\"vs-rows-container\"\n\t\t:style=\"rowsContainerStyle\">\n\t\t<slot:visible-sections=\"visibleSections\"/>\n\t\t<slotname=\"loader\"/>\n\t</div>\n</template>\n\n<scriptlang=\"ts\">\nimport {\n\ttype PropType,\n\n\tdefineComponent,\n} from 'vue'\nimport logger from '../utils/logger.ts'\n\nexport interface RowItem {\n\tid: string // Unique id for the item.\n\tkey?: string // Unique key for the item.\n}\n\nexport interface Row {\n\tkey: string // Unique key for the row.\n\theight: number // The height of the row.\n\tsectionKey: string // Unique key for the row.\n\titems: RowItem[] // List of items in the row.\n}\n\ninterface VisibleRow extends Row {\n\tdistance: number // The distance from the visible viewport\n}\n\ninterface Section {\n\tkey: string // Unique key for the section.\n\trows: Row[] // The height of the row.\n\theight: number // Height of the section, excluding the header.\n}\n\ninterface VisibleSection extends Section {\n\trows: VisibleRow[] // The height of the row.\n}\n\nexport default defineComponent({\n\tname: 'VirtualScrolling',\n\n\tprops: {\n\t\tsections: {\n\t\t\ttype: Array as PropType<Section[]>,\n\t\t\trequired: true,\n\t\t},\n\n\t\tcontainerElement: {\n\t\t\ttype: HTMLElement,\n\t\t\tdefault: null,\n\t\t},\n\n\t\tuseWindow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\theaderHeight: {\n\t\t\ttype: Number,\n\t\t\tdefault: 75,\n\t\t},\n\n\t\trenderDistance: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0.5,\n\t\t},\n\n\t\tbottomBufferRatio: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\n\t\tscrollToKey: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tscrollPosition: 0,\n\t\t\tcontainerHeight: 0,\n\t\t\trowsContainerHeight: 0,\n\t\t\tresizeObserver: null as ResizeObserver | null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tvisibleSections(): VisibleSection[] {\n\t\t\tlogger.debug('[VirtualScrolling] Computing visible section', { sections: this.sections })\n\n\t\t\t// Optimization: get those computed properties once to not go through vue's internal every time we need them.\n\t\t\tconst containerHeight = this.containerHeight\n\t\t\tconst containerTop = this.scrollPosition\n\t\t\tconst containerBottom = containerTop + containerHeight\n\n\t\t\tlet currentRowTop = 0\n\t\t\tlet currentRowBottom = 0\n\n\t\t\t// Compute whether a row should be included in the DOM (shouldRender)\n\t\t\t// And how visible the row is.\n\t\t\tconst visibleSections = this.sections\n\t\t\t\t.map((section) => {\n\t\t\t\t\tcurrentRowBottom += this.headerHeight\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...section,\n\t\t\t\t\t\trows: section.rows.reduce((visibleRows, row) => {\n\t\t\t\t\t\t\tcurrentRowTop = currentRowBottom\n\t\t\t\t\t\t\tcurrentRowBottom += row.height\n\n\t\t\t\t\t\t\tlet distance = 0\n\n\t\t\t\t\t\t\tif (currentRowBottom < containerTop){\n\t\t\t\t\t\t\t\tdistance =(containerTop-currentRowBottom)/containerHeight\n\t\t\t\t\t\t\t}elseif(currentRowTop> containerBottom) {\n\t\t\t\t\t\t\t\tdistance = (currentRowTop - containerBottom) / containerHeight\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (distance > this.renderDistance) {\n\t\t\t\t\t\t\t\treturn visibleRows\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t...visibleRows,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t...row,\n\t\t\t\t\t\t\t\t\tdistance,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, [] as VisibleRow[]),\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.filter((section) => section.rows.length > 0)\n\n\t\t\t// To allow vue to recycle the DOM elements instead of adding and deleting new ones,\n\t\t\t// we assign a random key to each items. When a item removed, we recycle its key for new items,\n\t\t\t// so vue can replace the content of removed DOM elements with the content of new items, but keep the other DOM elements untouched.\n\t\t\tconst visibleItems = visibleSections\n\t\t\t\t.flatMap(({ rows }) => rows)\n\t\t\t\t.flatMap(({ items }) => items)\n\n\t\t\tconst rowIdToKeyMap = this._rowIdToKeyMap as { [key: string]: string }\n\n\t\t\tvisibleItems.forEach((item) => (item.key = rowIdToKeyMap[item.id]))\n\n\t\t\tconst usedTokens = visibleItems\n\t\t\t\t.map(({ key }) => key)\n\t\t\t\t.filter((key) => key !== undefined)\n\n\t\t\tconst unusedTokens = Object.values(rowIdToKeyMap).filter((key) => !usedTokens.includes(key))\n\n\t\t\tvisibleItems\n\t\t\t\t.filter(({ key }) => key === undefined)\n\t\t\t\t.forEach((item) => (item.key = unusedTokens.pop() ?? Math.random().toString(36).substr(2)))\n\n\t\t\t// this._rowIdToKeyMap is created in the beforeCreate hook, so value changes are not tracked.\n\t\t\t// Therefore, we wont trigger the computation of visibleSections again if we alter the value of this._rowIdToKeyMap.\n\t\t\t// eslint-disable-next-line vue/no-side-effects-in-computed-properties\n\t\t\tthis._rowIdToKeyMap = visibleItems.reduce((finalMapping, { id, key }) => ({ ...finalMapping, [`${id}`]: key }), {})\n\n\t\t\treturn visibleSections\n\t\t},\n\n\t\t/**\n\t\t * Total height of all the rows + some room for the loader.\n\t\t */\n\t\ttotalHeight(): number {\n\t\t\tconst loaderHeight = 0\n\n\t\t\treturn this.sections\n\t\t\t\t.map((section) => this.headerHeight + section.height)\n\t\t\t\t.reduce((totalHeight, sectionHeight) => totalHeight + sectionHeight, 0) + loaderHeight\n\t\t},\n\n\t\tpaddingTop(): number {\n\t\t\tif (this.visibleSections.length === 0) {\n\t\t\t\treturn 0\n\t\t\t}\n\n\t\t\tlet paddingTop = 0\n\n\t\t\tfor (const section of this.sections) {\n\t\t\t\tif (section.key !== this.visibleSections[0].rows[0].sectionKey) {\n\t\t\t\t\tpaddingTop += this.headerHeight + section.height\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor (const row of section.rows) {\n\t\t\t\t\tif (row.key === this.visibleSections[0].rows[0].key) {\n\t\t\t\t\t\treturn paddingTop\n\t\t\t\t\t}\n\n\t\t\t\t\tpaddingTop += row.height\n\t\t\t\t}\n\n\t\t\t\tpaddingTop += this.headerHeight\n\t\t\t}\n\n\t\t\treturn paddingTop\n\t\t},\n\n\t\t/**\n\t\t * padding-top is used to replace not included item in the container.\n\t\t */\n\t\trowsContainerStyle(): { height: string, paddingTop: string } {\n\t\t\treturn {\n\t\t\t\theight: `${this.totalHeight}px`,\n\t\t\t\tpaddingTop: `${this.paddingTop}px`,\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Whether the user is near the bottom.\n\t\t * If true, then the need-content event will be emitted.\n\t\t */\n\t\tisNearBottom(): boolean {\n\t\t\tconst buffer = this.containerHeight * this.bottomBufferRatio\n\t\t\treturn this.scrollPosition + this.containerHeight >= this.totalHeight - buffer\n\t\t},\n\n\t\tcontainer() {\n\t\t\tlogger.debug('[VirtualScrolling] Computing container')\n\t\t\tif (this.containerElement !== null) {\n\t\t\t\treturn this.containerElement\n\t\t\t} else if (this.useWindow) {\n\t\t\t\treturn window\n\t\t\t} else {\n\t\t\t\treturn this.$refs.container as Element\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tisNearBottom(value) {\n\t\t\tlogger.debug('[VirtualScrolling] isNearBottom changed', { value })\n\t\t\tif (value) {\n\t\t\t\tthis.$emit('need-content')\n\t\t\t}\n\t\t},\n\n\t\tvisibleSections() {\n\t\t\t// Re-emit need-content when rows is updated and isNearBottom is still true.\n\t\t\t// If the height of added rows is under `bottomBufferRatio`, `isNearBottom` will still be true so we need more content.\n\t\t\tif (this.isNearBottom) {\n\t\t\t\tthis.$emit('need-content')\n\t\t\t}\n\t\t},\n\n\t\tscrollToKey(key) {\n\t\t\tlet currentRowTopDistanceFromTop = 0\n\n\t\t\tfor (const section of this.sections) {\n\t\t\t\tif (section.key !== key) {\n\t\t\t\t\tcurrentRowTopDistanceFromTop += this.headerHeight + section.height\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tlogger.debug('[VirtualScrolling] Scrolling to', { currentRowTopDistanceFromTop })\n\t\t\tthis.container.scrollTo({ top: currentRowTopDistanceFromTop, behavior: 'smooth' })\n\t\t},\n\t},\n\n\tbeforeCreate() {\n\t\tthis._rowIdToKeyMap = {}\n\t},\n\n\tmounted() {\n\t\tthis.resizeObserver = new ResizeObserver((entries) => {\n\t\t\tfor (const entry of entries) {\n\t\t\t\tconst cr = entry.contentRect\n\t\t\t\tif (entry.target === this.container) {\n\t\t\t\t\tthis.containerHeight = cr.height\n\t\t\t\t}\n\t\t\t\tif (entry.target.classList.contains('vs-rows-container')) {\n\t\t\t\t\tthis.rowsContainerHeight = cr.height\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (this.useWindow) {\n\t\t\twindow.addEventListener('resize', this.updateContainerSize, { passive: true })\n\t\t\tthis.containerHeight = window.innerHeight\n\t\t} else {\n\t\t\tthis.resizeObserver.observe(this.container as HTMLElement | Element)\n\t\t}\n\n\t\tthis.resizeObserver.observe(this.$refs.rowsContainer as Element)\n\t\tthis.container.addEventListener('scroll', this.updateScrollPosition, { passive: true })\n\t},\n\n\tbeforeDestroy() {\n\t\tif (this.useWindow) {\n\t\t\twindow.removeEventListener('resize', this.updateContainerSize)\n\t\t}\n\n\t\tthis.resizeObserver?.disconnect()\n\t\tthis.container.removeEventListener('scroll', this.updateScrollPosition)\n\t},\n\n\tmethods: {\n\t\tupdateScrollPosition() {\n\t\t\tthis._onScrollHandle ??= requestAnimationFrame(() => {\n\t\t\t\tthis._onScrollHandle = null\n\t\t\t\tif (this.useWindow) {\n\t\t\t\t\tthis.scrollPosition = (this.container as Window).scrollY\n\t\t\t\t} else {\n\t\t\t\t\tthis.scrollPosition = (this.container as HTMLElement | Element).scrollTop\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tupdateContainerSize() {\n\t\t\tthis.containerHeight = window.innerHeight\n\t\t},\n\t},\n})\n</script>\n\n<stylescopedlang=\"scss\">\n.vs-container {\n\toverflow-y: scroll;\n\theight: 100%;\n}\n\n.vs-rows-container {\n\tbox-sizing: border-box;\n\twill-change: scroll-position, padding;\n\tcontain: layout paint style;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { createClient } from 'webdav'\n\n// init webdav client\nconst rootPath = 'dav'\nconst remote = generateRemoteUrl(rootPath)\nconst client = createClient(remote)\n\n// set CSRF token header\n/**\n *\n * @param token\n */\nfunction setHeaders(token) {\n\tclient.setHeaders({\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: token ?? '',\n\t})\n}\n\n// refresh headers when request token changes\nonRequestTokenUpdate(setHeaders)\nsetHeaders(getRequestToken())\n\nexport default client\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default `<?xml version=\"1.0\"?>\n<d:propfindxmlns:d=\"DAV:\"\n\txmlns:oc=\"http://owncloud.org/ns\"\n\txmlns:nc=\"http://nextcloud.org/ns\"\n\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t<d:prop>\n\t\t<d:getcontentlength/>\n\t\t<d:getcontenttype/>\n\t\t<d:getlastmodified/>\n\t\t<d:getetag/>\n\t\t<nc:version-label/>\n\t\t<nc:version-author/>\n\t\t<nc:has-preview/>\n\t</d:prop>\n</d:propfind>`\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable jsdoc/require-param */\n/* eslint-disable jsdoc/require-jsdoc */\n/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport moment from '@nextcloud/moment'\nimport { encodePath, joinPaths } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport client from '../utils/davClient.ts'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: string // Human readable size\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nexport async function fetchVersions(fileInfo: any): Promise<Version[]> {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed<FileStat[]>\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version, fileInfo))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n */\nfunction formatVersion(version: any, fileInfo: any): Version {\n\tconst mtime = moment(version.lastmod).unix() * 1000\n\tlet previewUrl = ''\n\n\tif (mtime === fileInfo.mtime) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: fileInfo.id,\n\t\t\tfileEtag: fileInfo.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: joinPaths(fileInfo.path, fileInfo.name),\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: fileInfo.id,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: moment(mtime).format('LLL'),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: joinPaths('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t\t\t<d:propertyupdatexmlns:d=\"DAV:\"\n\t\t\t\t\t\txmlns:oc=\"http://owncloud.org/ns\"\n\t\t\t\t\t\txmlns:nc=\"http://nextcloud.org/ns\"\n\t\t\t\t\t\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t\t\t\t\t<d:set>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<nc:version-label>${newLabel}</nc:version-label>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t</d:set>\n\t\t\t\t\t</d:propertyupdate>`,\n\t\t},\n\t)\n}\n\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<divv-if=\"fileInfo!==null\"class=\"versions-tab__container\">\n\t\t<VirtualScrolling\n\t\t\t:sections=\"sections\"\n\t\t\t:header-height=\"0\">\n\t\t\t<template#default=\"{visibleSections}\">\n\t\t\t\t<ul:aria-label=\"t('files_versions','Fileversions')\"data-files-versions-versions-list>\n\t\t\t\t\t<templatev-if=\"visibleSections.length===1\">\n\t\t\t\t\t\t<VersionEntry\n\t\t\t\t\t\t\tv-for=\"(row)ofvisibleSections[0].rows\"\n\t\t\t\t\t\t\t:key=\"row.items[0].version.mtime\"\n\t\t\t\t\t\t\t:can-view=\"canView\"\n\t\t\t\t\t\t\t:can-compare=\"canCompare\"\n\t\t\t\t\t\t\t:load-preview=\"isActive\"\n\t\t\t\t\t\t\t:version=\"row.items[0].version\"\n\t\t\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t\t\t:is-current=\"row.items[0].version.mtime===fileInfo.mtime\"\n\t\t\t\t\t\t\t:is-first-version=\"row.items[0].version.mtime===initialVersionMtime\"\n\t\t\t\t\t\t\t@click=\"openVersion\"\n\t\t\t\t\t\t\t@compare=\"compareVersion\"\n\t\t\t\t\t\t\t@restore=\"handleRestore\"\n\t\t\t\t\t\t\t@label-update-request=\"handleLabelUpdateRequest(row.items[0].version)\"\n\t\t\t\t\t\t\t@delete=\"handleDelete\"/>\n\t\t\t\t\t</template>\n\t\t\t\t</ul>\n\t\t\t</template>\n\t\t\t<template#loader>\n\t\t\t\t<NcLoadingIconv-if=\"loading\"class=\"files-list-viewer__loader\"/>\n\t\t\t</template>\n\t\t</VirtualScrolling>\n\t\t<VersionLabelDialog\n\t\t\tv-if=\"editedVersion\"\n\t\t\tv-model:open=\"showVersionLabelForm\"\n\t\t\t:label=\"editedVersion.label\"\n\t\t\t@update:label=\"handleLabelUpdate\"/>\n\t</div>\n</template>\n\n<scriptlang=\"ts\"setup>\nimport type { LegacyFileInfo } from '../../../files/src/services/FileInfo.ts'\nimport type { Version } from '../utils/versions.ts'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport { useIsMobile } from '@nextcloud/vue/composables/useIsMobile'\nimport path from 'path'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport VersionEntry from '../components/VersionEntry.vue'\nimport VersionLabelDialog from '../components/VersionLabelDialog.vue'\nimport VirtualScrolling from '../components/VirtualScrolling.vue'\nimport logger from '../utils/logger.ts'\nimport { deleteVersion, fetchVersions, restoreVersion, setVersionLabel } from '../utils/versions.ts'\n\nconst isMobile = useIsMobile()\n\nconst fileInfo = ref<LegacyFileInfo|null>(null)\nconst isActive = ref<boolean>(false)\nconst versions = ref<Version[]>([])\nconst loading = ref(false)\nconst showVersionLabelForm = ref(false)\nconst editedVersion = ref<Version|null>(null)\n\n/**\n * Order versions by mtime.\n * Put the current version at the top.\n */\nconst orderedVersions = computed(() => {\n\treturn [...versions.value].sort((a, b) => {\n\t\tif (fileInfo.value === null) {\n\t\t\treturn 0\n\t\t}\n\n\t\tif (a.mtime === fileInfo.value.mtime) {\n\t\t\treturn -1\n\t\t} else if (b.mtime === fileInfo.value.mtime) {\n\t\t\treturn 1\n\t\t} else {\n\t\t\treturn b.mtime - a.mtime\n\t\t}\n\t})\n})\n\nconst sections = computed(() => {\n\tconst rows = orderedVersions.value.map((version) => ({ key: version.mtime.toString(), height: 68, sectionKey: 'versions', items: [{ id: version.mtime.toString(), version }] }))\n\treturn [{ key: 'versions', rows, height: 68 * orderedVersions.value.length }]\n})\n\n/**\n * Return the mtime of the first version to display \"Initial version\" label\n */\nconst initialVersionMtime = computed(() => {\n\treturn versions.value\n\t\t.map((version) => version.mtime)\n\t\t.reduce((a, b) => Math.min(a, b))\n})\n\nconst viewerFileInfo = computed(() => {\n\tif (fileInfo.value === null) {\n\t\treturn null\n\t}\n\n\t// We need to remap bitmask to dav permissions as the file info we have is converted through client.js\n\tlet davPermissions = ''\n\tif (fileInfo.value.permissions & 1) {\n\t\tdavPermissions += 'R'\n\t}\n\tif (fileInfo.value.permissions & 2) {\n\t\tdavPermissions += 'W'\n\t}\n\tif (fileInfo.value.permissions & 8) {\n\t\tdavPermissions += 'D'\n\t}\n\treturn {\n\t\t...fileInfo.value,\n\t\tmime: fileInfo.value.mimetype,\n\t\tbasename: fileInfo.value.name,\n\t\tfilename: fileInfo.value.path + '/' + fileInfo.value.name,\n\t\tpermissions: davPermissions,\n\t\tfileid: fileInfo.value.id,\n\t}\n})\n\nconst canView = computed(() => {\n\tif (fileInfo.value === null) {\n\t\treturn false\n\t}\n\n\treturn window.OCA.Viewer?.mimetypesCompare?.includes(fileInfo.value.mimetype)\n})\n\nconst canCompare = computed(() => {\n\treturn !isMobile.value\n})\n\nonMounted(() => {\n\tsubscribe('files_versions:restore:restored', fetchVersions)\n})\n\nonBeforeUnmount(() => {\n\tunsubscribe('files_versions:restore:restored', fetchVersions)\n})\n\ndefineExpose({\n\t/**\n\t * Update current fileInfo and fetch new data\n\t *\n\t * @param _fileInfo the current file FileInfo\n\t */\n\tasync update(_fileInfo: LegacyFileInfo) {\n\t\tfileInfo.value = _fileInfo\n\t\tresetState()\n\t\tinternalFetchVersions()\n\t},\n\n\t/**\n\t * @param _isActive whether the tab is active\n\t */\n\tasync setIsActive(_isActive: boolean) {\n\t\tisActive.value = _isActive\n\t},\n})\n\n/**\n * Get the existing versions infos\n */\nasync function internalFetchVersions() {\n\ttry {\n\t\tloading.value = true\n\t\tversions.value = await fetchVersions(fileInfo.value)\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n/**\n * Handle restored event from Version.vue\n *\n * @param version The version to restore\n */\nasync function handleRestore(version: Version) {\n\t// Update local copy of fileInfo as rendering depends on it.\n\tconst oldFileInfo = fileInfo.value\n\tfileInfo.value = {\n\t\t...fileInfo.value,\n\t\tsize: version.size,\n\t\tmtime: version.mtime,\n\t}\n\n\tconst restoreStartedEventState = {\n\t\tpreventDefault: false,\n\t\tfileInfo: fileInfo.value,\n\t\tversion,\n\t}\n\temit('files_versions:restore:requested', restoreStartedEventState)\n\tif (restoreStartedEventState.preventDefault) {\n\t\treturn\n\t}\n\n\ttry {\n\t\tawait restoreVersion(version)\n\t\tif (version.label) {\n\t\t\tshowSuccess(t('files_versions', `${version.label} restored`))\n\t\t} else if (version.mtime === initialVersionMtime.value) {\n\t\t\tshowSuccess(t('files_versions', 'Initial version restored'))\n\t\t} else {\n\t\t\tshowSuccess(t('files_versions', 'Version restored'))\n\t\t}\n\t\temit('files_versions:restore:restored', version)\n\t} catch {\n\t\tfileInfo.value = oldFileInfo\n\t\tshowError(t('files_versions', 'Could not restore version'))\n\t\temit('files_versions:restore:failed', version)\n\t}\n}\n\n/**\n * Handle label-updated event from Version.vue\n *\n * @param version The version to update\n */\nfunction handleLabelUpdateRequest(version: Version) {\n\tshowVersionLabelForm.value = true\n\teditedVersion.value = version\n}\n\n/**\n * Handle label-updated event from Version.vue\n *\n * @param newLabel The new label\n */\nasync function handleLabelUpdate(newLabel: string) {\n\tif (editedVersion.value === null) {\n\t\tthrow new Error('editedVersion should be set at that point')\n\t}\n\n\tconst oldLabel = editedVersion.value.label\n\teditedVersion.value.label = newLabel\n\tshowVersionLabelForm.value = false\n\n\ttry {\n\t\tawait setVersionLabel(editedVersion.value, newLabel)\n\t\teditedVersion.value = null\n\t} catch (exception) {\n\t\teditedVersion.value!.label = oldLabel\n\t\tshowError(t('files_versions', 'Could not set version label'))\n\t\tlogger.error('Could not set version label', { exception })\n\t}\n}\n\n/**\n * Handle deleted event from Version.vue\n *\n * @param version The version to delete\n */\nasync function handleDelete(version: Version) {\n\tconst index = versions.value.indexOf(version)\n\tversions.value.splice(index, 1)\n\n\ttry {\n\t\tawait deleteVersion(version)\n\t} catch {\n\t\tversions.value.push(version)\n\t\tshowError(t('files_versions', 'Could not delete version'))\n\t}\n}\n\n/**\n * Reset the current view to its default state\n */\nfunction resetState() {\n\tversions.value = []\n}\n\nfunction openVersion({ version }: { version: Version }) {\n\tif (fileInfo.value === null) {\n\t\treturn\n\t}\n\n\t// Open current file view instead of read only\n\tif (version.mtime === fileInfo.value.mtime) {\n\t\twindow.OCA.Viewer.open({ fileInfo: viewerFileInfo.value })\n\t\treturn\n\t}\n\n\twindow.OCA.Viewer.open({\n\t\tfileInfo: {\n\t\t\t...version,\n\t\t\t// Versions previews are too small for our use case, so we override previewUrl\n\t\t\t// to either point to the original file or original version.\n\t\t\tfilename: version.mtime === fileInfo.value.mtime ? path.join('files', getCurrentUser()?.uid ?? '', fileInfo.value.path, fileInfo.value.name) : version.filename,\n\t\t\tpreviewUrl: undefined,\n\t\t},\n\t\tenableSidebar: false,\n\t})\n}\n\nfunction compareVersion({ version }: { version: Version }) {\n\tconst _versions = versions.value.map((version) => ({ ...version, previewUrl: undefined }))\n\n\twindow.OCA.Viewer.compare(viewerFileInfo.value, _versions.find((v) => v.source === version.source))\n}\n</script>\n\n<stylelang=\"scss\">\n.versions-tab__container {\n\theight: 100%;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { App, ComponentPublicInstance } from 'vue'\n\nimport BackupRestore from '@mdi/svg/svg/backup-restore.svg?raw'\nimport { t } from '@nextcloud/l10n'\nimport { createApp } from 'vue'\nimport FilesVersionsSidebarTab from './views/FilesVersionsSidebarTab.vue'\n\n// Init FilesVersions tab component\nlet filesVersionsTabApp: App<Element> | null = null\nlet filesVersionsTabInstance: ComponentPublicInstance<typeofFilesVersionsSidebarTab> | null = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (window.OCA.Files?.Sidebar === undefined) {\n\t\treturn\n\t}\n\n\twindow.OCA.Files.Sidebar.registerTab(new window.OCA.Files.Sidebar.Tab({\n\t\tid: 'files_versions',\n\t\tname: t('files_versions', 'Versions'),\n\t\ticonSvg: BackupRestore,\n\n\t\tasync mount(el, fileInfo) {\n\t\t\t// destroy previous instance if available\n\t\t\tif (filesVersionsTabApp) {\n\t\t\t\tfilesVersionsTabApp.unmount()\n\t\t\t}\n\t\t\tfilesVersionsTabApp = createApp(FilesVersionsSidebarTab)\n\t\t\tfilesVersionsTabInstance = filesVersionsTabApp.mount(el)\n\t\t\tfilesVersionsTabInstance.update(fileInfo)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tfilesVersionsTabInstance!.update(fileInfo)\n\t\t},\n\t\tsetIsActive(isActive) {\n\t\t\tfilesVersionsTabInstance?.setIsActive(isActive)\n\t\t},\n\t\tdestroy() {\n\t\t\tfilesVersionsTabApp?.unmount()\n\t\t\tfilesVersionsTabApp = null\n\t\t},\n\t\tenabled(fileInfo) {\n\t\t\treturn !(fileInfo?.isDirectory() ?? true)\n\t\t},\n\t}))\n})\n"],"names":["_sfc_main","defineComponent","_hoisted_1","__props","props","humanizedCount","computed","getCanonicalLocale","originalCountAsTitleIfNeeded","countAsString","_ctx","_cache","openBlock","createElementBlock","normalizeClass","toDisplayString","NcCounterBubble","_export_sfc","timeOptions","relativeTimeOptions","title","useFormatTime","toRef","relativeTime","useFormatRelativeTime","formattedTime","unref","NcActions","_sfc_main$1","value","newValue","event","navigate","routerLinkHref","e","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_sfc_render","$props","$setup","$data","$options","_component_NcCounterBubble","resolveComponent","_component_NcActions","createBlock","resolveDynamicComponent","normalizeProps","guardReactiveProps","withCtx","isActive","createElementVNode","mergeProps","args","$event","withKeys","renderSlot","createTextVNode","createCommentVNode","withDirectives","vShow","createVNode","createSlots","NcListItem","BackupRestore$1","global","factory","module","this","hookCallback","hooks","setHookCallback","callback","isArray","input","isObject","hasOwnProp","a","b","isObjectEmpty","obj","k","isUndefined","isNumber","isDate","map","arr","fn","res","i","arrLen","extend","createUTC","format","locale","strict","createLocalOrUTC","defaultParsingFlags","getParsingFlags","m","some","fun","t","len","isValid","flags","parsedParts","isNowValid","createInvalid","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","Moment","config","isMoment","warn","msg","deprecate","firstTime","arg","key","argLen","deprecations","deprecateSimple","name","isFunction","set","mergeConfigs","parentConfig","childConfig","Locale","keys","defaultCalendar","calendar","mom","now","output","zeroFill","number","targetLength","forceSign","absNumber","zerosToFill","sign","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","func","removeFormattingTokens","makeFormatFunction","array","length","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","longDateFormat","formatUpper","tok","defaultInvalidDate","invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","defaultRelativeTime","withoutSuffix","string","isFuture","pastFuture","diff","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","priorities","getPrioritizedUnits","unitsObj","u","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","regexes","addRegexToken","regex","strictRegex","isStrict","localeData","getParseRegexForToken","unescapeFormat","s","regexEscape","matched","p1","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","tokens","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","isLeapYear","year","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","y","daysInYear","getSetYear","makeGetSet","getIsLeapYear","unit","keepTime","set$1","get","d","isUTC","month","date","stringGet","stringSet","prioritized","prioritizedLen","mod","n","x","indexOf","o","daysInMonth","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","localeMonthsShort","handleStrictParse","monthName","ii","llc","localeMonthsParse","setMonth","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","shortP","longP","createDate","h","M","ms","createUTCDate","firstWeekOffset","dow","doy","fwd","fwdlw","dayOfYearFromWeeks","week","weekday","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","weekdays","localeWeekdaysShort","localeWeekdaysMin","handleStrictParse$1","weekdayName","localeWeekdaysParse","getSetDayOfWeek","day","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","weekdaysShortRegex","weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","kFormat","meridiem","lowercase","matchMeridiem","kInput","pos","pos1","pos2","localeIsPM","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","hours","minutes","isLower","baseConfig","locales","localeFamilies","globalLocale","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","j","next","split","loadLocale","isLocaleNameSane","oldLocale","aliasedRequire","require","getSetGlobalLocale","values","data","getLocale","defineLocale","updateLocale","tmpLocale","listLocales","checkOverflow","overflow","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","rfc2822","obsOffsets","configFromISO","l","match","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","defaults","c","currentDateArray","nowValue","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","w","weekYear","temp","weekdayOverflow","curWeek","createLocal","skipped","stringLength","totalParsedInputLength","era","meridiemFixWrap","hour","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","other","prototypeMax","pickBy","moments","min","max","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","months","weeks","days","seconds","milliseconds","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offset","separator","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","createAdder","direction","period","dur","tmp","isAdding","updateOffset","add","subtract","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","property","propertyLen","arrayTest","dataTypeTest","item","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","clone","isAfter","localInput","isBefore","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","anchor2","adjust","toString","toISOString","keepOffset","utc","inspect","zone","prefix","datetime","suffix","inputString","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOf","startOfDate","endOf","valueOf","unix","toDate","toArray","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","localeEras","eras","localeErasParse","eraName","abbr","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","erasAbbrRegex","erasNarrowRegex","abbrPieces","namePieces","narrowPieces","erasName","erasAbbr","erasNarrow","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","getSetMillisecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","preParsePostFormat","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","abs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","round","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","humanize","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","total","totalSign","ymSign","daysSign","hmsSign","proto$2","pluralForm","plurals","pluralize","f","str","months$1","minute","symbolMap","pluralForm$1","plurals$1","pluralize$1","months$2","symbolMap$1","numberMap","symbolMap$2","numberMap$1","symbolMap$3","numberMap$2","pluralForm$2","plurals$2","pluralize$2","months$3","suffixes","plural","word","num","forms","relativeTimeWithPlural","lastDigit","last2Digits","symbolMap$4","numberMap$3","symbolMap$5","numberMap$4","symbolMap$6","numberMap$5","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","text","softMutation","mutationTable","monthsParse","monthsRegex$1","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","processRelativeTime","translate","months$4","monthsShort","monthsParse$1","monthsRegex$2","plural$1","translate$1","affix","lookup","processRelativeTime$1","processRelativeTime$2","processRelativeTime$3","months$5","isFunction$1","momentToFormat","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$3","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$4","monthsShortDot$2","monthsShort$3","monthsParse$4","monthsRegex$5","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$6","processRelativeTime$4","symbolMap$7","numberMap$6","numbersPast","numbersFuture","translate$2","verbalNumber","monthsStrictRegex$1","monthsShortStrictRegex$1","monthsRegex$7","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","months$6","monthsShort$5","weekdays$1","weekdaysShort","weekdaysMin","months$7","monthsShort$6","weekdays$2","weekdaysShort$1","weekdaysMin$1","processRelativeTime$5","processRelativeTime$6","symbolMap$8","numberMap$7","symbolMap$9","numberMap$8","monthsParse$7","shortMonthsParse","translate$3","weekEndings","translate$4","plural$2","translate$5","$0","$1","$2","suffixes$1","symbolMap$a","numberMap$9","symbolMap$b","numberMap$a","isUpper","processRelativeTime$7","ezafeNumSuffix","ll","p","symbolMap$c","numberMap$b","months$8","suffixes$2","processRelativeTime$8","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","firstDigit","translateSeconds","translateSingular","special","translate$6","units$1","format$1","relativeTimeWithPlural$1","relativeTimeWithSingular","relativeSeconds","translator","wordKey","lastWeekDays","translate$7","symbolMap$d","numberMap$c","relativeTimeMr","symbolMap$e","numberMap$d","symbolMap$f","numberMap$e","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$8","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$9","symbolMap$g","numberMap$f","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","plural$4","relativeTimeWithPlural$3","monthsParse$b","months$9","days$1","months$a","monthsShort$7","plural$5","translate$9","processRelativeTime$9","translator$1","translator$2","symbolMap$h","numberMap$g","suffixes$3","suffixes$4","numbersNouns","translateFuture","translatePast","translate$a","numberNoun","numberAsNoun","hundred","ten","one","suffixes$5","processRelativeTime$a","plural$6","relativeTimeWithPlural$4","weekdaysCaseReplace","nounCase","processHoursFunction","months$b","days$2","translations","moment","gt","getGettextBuilder","_createElementBlock","_mergeProps","_createElementVNode","_openBlock","emit","__emit","hasPermission","permissions","permission","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","formatFileSize","versionLabel","label","versionAuthor","getCurrentUser","versionHumanExplicitDate","downloadURL","getRootUrl","joinPaths","enableLabeling","enableDeletion","hasDeletePermissions","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","compareVersion","_createBlock","_unref","_createVNode","ImageOffOutline","NcAvatar","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","usedTokens","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","rootPath","remote","generateRemoteUrl","client","createClient","setHeaders","onRequestTokenUpdate","getRequestToken","davRequest","fetchVersions","fileInfo","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","previewUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","orderedVersions","sections","initialVersionMtime","viewerFileInfo","davPermissions","canView","canCompare","onMounted","subscribe","onBeforeUnmount","unsubscribe","__expose","_fileInfo","resetState","internalFetchVersions","_isActive","handleRestore","oldFileInfo","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog","filesVersionsTabApp","filesVersionsTabInstance","el","createApp","FilesVersionsSidebarTab"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}