{"version":3,"file":"js/chunk-vendors.df8b24c5.js","mappings":"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","sources":["webpack://sitio/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://sitio/./node_modules/axios/index.js","webpack://sitio/./node_modules/axios/lib/adapters/xhr.js","webpack://sitio/./node_modules/axios/lib/axios.js","webpack://sitio/./node_modules/axios/lib/cancel/CancelToken.js","webpack://sitio/./node_modules/axios/lib/cancel/CanceledError.js","webpack://sitio/./node_modules/axios/lib/cancel/isCancel.js","webpack://sitio/./node_modules/axios/lib/core/Axios.js","webpack://sitio/./node_modules/axios/lib/core/AxiosError.js","webpack://sitio/./node_modules/axios/lib/core/InterceptorManager.js","webpack://sitio/./node_modules/axios/lib/core/buildFullPath.js","webpack://sitio/./node_modules/axios/lib/core/dispatchRequest.js","webpack://sitio/./node_modules/axios/lib/core/mergeConfig.js","webpack://sitio/./node_modules/axios/lib/core/settle.js","webpack://sitio/./node_modules/axios/lib/core/transformData.js","webpack://sitio/./node_modules/axios/lib/defaults/index.js","webpack://sitio/./node_modules/axios/lib/defaults/transitional.js","webpack://sitio/./node_modules/axios/lib/env/data.js","webpack://sitio/./node_modules/axios/lib/helpers/bind.js","webpack://sitio/./node_modules/axios/lib/helpers/buildURL.js","webpack://sitio/./node_modules/axios/lib/helpers/combineURLs.js","webpack://sitio/./node_modules/axios/lib/helpers/cookies.js","webpack://sitio/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://sitio/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://sitio/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://sitio/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://sitio/./node_modules/axios/lib/helpers/null.js","webpack://sitio/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://sitio/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://sitio/./node_modules/axios/lib/helpers/spread.js","webpack://sitio/./node_modules/axios/lib/helpers/toFormData.js","webpack://sitio/./node_modules/axios/lib/helpers/validator.js","webpack://sitio/./node_modules/axios/lib/utils.js","webpack://sitio/./node_modules/core-js/internals/a-callable.js","webpack://sitio/./node_modules/core-js/internals/a-possible-prototype.js","webpack://sitio/./node_modules/core-js/internals/add-to-unscopables.js","webpack://sitio/./node_modules/core-js/internals/an-object.js","webpack://sitio/./node_modules/core-js/internals/array-includes.js","webpack://sitio/./node_modules/core-js/internals/classof-raw.js","webpack://sitio/./node_modules/core-js/internals/classof.js","webpack://sitio/./node_modules/core-js/internals/clear-error-stack.js","webpack://sitio/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://sitio/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://sitio/./node_modules/core-js/internals/create-property-descriptor.js","webpack://sitio/./node_modules/core-js/internals/define-built-in.js","webpack://sitio/./node_modules/core-js/internals/descriptors.js","webpack://sitio/./node_modules/core-js/internals/document-create-element.js","webpack://sitio/./node_modules/core-js/internals/engine-user-agent.js","webpack://sitio/./node_modules/core-js/internals/engine-v8-version.js","webpack://sitio/./node_modules/core-js/internals/enum-bug-keys.js","webpack://sitio/./node_modules/core-js/internals/error-stack-installable.js","webpack://sitio/./node_modules/core-js/internals/export.js","webpack://sitio/./node_modules/core-js/internals/fails.js","webpack://sitio/./node_modules/core-js/internals/function-apply.js","webpack://sitio/./node_modules/core-js/internals/function-bind-native.js","webpack://sitio/./node_modules/core-js/internals/function-call.js","webpack://sitio/./node_modules/core-js/internals/function-name.js","webpack://sitio/./node_modules/core-js/internals/function-uncurry-this.js","webpack://sitio/./node_modules/core-js/internals/get-built-in.js","webpack://sitio/./node_modules/core-js/internals/get-method.js","webpack://sitio/./node_modules/core-js/internals/global.js","webpack://sitio/./node_modules/core-js/internals/has-own-property.js","webpack://sitio/./node_modules/core-js/internals/hidden-keys.js","webpack://sitio/./node_modules/core-js/internals/html.js","webpack://sitio/./node_modules/core-js/internals/ie8-dom-define.js","webpack://sitio/./node_modules/core-js/internals/indexed-object.js","webpack://sitio/./node_modules/core-js/internals/inherit-if-required.js","webpack://sitio/./node_modules/core-js/internals/inspect-source.js","webpack://sitio/./node_modules/core-js/internals/install-error-cause.js","webpack://sitio/./node_modules/core-js/internals/internal-state.js","webpack://sitio/./node_modules/core-js/internals/is-callable.js","webpack://sitio/./node_modules/core-js/internals/is-forced.js","webpack://sitio/./node_modules/core-js/internals/is-object.js","webpack://sitio/./node_modules/core-js/internals/is-pure.js","webpack://sitio/./node_modules/core-js/internals/is-symbol.js","webpack://sitio/./node_modules/core-js/internals/length-of-array-like.js","webpack://sitio/./node_modules/core-js/internals/make-built-in.js","webpack://sitio/./node_modules/core-js/internals/native-symbol.js","webpack://sitio/./node_modules/core-js/internals/native-weak-map.js","webpack://sitio/./node_modules/core-js/internals/normalize-string-argument.js","webpack://sitio/./node_modules/core-js/internals/object-create.js","webpack://sitio/./node_modules/core-js/internals/object-define-properties.js","webpack://sitio/./node_modules/core-js/internals/object-define-property.js","webpack://sitio/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://sitio/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://sitio/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://sitio/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://sitio/./node_modules/core-js/internals/object-keys-internal.js","webpack://sitio/./node_modules/core-js/internals/object-keys.js","webpack://sitio/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://sitio/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://sitio/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://sitio/./node_modules/core-js/internals/own-keys.js","webpack://sitio/./node_modules/core-js/internals/proxy-accessor.js","webpack://sitio/./node_modules/core-js/internals/require-object-coercible.js","webpack://sitio/./node_modules/core-js/internals/set-global.js","webpack://sitio/./node_modules/core-js/internals/shared-key.js","webpack://sitio/./node_modules/core-js/internals/shared-store.js","webpack://sitio/./node_modules/core-js/internals/shared.js","webpack://sitio/./node_modules/core-js/internals/to-absolute-index.js","webpack://sitio/./node_modules/core-js/internals/to-indexed-object.js","webpack://sitio/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://sitio/./node_modules/core-js/internals/to-length.js","webpack://sitio/./node_modules/core-js/internals/to-object.js","webpack://sitio/./node_modules/core-js/internals/to-primitive.js","webpack://sitio/./node_modules/core-js/internals/to-property-key.js","webpack://sitio/./node_modules/core-js/internals/to-string-tag-support.js","webpack://sitio/./node_modules/core-js/internals/to-string.js","webpack://sitio/./node_modules/core-js/internals/try-to-string.js","webpack://sitio/./node_modules/core-js/internals/uid.js","webpack://sitio/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://sitio/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://sitio/./node_modules/core-js/internals/well-known-symbol.js","webpack://sitio/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://sitio/./node_modules/core-js/modules/es.array.includes.js","webpack://sitio/./node_modules/core-js/modules/es.error.cause.js","webpack://sitio/./node_modules/moment/locale/af.js","webpack://sitio/./node_modules/moment/locale/ar-dz.js","webpack://sitio/./node_modules/moment/locale/ar-kw.js","webpack://sitio/./node_modules/moment/locale/ar-ly.js","webpack://sitio/./node_modules/moment/locale/ar-ma.js","webpack://sitio/./node_modules/moment/locale/ar-sa.js","webpack://sitio/./node_modules/moment/locale/ar-tn.js","webpack://sitio/./node_modules/moment/locale/ar.js","webpack://sitio/./node_modules/moment/locale/az.js","webpack://sitio/./node_modules/moment/locale/be.js","webpack://sitio/./node_modules/moment/locale/bg.js","webpack://sitio/./node_modules/moment/locale/bm.js","webpack://sitio/./node_modules/moment/locale/bn-bd.js","webpack://sitio/./node_modules/moment/locale/bn.js","webpack://sitio/./node_modules/moment/locale/bo.js","webpack://sitio/./node_modules/moment/locale/br.js","webpack://sitio/./node_modules/moment/locale/bs.js","webpack://sitio/./node_modules/moment/locale/ca.js","webpack://sitio/./node_modules/moment/locale/cs.js","webpack://sitio/./node_modules/moment/locale/cv.js","webpack://sitio/./node_modules/moment/locale/cy.js","webpack://sitio/./node_modules/moment/locale/da.js","webpack://sitio/./node_modules/moment/locale/de-at.js","webpack://sitio/./node_modules/moment/locale/de-ch.js","webpack://sitio/./node_modules/moment/locale/de.js","webpack://sitio/./node_modules/moment/locale/dv.js","webpack://sitio/./node_modules/moment/locale/el.js","webpack://sitio/./node_modules/moment/locale/en-au.js","webpack://sitio/./node_modules/moment/locale/en-ca.js","webpack://sitio/./node_modules/moment/locale/en-gb.js","webpack://sitio/./node_modules/moment/locale/en-ie.js","webpack://sitio/./node_modules/moment/locale/en-il.js","webpack://sitio/./node_modules/moment/locale/en-in.js","webpack://sitio/./node_modules/moment/locale/en-nz.js","webpack://sitio/./node_modules/moment/locale/en-sg.js","webpack://sitio/./node_modules/moment/locale/eo.js","webpack://sitio/./node_modules/moment/locale/es-do.js","webpack://sitio/./node_modules/moment/locale/es-mx.js","webpack://sitio/./node_modules/moment/locale/es-us.js","webpack://sitio/./node_modules/moment/locale/es.js","webpack://sitio/./node_modules/moment/locale/et.js","webpack://sitio/./node_modules/moment/locale/eu.js","webpack://sitio/./node_modules/moment/locale/fa.js","webpack://sitio/./node_modules/moment/locale/fi.js","webpack://sitio/./node_modules/moment/locale/fil.js","webpack://sitio/./node_modules/moment/locale/fo.js","webpack://sitio/./node_modules/moment/locale/fr-ca.js","webpack://sitio/./node_modules/moment/locale/fr-ch.js","webpack://sitio/./node_modules/moment/locale/fr.js","webpack://sitio/./node_modules/moment/locale/fy.js","webpack://sitio/./node_modules/moment/locale/ga.js","webpack://sitio/./node_modules/moment/locale/gd.js","webpack://sitio/./node_modules/moment/locale/gl.js","webpack://sitio/./node_modules/moment/locale/gom-deva.js","webpack://sitio/./node_modules/moment/locale/gom-latn.js","webpack://sitio/./node_modules/moment/locale/gu.js","webpack://sitio/./node_modules/moment/locale/he.js","webpack://sitio/./node_modules/moment/locale/hi.js","webpack://sitio/./node_modules/moment/locale/hr.js","webpack://sitio/./node_modules/moment/locale/hu.js","webpack://sitio/./node_modules/moment/locale/hy-am.js","webpack://sitio/./node_modules/moment/locale/id.js","webpack://sitio/./node_modules/moment/locale/is.js","webpack://sitio/./node_modules/moment/locale/it-ch.js","webpack://sitio/./node_modules/moment/locale/it.js","webpack://sitio/./node_modules/moment/locale/ja.js","webpack://sitio/./node_modules/moment/locale/jv.js","webpack://sitio/./node_modules/moment/locale/ka.js","webpack://sitio/./node_modules/moment/locale/kk.js","webpack://sitio/./node_modules/moment/locale/km.js","webpack://sitio/./node_modules/moment/locale/kn.js","webpack://sitio/./node_modules/moment/locale/ko.js","webpack://sitio/./node_modules/moment/locale/ku.js","webpack://sitio/./node_modules/moment/locale/ky.js","webpack://sitio/./node_modules/moment/locale/lb.js","webpack://sitio/./node_modules/moment/locale/lo.js","webpack://sitio/./node_modules/moment/locale/lt.js","webpack://sitio/./node_modules/moment/locale/lv.js","webpack://sitio/./node_modules/moment/locale/me.js","webpack://sitio/./node_modules/moment/locale/mi.js","webpack://sitio/./node_modules/moment/locale/mk.js","webpack://sitio/./node_modules/moment/locale/ml.js","webpack://sitio/./node_modules/moment/locale/mn.js","webpack://sitio/./node_modules/moment/locale/mr.js","webpack://sitio/./node_modules/moment/locale/ms-my.js","webpack://sitio/./node_modules/moment/locale/ms.js","webpack://sitio/./node_modules/moment/locale/mt.js","webpack://sitio/./node_modules/moment/locale/my.js","webpack://sitio/./node_modules/moment/locale/nb.js","webpack://sitio/./node_modules/moment/locale/ne.js","webpack://sitio/./node_modules/moment/locale/nl-be.js","webpack://sitio/./node_modules/moment/locale/nl.js","webpack://sitio/./node_modules/moment/locale/nn.js","webpack://sitio/./node_modules/moment/locale/oc-lnc.js","webpack://sitio/./node_modules/moment/locale/pa-in.js","webpack://sitio/./node_modules/moment/locale/pl.js","webpack://sitio/./node_modules/moment/locale/pt-br.js","webpack://sitio/./node_modules/moment/locale/pt.js","webpack://sitio/./node_modules/moment/locale/ro.js","webpack://sitio/./node_modules/moment/locale/ru.js","webpack://sitio/./node_modules/moment/locale/sd.js","webpack://sitio/./node_modules/moment/locale/se.js","webpack://sitio/./node_modules/moment/locale/si.js","webpack://sitio/./node_modules/moment/locale/sk.js","webpack://sitio/./node_modules/moment/locale/sl.js","webpack://sitio/./node_modules/moment/locale/sq.js","webpack://sitio/./node_modules/moment/locale/sr-cyrl.js","webpack://sitio/./node_modules/moment/locale/sr.js","webpack://sitio/./node_modules/moment/locale/ss.js","webpack://sitio/./node_modules/moment/locale/sv.js","webpack://sitio/./node_modules/moment/locale/sw.js","webpack://sitio/./node_modules/moment/locale/ta.js","webpack://sitio/./node_modules/moment/locale/te.js","webpack://sitio/./node_modules/moment/locale/tet.js","webpack://sitio/./node_modules/moment/locale/tg.js","webpack://sitio/./node_modules/moment/locale/th.js","webpack://sitio/./node_modules/moment/locale/tk.js","webpack://sitio/./node_modules/moment/locale/tl-ph.js","webpack://sitio/./node_modules/moment/locale/tlh.js","webpack://sitio/./node_modules/moment/locale/tr.js","webpack://sitio/./node_modules/moment/locale/tzl.js","webpack://sitio/./node_modules/moment/locale/tzm-latn.js","webpack://sitio/./node_modules/moment/locale/tzm.js","webpack://sitio/./node_modules/moment/locale/ug-cn.js","webpack://sitio/./node_modules/moment/locale/uk.js","webpack://sitio/./node_modules/moment/locale/ur.js","webpack://sitio/./node_modules/moment/locale/uz-latn.js","webpack://sitio/./node_modules/moment/locale/uz.js","webpack://sitio/./node_modules/moment/locale/vi.js","webpack://sitio/./node_modules/moment/locale/x-pseudo.js","webpack://sitio/./node_modules/moment/locale/yo.js","webpack://sitio/./node_modules/moment/locale/zh-cn.js","webpack://sitio/./node_modules/moment/locale/zh-hk.js","webpack://sitio/./node_modules/moment/locale/zh-mo.js","webpack://sitio/./node_modules/moment/locale/zh-tw.js","webpack://sitio/./node_modules/moment/moment.js","webpack://sitio/../../../src/components/VAlert/VAlert.ts","webpack://sitio/../../../src/components/VApp/VApp.ts","webpack://sitio/../../../src/directives/scroll/index.ts","webpack://sitio/../../../src/mixins/scrollable/index.ts","webpack://sitio/../../../src/components/VAppBar/VAppBar.ts","webpack://sitio/../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack://sitio/../../../src/components/VAutocomplete/VAutocomplete.ts","webpack://sitio/../../../src/components/VAvatar/VAvatar.ts","webpack://sitio/../../../src/components/VBadge/VBadge.ts","webpack://sitio/../../../src/components/VBreadcrumbs/VBreadcrumbsItem.ts","webpack://sitio/../../../src/components/VBreadcrumbs/VBreadcrumbsDivider.ts","webpack://sitio/../../../src/components/VBreadcrumbs/VBreadcrumbs.ts","webpack://sitio/../../../src/components/VProgressCircular/index.ts","webpack://sitio/../../../src/components/VBtn/VBtn.ts","webpack://sitio/../../../src/components/VBtn/index.ts","webpack://sitio/../../../src/components/VCard/VCard.ts","webpack://sitio/../../../src/components/VCard/index.ts","webpack://sitio/../../../src/mixins/button-group/index.ts","webpack://sitio/../../../src/components/VCarousel/VCarousel.ts","webpack://sitio/../../../src/components/VCarousel/VCarouselItem.ts","webpack://sitio/../../../src/components/VCheckbox/VCheckbox.ts","webpack://sitio/../../../src/components/VChip/VChip.ts","webpack://sitio/../../../src/components/VDialog/VDialog.ts","webpack://sitio/../../../src/components/VDivider/VDivider.ts","webpack://sitio/../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack://sitio/../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack://sitio/../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack://sitio/../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack://sitio/../../../src/components/VGrid/VCol.ts","webpack://sitio/../../../src/components/VGrid/grid.ts","webpack://sitio/../../../src/components/VGrid/VContainer.ts","webpack://sitio/../../../src/components/VGrid/VRow.ts","webpack://sitio/../../../src/components/VGrid/VSpacer.ts","webpack://sitio/../../../src/components/VIcon/VIcon.ts","webpack://sitio/../../../src/components/VIcon/index.ts","webpack://sitio/../../../src/components/VResponsive/VResponsive.ts","webpack://sitio/../../../src/components/VResponsive/index.ts","webpack://sitio/../../../src/components/VImg/VImg.ts","webpack://sitio/../../../src/components/VMessages/VMessages.ts","webpack://sitio/../../../src/components/VMessages/index.ts","webpack://sitio/../../../src/components/VInput/VInput.ts","webpack://sitio/../../../src/components/VInput/index.ts","webpack://sitio/../../../src/components/VItemGroup/VItemGroup.ts","webpack://sitio/../../../src/components/VLabel/VLabel.ts","webpack://sitio/../../../src/components/VLabel/index.ts","webpack://sitio/../../../src/components/VList/VList.ts","webpack://sitio/../../../src/components/VList/VListItem.ts","webpack://sitio/../../../src/components/VList/VListItemAction.ts","webpack://sitio/../../../src/components/VAvatar/index.ts","webpack://sitio/../../../src/components/VList/VListItemAvatar.ts","webpack://sitio/../../../src/components/VList/VListItemGroup.ts","webpack://sitio/../../../src/components/VList/VListItemIcon.ts","webpack://sitio/../../../src/components/VList/VListGroup.ts","webpack://sitio/../../../src/components/VList/index.ts","webpack://sitio/../../../src/components/VMain/VMain.ts","webpack://sitio/../../../src/mixins/menuable/index.ts","webpack://sitio/../../../src/components/VMenu/VMenu.ts","webpack://sitio/../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack://sitio/../../../src/components/VProgressCircular/VProgressCircular.ts","webpack://sitio/../../../src/components/VProgressLinear/VProgressLinear.ts","webpack://sitio/../../../src/components/VProgressLinear/index.ts","webpack://sitio/../../../src/components/VRadioGroup/VRadio.ts","webpack://sitio/../../../src/components/VRadioGroup/VRadioGroup.ts","webpack://sitio/../../../src/components/VChip/index.ts","webpack://sitio/../../../src/components/VMenu/index.ts","webpack://sitio/../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack://sitio/../../../src/components/VDivider/index.ts","webpack://sitio/../../../src/components/VSubheader/index.ts","webpack://sitio/../../../src/components/VSelect/VSelectList.ts","webpack://sitio/../../../src/mixins/filterable/index.ts","webpack://sitio/../../../src/components/VSelect/VSelect.ts","webpack://sitio/../../../src/components/VSheet/VSheet.ts","webpack://sitio/../../../src/components/VSheet/index.ts","webpack://sitio/../../../src/components/VSlideGroup/VSlideGroup.ts","webpack://sitio/../../../src/components/VItemGroup/VItem.ts","webpack://sitio/../../../src/components/VSlideGroup/VSlideItem.ts","webpack://sitio/../../../src/components/VSnackbar/VSnackbar.ts","webpack://sitio/../../../src/components/VSubheader/VSubheader.ts","webpack://sitio/../../../src/components/VSwitch/VSwitch.ts","webpack://sitio/../../../src/components/VSystemBar/VSystemBar.ts","webpack://sitio/../../../src/components/VCounter/VCounter.ts","webpack://sitio/../../../src/components/VCounter/index.ts","webpack://sitio/../../../src/mixins/intersectable/index.ts","webpack://sitio/../../../src/components/VTextField/VTextField.ts","webpack://sitio/../../../src/components/VTextarea/VTextarea.ts","webpack://sitio/../../../src/components/VThemeProvider/VThemeProvider.ts","webpack://sitio/../../../src/components/VToolbar/VToolbar.ts","webpack://sitio/../../../src/components/VToolbar/index.ts","webpack://sitio/../../../src/components/VWindow/VWindow.ts","webpack://sitio/../../../src/components/VWindow/VWindowItem.ts","webpack://sitio/../../../src/components/transitions/createTransition.ts","webpack://sitio/../../../src/components/transitions/expand-transition.ts","webpack://sitio/../../../src/components/transitions/index.ts","webpack://sitio/../../../src/directives/click-outside/index.ts","webpack://sitio/../../../src/directives/intersect/index.ts","webpack://sitio/../../../src/directives/resize/index.ts","webpack://sitio/../../../src/directives/ripple/index.ts","webpack://sitio/../../../src/directives/touch/index.ts","webpack://sitio/../src/install.ts","webpack://sitio/../../src/locale/en.ts","webpack://sitio/../../../src/presets/default/index.ts","webpack://sitio/../../../src/services/presets/index.ts","webpack://sitio/../../../src/services/application/index.ts","webpack://sitio/../../../src/services/breakpoint/index.ts","webpack://sitio/../../../../src/services/icons/presets/mdi-svg.ts","webpack://sitio/../../../../src/services/icons/presets/md.ts","webpack://sitio/../../../../src/services/icons/presets/mdi.ts","webpack://sitio/../../../../src/services/icons/presets/fa.ts","webpack://sitio/../../../../src/services/icons/presets/fa4.ts","webpack://sitio/../../../../src/services/icons/presets/fa-svg.ts","webpack://sitio/../../../../src/services/icons/presets/index.ts","webpack://sitio/../../../src/services/icons/index.ts","webpack://sitio/../../../src/services/lang/index.ts","webpack://sitio/../../../src/util/color/transformSRGB.ts","webpack://sitio/../../../src/util/color/transformCIELAB.ts","webpack://sitio/../../../src/services/theme/utils.ts","webpack://sitio/../../../src/services/theme/index.ts","webpack://sitio/../src/framework.ts","webpack://sitio/../../../src/mixins/activatable/index.ts","webpack://sitio/../../../src/mixins/applicationable/index.ts","webpack://sitio/../../../src/mixins/binds-attrs/index.ts","webpack://sitio/../../../src/mixins/bootable/index.ts","webpack://sitio/../../../src/mixins/colorable/index.ts","webpack://sitio/../../../src/mixins/comparable/index.ts","webpack://sitio/../../../src/mixins/delayable/index.ts","webpack://sitio/../../../src/mixins/dependent/index.ts","webpack://sitio/../../../src/mixins/detachable/index.ts","webpack://sitio/../../../src/mixins/elevatable/index.ts","webpack://sitio/../../../src/mixins/groupable/index.ts","webpack://sitio/../../../src/mixins/loadable/index.ts","webpack://sitio/../../../src/mixins/measurable/index.ts","webpack://sitio/../../../src/mixins/mobile/index.ts","webpack://sitio/../../../src/components/VOverlay/VOverlay.ts","webpack://sitio/../../../src/components/VOverlay/index.ts","webpack://sitio/../../../src/mixins/overlayable/index.ts","webpack://sitio/../../../src/mixins/positionable/index.ts","webpack://sitio/../../../src/mixins/proxyable/index.ts","webpack://sitio/../../../src/mixins/registrable/index.ts","webpack://sitio/../../../src/mixins/returnable/index.ts","webpack://sitio/../../../src/mixins/rippleable/index.ts","webpack://sitio/../../../src/mixins/roundable/index.ts","webpack://sitio/../../../src/mixins/routable/index.ts","webpack://sitio/../../../src/mixins/selectable/index.ts","webpack://sitio/../../../src/mixins/sizeable/index.ts","webpack://sitio/../../../src/mixins/ssr-bootable/index.ts","webpack://sitio/../../../src/mixins/stackable/index.ts","webpack://sitio/../../../src/mixins/themeable/index.ts","webpack://sitio/../../../src/mixins/toggleable/index.ts","webpack://sitio/../../../src/mixins/transitionable/index.ts","webpack://sitio/../../../src/mixins/validatable/index.ts","webpack://sitio/../../../src/services/goto/easing-patterns.ts","webpack://sitio/../../../src/services/goto/util.ts","webpack://sitio/../../../src/services/goto/index.ts","webpack://sitio/../../../src/services/service/index.ts","webpack://sitio/../../src/util/colorUtils.ts","webpack://sitio/../../src/util/console.ts","webpack://sitio/../../src/util/dom.ts","webpack://sitio/../../src/util/helpers.ts","webpack://sitio/../../src/util/mergeData.ts","webpack://sitio/../../src/util/mixins.ts","webpack://sitio/./node_modules/vue-gtag/dist/vue-gtag.esm.js","webpack://sitio/./node_modules/vue-router/dist/vue-router.esm.js","webpack://sitio/./node_modules/vue/dist/vue.runtime.esm.js","webpack://sitio/./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack://sitio/./node_modules/vuetify/src/locale/es.ts","webpack://sitio/./node_modules/vuex/dist/vuex.esm.js","webpack://sitio/./node_modules/@babel/runtime/helpers/esm/defineProperty.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar setGlobal = require('../internals/set-global');\n\nmodule.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return O;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n return O;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) try {\n defineProperty(value, 'prototype', { writable: false });\n } catch (error) { /* empty */ }\n } else value.prototype = undefined;\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.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) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\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: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\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 ); // 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 return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\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) {\n return 'ص';\n } else {\n return 'م';\n }\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: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\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 return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\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 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 week: {\n dow: 0, // Sunday 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 return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n 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 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\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) {\n return 'ص';\n } else {\n return 'م';\n }\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: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\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 return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\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 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 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 return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\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) {\n return 'ص';\n } else {\n return 'م';\n }\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\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\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 return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\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 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 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 return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n 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 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\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) {\n return 'ص';\n } else {\n return 'م';\n }\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: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\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 return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\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 var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.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: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = 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 return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var be = moment.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) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\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 return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.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 w: 'седмица',\n ww: '%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) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\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 return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\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 return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\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 } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 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) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\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 return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\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 return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\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: '[བདུན་ཕྲག་རྗེས་མ], 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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\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 return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (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 =\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 var br = moment.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,\n monthsShortRegex: monthsRegex,\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 return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\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: '[sutra u] LT',\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čer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: 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 return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_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 les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\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, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\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' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\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\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\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,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.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 l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\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: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\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: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\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: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (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 return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.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 return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var deAt = moment.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,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var deCh = moment.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,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var de = moment.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,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\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 var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\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) {\n return 'މކ';\n } else {\n return 'މފ';\n }\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, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday 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 return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (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(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 return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.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 return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.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 return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.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 return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.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 return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.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 return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.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 return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.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 return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.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 return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.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 return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\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 =\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 var esDo = moment.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[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\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 =\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 var esMx = moment.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;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\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 =\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 var esUs = moment.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;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\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 =\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 var es = moment.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;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var et = moment.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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.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 return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.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) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\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\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\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 return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\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 return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.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: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt á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 return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\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 HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\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 });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_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: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\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 return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\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,\n monthsParse = [\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\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_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: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 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 return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var fy = moment.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 return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\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 = [\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 = [\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 var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\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 return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\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 = [\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 = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\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: '[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 return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.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 return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var gomDeva = moment.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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\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: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 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) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati 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 Gujarati.\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 } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\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 return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\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 l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM 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: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\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 shortMonthsParse = [\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 var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\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\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi 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 Hindi.\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 } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\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 return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\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: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do 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] [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čer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: 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 return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\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 return '[անցած] dddd [օրը ժամը] LT';\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 meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\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 return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 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) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\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 return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.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 [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_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: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\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 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 return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_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: function () {\n return (\n '[Oggi a' +\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 return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.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) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 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) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\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 return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\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: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\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: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\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 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 var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[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 return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.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) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\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 preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\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 return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\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 } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\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 return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\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: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd 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: '1분',\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, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.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 /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\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\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\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 return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.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: '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 var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[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 return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> 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 var lb = moment.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,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\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 return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.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) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\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: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\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 return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\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 return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 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 var me = moment.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 return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.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 return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.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) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\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 return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\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 meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\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) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\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: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\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: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\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: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\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 return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 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) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\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 return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 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) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\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 return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.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: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\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 return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\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 preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\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 return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\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: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.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.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett å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 return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\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, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\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 } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\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 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 return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\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 =\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 var nlBe = moment.defineLocale('nl-be', {\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;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 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 return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\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 =\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 var nl = moment.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;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.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 return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.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 return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\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 return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\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 ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.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 return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.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 return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(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 var ro = moment.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,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\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 return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\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 var ru = moment.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,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\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 return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\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) {\n return 'صبح';\n }\n return 'شام';\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, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\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 return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: '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 ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\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 return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\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 meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\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 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.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: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.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: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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 return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\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: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\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 return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\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.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.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.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.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\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 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\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.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.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 var sr = moment.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.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\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 return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.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) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 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 return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.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 return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.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 return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 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 return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.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 } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\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 return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_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: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\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 return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\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: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\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 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 } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[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 return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.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) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\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: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.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: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[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 return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.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 return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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(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 var tlh = moment.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,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: 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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\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 var tr = moment.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) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\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: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[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 return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var tzl = moment.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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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(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 return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.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 return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.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 return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.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) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\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\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\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 return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 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 var uk = moment.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,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\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) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\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 return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\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) {\n return 'صبح';\n }\n return 'شام';\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, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\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 return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.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: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\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 return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\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: 'D MMMM YYYY, dddd 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 week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\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 return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: '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 ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\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: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\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 return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.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: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %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 return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\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) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\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 return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 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) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 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) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\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 dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 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) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\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 dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(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) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.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));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\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\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = 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++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (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\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\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\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\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 function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\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 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 return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\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++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\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 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 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++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(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\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(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 createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\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 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) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (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 // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\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 // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\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) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (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) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (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 return name.match('^[^/\\\\\\\\]*$') != null;\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 ||\n a[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++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._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) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (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++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (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) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > 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) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\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) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.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) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -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\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\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\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (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) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([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 // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (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 // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\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 // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\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 // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\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 // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\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 // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\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 // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\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++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((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 // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\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 // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\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\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\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[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\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 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 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\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\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.3';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","import Routable from '../../mixins/routable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(Routable).extend({\n name: 'v-breadcrumbs-item',\n\n props: {\n // In a breadcrumb, the currently\n // active item should be dimmed\n activeClass: {\n type: String,\n default: 'v-breadcrumbs__item--disabled',\n },\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs__item': true,\n [this.activeClass]: this.disabled,\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n return h('li', [\n h(tag, {\n ...data,\n attrs: {\n ...data.attrs,\n 'aria-current': this.isActive && this.isLink ? 'page' : undefined,\n },\n }, this.$slots.default),\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('v-breadcrumbs__divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VBreadcrumbsItem from './VBreadcrumbsItem'\nimport VBreadcrumbsDivider from './VBreadcrumbsDivider'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-breadcrumbs',\n\n props: {\n divider: {\n type: String,\n default: '/',\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n large: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs--large': this.large,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genDivider () {\n return this.$createElement(VBreadcrumbsDivider, this.$slots.divider ? this.$slots.divider : this.divider)\n },\n genItems () {\n const items = []\n const hasSlot = !!this.$scopedSlots.item\n const keys = []\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i]\n\n keys.push(item.text)\n\n if (hasSlot) items.push(this.$scopedSlots.item!({ item }))\n else items.push(this.$createElement(VBreadcrumbsItem, { key: keys.join('.'), props: item }, [item.text]))\n\n if (i < this.items.length - 1) items.push(this.genDivider())\n }\n\n return items\n },\n },\n\n render (h): VNode {\n const children = this.$slots.default || this.genItems()\n\n return h('ul', {\n staticClass: 'v-breadcrumbs',\n class: this.classes,\n }, children)\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n raised: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary = {\n ...VSheet.options.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.options.methods.genProgress.call(this)\n\n if (!render) return null\n\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n key: 'progress',\n }, [render])\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.attrs = data.attrs || {}\n data.attrs.tabindex = 0\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n this.$slots.default,\n ])\n },\n})\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.options.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n },\n }, [\n this.$createElement(VIcon, {\n props: { size: 18 },\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory,\n },\n on: {\n change: (val: unknown) => {\n this.internalValue = val\n },\n },\n }, children)\n },\n genProgress () {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n },\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (h): VNode {\n const render = VWindow.options.render.call(this, h)\n\n render.data!.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n// Components\nimport { VImg } from '../VImg'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\nimport Routable from '../../mixins/routable'\n\n// Types\nconst baseMixins = mixins(\n VWindowItem,\n Routable\n)\n\ninterface options extends ExtractVue {\n parentTheme: {\n isDark: boolean\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-carousel-item',\n\n inject: {\n parentTheme: {\n default: {\n isDark: false,\n },\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n theme: this.parentTheme,\n }\n },\n\n inheritAttrs: false,\n\n methods: {\n genDefaultSlot () {\n return [\n this.$createElement(VImg, {\n staticClass: 'v-carousel__item',\n props: {\n ...this.$attrs,\n height: this.windowGroup.internalHeight,\n },\n on: this.$listeners,\n scopedSlots: {\n placeholder: this.$scopedSlots.placeholder,\n },\n }, getSlot(this)),\n ]\n },\n genWindowItem () {\n const { tag, data } = this.generateRouteLink()\n\n data.staticClass = 'v-window-item'\n data.directives!.push({\n name: 'show',\n value: this.isActive,\n })\n\n return this.$createElement(tag, data, this.genDefaultSlot())\n },\n },\n})\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.content.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.content.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n tabindex: this.isActive ? 0 : undefined,\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const data = mergeData({\n attrs: {\n 'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","import './VSimpleCheckbox.sass'\n\nimport ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data, listeners }): VNode {\n const children = []\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n return h('div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }), [\n h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n ])\n },\n})\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport {\n escapeHTML,\n getPropertyFromItem,\n} from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string): string {\n return `${escapeHTML(text)}`\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n const innerHTML = this.genFilteredText(this.getText(item))\n\n return this.$createElement(VListItemContent,\n [this.$createElement(VListItemTitle, {\n domProps: { innerHTML },\n })]\n )\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) || '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.allItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: v => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: { [this.activeClass]: this.isActive },\n })\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout,\n },\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// Styles\nimport './VSystemBar.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport default mixins(\n Applicationable('bar', [\n 'height',\n 'window',\n ]),\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-system-bar',\n\n props: {\n height: [Number, String],\n lightsOut: Boolean,\n window: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-system-bar--lights-out': this.lightsOut,\n 'v-system-bar--absolute': this.absolute,\n 'v-system-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-system-bar--window': this.window,\n ...this.themeClasses,\n }\n },\n computedHeight (): number | string {\n if (this.height) {\n return isNaN(parseInt(this.height)) ? this.height : parseInt(this.height)\n }\n\n return this.window ? 32 : 24\n },\n styles (): object {\n return {\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n methods: {\n updateApplication () {\n return this.$el\n ? this.$el.clientHeight\n : this.computedHeight\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-system-bar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): VNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Directives\nimport Intersect from '../../directives/intersect'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\nexport default function intersectable (options: { onVisible: string[] }) {\n return Vue.extend({\n name: 'intersectable',\n\n data: () => ({\n isIntersecting: false,\n }),\n\n mounted () {\n Intersect.inserted(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n destroyed () {\n Intersect.unbind(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n methods: {\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isIntersecting = isIntersecting\n\n if (!isIntersecting) return\n\n for (let i = 0, length = options.onVisible.length; i < length; i++) {\n const callback = (this as any)[options.onVisible[i]]\n\n if (typeof callback === 'function') {\n callback()\n continue\n }\n\n consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options')\n }\n },\n },\n })\n}\n","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VDialogTopTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\n },\n}\n","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.context!._uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n const observe = el._observe?.[vnode.context!._uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","import OurVue, { VueConstructor } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {\n if ((install as any).installed) return\n (install as any).installed = true\n\n if (OurVue !== Vue) {\n consoleError(`Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you're seeing \"$attrs is readonly\", it's caused by this`)\n }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext)\n this.$vuetify = Vue.observable(options.vuetify.framework)\n } else {\n this.$vuetify = (options.parent && options.parent.$vuetify) || this\n }\n },\n beforeMount () {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true\n // @ts-ignore\n this.$vuetify.breakpoint.update(true)\n }\n },\n mounted () {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false\n // @ts-ignore\n this.$vuetify.breakpoint.update()\n }\n },\n })\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Current Page, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}',\n },\n },\n}\n","// Styles\nimport '../../styles/main.sass'\n\n// Locale\nimport { en } from '../../locale'\n\n// Icons\n// TODO: Enable for v3\n// import mdi from '../../services/icons/presets/mdi'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\n\nexport const preset: VuetifyPreset = {\n breakpoint: {\n // TODO: update to MD2 spec in v3 - 1280\n mobileBreakpoint: 1264,\n scrollBarWidth: 16,\n thresholds: {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920,\n },\n },\n icons: {\n // TODO: remove v3\n iconfont: 'mdi',\n values: {},\n },\n lang: {\n current: 'en',\n locales: { en },\n // Default translator exists in lang service\n t: undefined as any,\n },\n rtl: false,\n theme: {\n dark: false,\n default: 'light',\n disable: false,\n options: {\n cspNonce: undefined,\n customProperties: undefined,\n minifyTheme: undefined,\n themeCache: undefined,\n variations: true,\n },\n themes: {\n light: {\n primary: '#1976D2',\n secondary: '#424242',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n dark: {\n primary: '#2196F3',\n secondary: '#424242',\n accent: '#FF4081',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n },\n },\n}\n","// Preset\nimport { preset as Preset } from '../../presets/default'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport Vuetify from 'vuetify/types'\nimport { Service } from '../service'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\n\nexport class Presets extends Service {\n static property: 'presets' = 'presets'\n\n constructor (\n parentPreset: Partial,\n parent: Vuetify,\n ) {\n super()\n\n // The default preset\n const defaultPreset = mergeDeep({}, Preset)\n // The user provided preset\n const { userPreset } = parent\n // The user provided global preset\n const {\n preset: globalPreset = {},\n ...preset\n } = userPreset\n\n if (globalPreset.preset != null) {\n consoleWarn('Global presets do not support the **preset** option, it can be safely omitted')\n }\n\n parent.preset = mergeDeep(\n mergeDeep(defaultPreset, globalPreset),\n preset\n ) as VuetifyPreset\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { TargetPropValues, TargetProp, Application as IApplication } from 'vuetify/types/services/application'\n\nexport class Application extends Service implements IApplication {\n static property: 'application' = 'application'\n\n bar = 0\n\n top = 0\n\n left = 0\n\n insetFooter = 0\n\n right = 0\n\n bottom = 0\n\n footer = 0\n\n application: Dictionary = {\n bar: {},\n top: {},\n left: {},\n insetFooter: {},\n right: {},\n bottom: {},\n footer: {},\n }\n\n register (\n uid: number,\n location: TargetProp,\n size: number\n ) {\n this.application[location][uid] = size\n\n this.update(location)\n }\n\n unregister (uid: number, location: TargetProp) {\n if (this.application[location][uid] == null) return\n\n delete this.application[location][uid]\n this.update(location)\n }\n\n update (location: TargetProp) {\n this[location] = Object.values(this.application[location])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z', // delete (e.g. v-chip close)\n clear: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n success: 'M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z',\n info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n warning: 'M11,4.5H13V15.5H11V4.5M13,17.5V19.5H11V17.5H13Z',\n error: 'M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z',\n prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z', // for carousel\n sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'M7,10L12,15L17,10H7Z',\n dropdown: 'M7,10L12,15L17,10H7Z',\n radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'M19,13H5V11H19V13Z',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'check',\n cancel: 'cancel',\n close: 'close',\n delete: 'cancel', // delete (e.g. v-chip close)\n clear: 'clear',\n success: 'check_circle',\n info: 'info',\n warning: 'priority_high',\n error: 'warning',\n prev: 'chevron_left',\n next: 'chevron_right',\n checkboxOn: 'check_box',\n checkboxOff: 'check_box_outline_blank',\n checkboxIndeterminate: 'indeterminate_check_box',\n delimiter: 'fiber_manual_record', // for carousel\n sort: 'arrow_upward',\n expand: 'keyboard_arrow_down',\n menu: 'menu',\n subgroup: 'arrow_drop_down',\n dropdown: 'arrow_drop_down',\n radioOn: 'radio_button_checked',\n radioOff: 'radio_button_unchecked',\n edit: 'edit',\n ratingEmpty: 'star_border',\n ratingFull: 'star',\n ratingHalf: 'star_half',\n loading: 'cached',\n first: 'first_page',\n last: 'last_page',\n unfold: 'unfold_more',\n file: 'attach_file',\n plus: 'add',\n minus: 'remove',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-exclamation',\n error: 'mdi-alert',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fa fa-check',\n cancel: 'fa fa-times-circle',\n close: 'fa fa-times',\n delete: 'fa fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa fa-times-circle', // delete (e.g. v-chip close)\n success: 'fa fa-check-circle',\n info: 'fa fa-info-circle',\n warning: 'fa fa-exclamation',\n error: 'fa fa-exclamation-triangle',\n prev: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n checkboxOn: 'fa fa-check-square',\n checkboxOff: 'fa fa-square-o',\n checkboxIndeterminate: 'fa fa-minus-square',\n delimiter: 'fa fa-circle', // for carousel\n sort: 'fa fa-sort-up',\n expand: 'fa fa-chevron-down',\n menu: 'fa fa-bars',\n subgroup: 'fa fa-caret-down',\n dropdown: 'fa fa-caret-down',\n radioOn: 'fa fa-dot-circle-o',\n radioOff: 'fa fa-circle-o',\n edit: 'fa fa-pencil',\n ratingEmpty: 'fa fa-star-o',\n ratingFull: 'fa fa-star',\n ratingHalf: 'fa fa-star-half-o',\n loading: 'fa fa-refresh',\n first: 'fa fa-step-backward',\n last: 'fa fa-step-forward',\n unfold: 'fa fa-angle-double-down',\n file: 'fa fa-paperclip',\n plus: 'fa fa-plus',\n minus: 'fa fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\nimport { Component } from 'vue'\nimport icons from './fa'\n\nexport function convertToComponentDeclarations (\n component: Component | string,\n iconSet: VuetifyIcons,\n) {\n const result: Partial = {}\n\n for (const key in iconSet) {\n result[key] = {\n component,\n props: {\n icon: (iconSet[key] as string).split(' fa-'),\n },\n }\n }\n\n return result as VuetifyIcons\n}\n\nexport default convertToComponentDeclarations('font-awesome-icon', icons)\n","import mdiSvg from './mdi-svg'\nimport md from './md'\nimport mdi from './mdi'\nimport fa from './fa'\nimport fa4 from './fa4'\nimport faSvg from './fa-svg'\n\nexport default Object.freeze({\n mdiSvg,\n md,\n mdi,\n fa,\n fa4,\n faSvg,\n})\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Icons as IIcons } from 'vuetify/types/services/icons'\n\n// Presets\nimport presets from './presets'\n\nexport class Icons extends Service implements IIcons {\n static property: 'icons' = 'icons'\n\n public iconfont: IIcons['iconfont']\n\n public values: IIcons['values']\n\n public component: IIcons['component']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n iconfont,\n values,\n component,\n } = preset[Icons.property]\n\n this.component = component\n this.iconfont = iconfont\n this.values = mergeDeep(\n presets[iconfont],\n values\n ) as IIcons['values']\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyLocale,\n Lang as ILang,\n} from 'vuetify/types/services/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (\n locale: VuetifyLocale,\n key: string,\n usingDefault = false,\n defaultLocale: VuetifyLocale\n): string {\n const shortKey = key.replace(LANG_PREFIX, '')\n let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n if (translation === fallback) {\n if (usingDefault) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n translation = key\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n translation = getTranslation(defaultLocale, key, true, defaultLocale)\n }\n }\n\n return translation\n}\n\nexport class Lang extends Service implements ILang {\n static property: 'lang' = 'lang'\n\n public current: ILang['current']\n\n public defaultLocale = 'en'\n\n public locales: ILang['locales']\n\n private translator: ILang['t']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n current,\n locales,\n t,\n } = preset[Lang.property]\n\n this.current = current\n this.locales = locales\n this.translator = t || this.defaultTranslator\n }\n\n public currentLocale (key: string) {\n const translation = this.locales[this.current]\n const defaultLocale = this.locales[this.defaultLocale]\n\n return getTranslation(translation, key, false, defaultLocale)\n }\n\n public t (key: string, ...params: any[]) {\n if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params)\n\n return this.translator(key, ...params)\n }\n\n private defaultTranslator (key: string, ...params: any[]) {\n return this.replace(this.currentLocale(key), params)\n }\n\n private replace (str: string, params: any[]) {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n }\n}\n","import { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import { XYZ, LAB } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record,\n isItem = false,\n variations = true,\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (!variations) {\n parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record {\n const values: Record = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n static property: 'theme' = 'theme'\n\n public disabled = false\n\n public options: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes\n\n public defaults: VuetifyThemes\n\n private isDark = null as boolean | null\n\n private unwatch = null as (() => void) | null\n\n private vueMeta = null as any | null\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n dark,\n disable,\n options,\n themes,\n } = preset[Theme.property]\n\n this.dark = Boolean(dark)\n this.defaults = this.themes = themes\n this.options = options\n\n if (disable) {\n this.disabled = true\n\n return\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element and apply new values\n /* eslint-disable-next-line accessor-pairs */\n set css (val: string) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23()\n }\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: Vue, ssrContext?: any): void {\n if (this.disabled) return\n\n /* istanbul ignore else */\n if ((root as any).$meta) {\n this.initVueMeta(root)\n } else if (ssrContext) {\n this.initSSR(ssrContext)\n }\n\n this.initTheme(root)\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta (root: any) {\n this.vueMeta = root.$meta()\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23()\n })\n return\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n const metaInfo = root.$options[metaKeyName] || {}\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || []\n\n const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n })\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles\n }\n\n return metaInfo\n }\n }\n\n private applyVueMeta23 () {\n const { set } = this.vueMeta.addApp('vuetify')\n\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: this.options.cspNonce,\n }],\n })\n }\n\n private initSSR (ssrContext?: any) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += ``\n }\n\n private initTheme (root: Vue) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n root.$once('hook:created', () => {\n const obs = Vue.observable({ themes: this.themes })\n this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n })\n this.applyTheme()\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n return ThemeUtils.parse(\n this.currentTheme || {},\n undefined,\n getNestedValue(this.options, ['variations'], true)\n )\n }\n\n // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n private get isVueMeta23 (): boolean {\n return typeof this.vueMeta.addApp === 'function'\n }\n}\n","import { install } from './install'\n\n// Types\nimport Vue from 'vue'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\nimport {\n VuetifyService,\n VuetifyServiceContract,\n} from 'vuetify/types/services'\n\n// Services\nimport * as services from './services'\n\nexport default class Vuetify {\n static install = install\n\n static installed = false\n\n static version = __VUETIFY_VERSION__\n\n static config = {\n silent: false,\n }\n\n public framework: Dictionary = {\n isHydrating: false,\n } as any\n\n public installed: string[] = []\n\n public preset = {} as VuetifyPreset\n\n public userPreset: UserVuetifyPreset = {}\n\n constructor (userPreset: UserVuetifyPreset = {}) {\n this.userPreset = userPreset\n\n this.use(services.Presets)\n this.use(services.Application)\n this.use(services.Breakpoint)\n this.use(services.Goto)\n this.use(services.Icons)\n this.use(services.Lang)\n this.use(services.Theme)\n }\n\n // Called on the new vuetify instance\n // bootstrap in install beforeCreate\n // Exposes ssrContext if available\n init (root: Vue, ssrContext?: object) {\n this.installed.forEach(property => {\n const service = this.framework[property]\n\n service.framework = this.framework\n\n service.init(root, ssrContext)\n })\n\n // rtl is not installed and\n // will never be called by\n // the init process\n this.framework.rtl = Boolean(this.preset.rtl) as any\n }\n\n // Instantiate a VuetifyService\n use (Service: VuetifyService) {\n const property = Service.property\n\n if (this.installed.includes(property)) return\n\n // TODO maybe a specific type for arg 2?\n this.framework[property] = new Service(this.preset, this as any)\n this.installed.push(property)\n }\n}\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '