{"version":3,"file":"js/353-0116544455c8345eafe2.js","mappings":"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","sources":["webpack://vigie_des_fonds/./node_modules/@hotwired/stimulus/dist/stimulus.js","webpack://vigie_des_fonds/./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack://vigie_des_fonds/./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack://vigie_des_fonds/./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack://vigie_des_fonds/./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack://vigie_des_fonds/./node_modules/@stimulus/webpack-helpers/dist/index.js","webpack://vigie_des_fonds/./node_modules/fuse.js/dist/fuse.esm.js","webpack://vigie_des_fonds/./node_modules/moment/locale/af.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-dz.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-kw.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-ly.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-ma.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-sa.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar-tn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ar.js","webpack://vigie_des_fonds/./node_modules/moment/locale/az.js","webpack://vigie_des_fonds/./node_modules/moment/locale/be.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bg.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bm.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bn-bd.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/br.js","webpack://vigie_des_fonds/./node_modules/moment/locale/bs.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ca.js","webpack://vigie_des_fonds/./node_modules/moment/locale/cs.js","webpack://vigie_des_fonds/./node_modules/moment/locale/cv.js","webpack://vigie_des_fonds/./node_modules/moment/locale/cy.js","webpack://vigie_des_fonds/./node_modules/moment/locale/da.js","webpack://vigie_des_fonds/./node_modules/moment/locale/de-at.js","webpack://vigie_des_fonds/./node_modules/moment/locale/de-ch.js","webpack://vigie_des_fonds/./node_modules/moment/locale/de.js","webpack://vigie_des_fonds/./node_modules/moment/locale/dv.js","webpack://vigie_des_fonds/./node_modules/moment/locale/el.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-au.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-ca.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-gb.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-ie.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-il.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-in.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-nz.js","webpack://vigie_des_fonds/./node_modules/moment/locale/en-sg.js","webpack://vigie_des_fonds/./node_modules/moment/locale/eo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/es-do.js","webpack://vigie_des_fonds/./node_modules/moment/locale/es-mx.js","webpack://vigie_des_fonds/./node_modules/moment/locale/es-us.js","webpack://vigie_des_fonds/./node_modules/moment/locale/es.js","webpack://vigie_des_fonds/./node_modules/moment/locale/et.js","webpack://vigie_des_fonds/./node_modules/moment/locale/eu.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fa.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fi.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fil.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fr-ca.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fr-ch.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fr.js","webpack://vigie_des_fonds/./node_modules/moment/locale/fy.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ga.js","webpack://vigie_des_fonds/./node_modules/moment/locale/gd.js","webpack://vigie_des_fonds/./node_modules/moment/locale/gl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/gom-deva.js","webpack://vigie_des_fonds/./node_modules/moment/locale/gom-latn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/gu.js","webpack://vigie_des_fonds/./node_modules/moment/locale/he.js","webpack://vigie_des_fonds/./node_modules/moment/locale/hi.js","webpack://vigie_des_fonds/./node_modules/moment/locale/hr.js","webpack://vigie_des_fonds/./node_modules/moment/locale/hu.js","webpack://vigie_des_fonds/./node_modules/moment/locale/hy-am.js","webpack://vigie_des_fonds/./node_modules/moment/locale/id.js","webpack://vigie_des_fonds/./node_modules/moment/locale/is.js","webpack://vigie_des_fonds/./node_modules/moment/locale/it-ch.js","webpack://vigie_des_fonds/./node_modules/moment/locale/it.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ja.js","webpack://vigie_des_fonds/./node_modules/moment/locale/jv.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ka.js","webpack://vigie_des_fonds/./node_modules/moment/locale/kk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/km.js","webpack://vigie_des_fonds/./node_modules/moment/locale/kn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ko.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ku.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ky.js","webpack://vigie_des_fonds/./node_modules/moment/locale/lb.js","webpack://vigie_des_fonds/./node_modules/moment/locale/lo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/lt.js","webpack://vigie_des_fonds/./node_modules/moment/locale/lv.js","webpack://vigie_des_fonds/./node_modules/moment/locale/me.js","webpack://vigie_des_fonds/./node_modules/moment/locale/mi.js","webpack://vigie_des_fonds/./node_modules/moment/locale/mk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ml.js","webpack://vigie_des_fonds/./node_modules/moment/locale/mn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/mr.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ms-my.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ms.js","webpack://vigie_des_fonds/./node_modules/moment/locale/mt.js","webpack://vigie_des_fonds/./node_modules/moment/locale/my.js","webpack://vigie_des_fonds/./node_modules/moment/locale/nb.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ne.js","webpack://vigie_des_fonds/./node_modules/moment/locale/nl-be.js","webpack://vigie_des_fonds/./node_modules/moment/locale/nl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/nn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/oc-lnc.js","webpack://vigie_des_fonds/./node_modules/moment/locale/pa-in.js","webpack://vigie_des_fonds/./node_modules/moment/locale/pl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/pt-br.js","webpack://vigie_des_fonds/./node_modules/moment/locale/pt.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ro.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ru.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sd.js","webpack://vigie_des_fonds/./node_modules/moment/locale/se.js","webpack://vigie_des_fonds/./node_modules/moment/locale/si.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sq.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sr-cyrl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sr.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ss.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sv.js","webpack://vigie_des_fonds/./node_modules/moment/locale/sw.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ta.js","webpack://vigie_des_fonds/./node_modules/moment/locale/te.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tet.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tg.js","webpack://vigie_des_fonds/./node_modules/moment/locale/th.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tl-ph.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tlh.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tr.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tzl.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tzm-latn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/tzm.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ug-cn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/uk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/ur.js","webpack://vigie_des_fonds/./node_modules/moment/locale/uz-latn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/uz.js","webpack://vigie_des_fonds/./node_modules/moment/locale/vi.js","webpack://vigie_des_fonds/./node_modules/moment/locale/x-pseudo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/yo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/zh-cn.js","webpack://vigie_des_fonds/./node_modules/moment/locale/zh-hk.js","webpack://vigie_des_fonds/./node_modules/moment/locale/zh-mo.js","webpack://vigie_des_fonds/./node_modules/moment/locale/zh-tw.js","webpack://vigie_des_fonds/./node_modules/moment/moment.js","webpack://vigie_des_fonds/./node_modules/sortablejs/modular/sortable.esm.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/event_listener.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/dispatcher.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/action_descriptor.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/action.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/binding.js","webpack://vigie_des_fonds/./node_modules/@stimulus/mutation-observers/dist/element_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/mutation-observers/dist/attribute_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/mutation-observers/dist/string_map_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/multimap/dist/set_operations.js","webpack://vigie_des_fonds/./node_modules/@stimulus/multimap/dist/multimap.js","webpack://vigie_des_fonds/./node_modules/@stimulus/multimap/dist/indexed_multimap.js","webpack://vigie_des_fonds/./node_modules/@stimulus/mutation-observers/dist/token_list_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/mutation-observers/dist/value_list_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/binding_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/value_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/context.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/inheritable_statics.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/blessing.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/module.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/definition.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/class_map.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/string_helpers.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/data_map.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/guide.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/selectors.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/target_set.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/scope.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/scope_observer.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/router.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/schema.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/application.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/class_properties.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/target_properties.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/value_properties.js","webpack://vigie_des_fonds/./node_modules/@stimulus/core/dist/controller.js","webpack://vigie_des_fonds/./node_modules/tailwindcss-stimulus-components/dist/tailwindcss-stimulus-components.modern.js","webpack://vigie_des_fonds/./node_modules/trix/dist/trix.js","webpack://vigie_des_fonds/./node_modules/turbolinks/dist/turbolinks.js"],"sourcesContent":["/*\nStimulus 3.0.1\nCopyright © 2021 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n }\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map;\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(eventListener => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(eventListener => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values())\n .reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map;\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions).sort().forEach(key => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst descriptorPattern = /^((.+?)(@(window|document))?->)?(.+?)(#([^:]+?))(:(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName: matches[2],\n eventOptions: matches[9] ? parseEventOptions(matches[9]) : {},\n identifier: matches[5],\n methodName: matches[7]\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions.split(\":\").reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nclass Action {\n constructor(element, index, descriptor) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n }\n static forToken(token) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content));\n }\n toString() {\n const eventNameSuffix = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventNameSuffix}->${this.identifier}#${this.methodName}`;\n }\n get params() {\n if (this.eventTarget instanceof Element) {\n return this.getParamsFromEventTargetAttributes(this.eventTarget);\n }\n else {\n return {};\n }\n }\n getParamsFromEventTargetAttributes(eventTarget) {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`);\n const attributes = Array.from(eventTarget.attributes);\n attributes.forEach(({ name, value }) => {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n Object.assign(params, { [camelize(key)]: typecast(value) });\n }\n });\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n}\nconst defaultEventNames = {\n \"a\": e => \"click\",\n \"button\": e => \"click\",\n \"form\": e => \"submit\",\n \"details\": e => \"toggle\",\n \"input\": e => e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\",\n \"select\": e => \"change\",\n \"textarea\": e => \"input\"\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n if (this.willBeInvokedByEvent(event)) {\n this.invokeWithEvent(event);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n const { params } = this.action;\n const actionEvent = Object.assign(event, { params });\n this.method.call(this.controller, actionEvent);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set;\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(node, attributeName) {\n const element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map;\n this.mutationObserver = new MutationObserver(mutations => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map(attribute => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some(set => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([key, values]) => values.has(value))\n .map(([key, values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map;\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap;\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach(token => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach(token => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens)\n .findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString.trim().split(/\\s+/).filter(content => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap;\n this.valuesByTokenByElement = new WeakMap;\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map;\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map;\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach(binding => this.delegate.bindingDisconnected(binding));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n this.invokeChangedCallbacksForDefaultValues();\n }\n start() {\n this.stringMapObserver.start();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map(key => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach(key => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap;\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach(name => values.add(name));\n return values;\n }, new Set));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map(key => [key, definition[key]]) : [];\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [\n ...Object.getOwnPropertyNames(object),\n ...Object.getOwnPropertySymbols(object)\n ];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended }\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () { this.a.call(this); };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b;\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor)\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap;\n this.connectedContexts = new Set;\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap;\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set;\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target\n || this.findTarget(targetName)\n || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName)\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map(element => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n }\n findElement(selector) {\n return this.element.matches(selector)\n ? this.element\n : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...this.element.matches(selector) ? [this.element] : [],\n ...this.queryElements(selector).filter(this.containsElement)\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap;\n this.scopeReferenceCounts = new WeakMap;\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map;\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap;\n this.modulesByIdentifier = new Map;\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find(context => context.element == element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(scope => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(scope => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: identifier => `data-${identifier}-target`\n};\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n }\n static start(element, schema) {\n const application = new Application(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n if (controllerConstructor.shouldLoad) {\n this.load({ identifier, controllerConstructor });\n }\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach(definition => this.router.loadDefinition(definition));\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach(identifier => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map(context => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise(resolve => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n }\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n }\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n }\n }\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n }\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n }\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n }\n }\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n }\n }\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair) {\n const definition = parseValueDefinitionPair(valueDefinitionPair);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n }\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n }\n }\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition]) {\n return valueDescriptorForTokenAndTypeDefinition(token, typeDefinition);\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array: return \"array\";\n case Boolean: return \"boolean\";\n case Number: return \"number\";\n case Object: return \"object\";\n case String: return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\": return \"boolean\";\n case \"number\": return \"number\";\n case \"string\": return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(typeObject) {\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n if (typeFromObject) {\n const defaultValueType = parseValueTypeDefault(typeObject.default);\n if (typeFromObject !== defaultValueType) {\n throw new Error(`Type \"${typeFromObject}\" must match the type of the default value. Given default value: \"${typeObject.default}\" as \"${defaultValueType}\"`);\n }\n return typeFromObject;\n }\n}\nfunction parseValueTypeDefinition(typeDefinition) {\n const typeFromObject = parseValueTypeObject(typeDefinition);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n throw new Error(`Unknown value type \"${typeDefinition}\"`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined)\n return defaultValue;\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(token, typeDefinition) {\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(typeDefinition);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() { return defaultValueForDefinition(typeDefinition); },\n get hasCustomDefaultValue() { return parseValueTypeDefault(typeDefinition) !== undefined; },\n reader: readers[type],\n writer: writers[type] || writers.default\n };\n}\nconst defaultValuesByType = {\n get array() { return []; },\n boolean: false,\n number: 0,\n get object() { return {}; },\n string: \"\"\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(\"Expected array\");\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || value == \"false\");\n },\n number(value) {\n return Number(value);\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(\"Expected object\");\n }\n return object;\n },\n string(value) {\n return value;\n }\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [ClassPropertiesBlessing, TargetPropertiesBlessing, ValuePropertiesBlessing];\nController.targets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","import { DirectUpload } from \"@rails/activestorage\"\n\nexport class AttachmentUpload {\n constructor(attachment, element) {\n this.attachment = attachment\n this.element = element\n this.directUpload = new DirectUpload(attachment.file, this.directUploadUrl, this)\n }\n\n start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this))\n }\n\n directUploadWillStoreFileWithXHR(xhr) {\n xhr.upload.addEventListener(\"progress\", event => {\n const progress = event.loaded / event.total * 100\n this.attachment.setUploadProgress(progress)\n })\n }\n\n directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(`Direct upload failed: ${error}`)\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n })\n }\n\n createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n }\n\n get directUploadUrl() {\n return this.element.dataset.directUploadUrl\n }\n\n get blobUrlTemplate() {\n return this.element.dataset.blobUrlTemplate\n }\n}\n","import { AttachmentUpload } from \"./attachment_upload\"\n\naddEventListener(\"trix-attachment-add\", event => {\n const { attachment, target } = event\n\n if (attachment.file) {\n const upload = new AttachmentUpload(attachment, target)\n upload.start()\n }\n})\n","(function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([ \"exports\" ], factory) : factory(global.ActiveStorage = {});\n})(this, function(exports) {\n \"use strict\";\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n var sparkMd5 = createCommonjsModule(function(module, exports) {\n (function(factory) {\n {\n module.exports = factory();\n }\n })(function(undefined) {\n var hex_chr = [ \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\" ];\n function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\", j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function() {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function(from, to) {\n var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [], length = hex.length, x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function(str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function(contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length, i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, i, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function() {\n this._buff = \"\";\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.prototype.getState = function() {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n SparkMD5.prototype.setState = function(state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function() {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function(tail, length) {\n var i = length, tmp, lo, hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function(str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function(content, raw) {\n var hash = md51(content), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function() {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function(arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i, ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function() {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function() {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function(state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function(arr, raw) {\n var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n });\n });\n var classCallCheck = function(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n var FileChecksum = function() {\n createClass(FileChecksum, null, [ {\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n } ]);\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n createClass(FileChecksum, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function(event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function(event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n } ]);\n return FileChecksum;\n }();\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles, cancelable = eventInit.cancelable, detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n var BlobRecord = function() {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobRecord, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr, responseType = _xhr.responseType, response = _xhr.response;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n } ]);\n return BlobRecord;\n }();\n var BlobUpload = function() {\n function BlobUpload(blob) {\n var _this = this;\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData, url = _blob$directUploadDat.url, headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobUpload, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr, status = _xhr.status, response = _xhr.response;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n } ]);\n return BlobUpload;\n }();\n var id = 0;\n var DirectUpload = function() {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n createClass(DirectUpload, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n FileChecksum.create(this.file, function(error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function(error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function(error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n } ]);\n return DirectUpload;\n }();\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n return object[methodName].apply(object, messages);\n }\n }\n var DirectUploadController = function() {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n createClass(DirectUploadController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function(error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n _this.dispatch(\"end\");\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function(event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n } ]);\n return DirectUploadController;\n }();\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n var DirectUploadsController = function() {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function(input) {\n return input.files.length;\n });\n }\n createClass(DirectUploadsController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var controllers = this.createDirectUploadControllers();\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n if (controller) {\n controller.start(function(error) {\n if (error) {\n callback(error);\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n _this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function(input) {\n toArray$1(input.files).forEach(function(file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n } ]);\n return DirectUploadsController;\n }();\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n var target = event.target;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function(error) {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n var _button = button, disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});\n","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) && (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) && value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = (e.button != null) && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" && jQuery !== null) && (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);\n","export function definitionsFromContext(context) {\n return context.keys()\n .map(function (key) { return definitionForModuleWithContextAndKey(context, key); })\n .filter(function (value) { return value; });\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier: identifier, controllerConstructor: controllerConstructor };\n }\n}\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n//# sourceMappingURL=index.js.map","/**\n * Fuse.js v6.5.3 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2021 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction isArray(value) {\n return !Array.isArray\n ? getTag(value) === '[object Array]'\n : Array.isArray(value)\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js\nconst INFINITY = 1 / 0;\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value\n }\n let result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result\n}\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value)\n}\n\nfunction isString(value) {\n return typeof value === 'string'\n}\n\nfunction isNumber(value) {\n return typeof value === 'number'\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js\nfunction isBoolean(value) {\n return (\n value === true ||\n value === false ||\n (isObjectLike(value) && getTag(value) == '[object Boolean]')\n )\n}\n\nfunction isObject(value) {\n return typeof value === 'object'\n}\n\n// Checks if `value` is object-like.\nfunction isObjectLike(value) {\n return isObject(value) && value !== null\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null\n}\n\nfunction isBlank(value) {\n return !value.trim().length\n}\n\n// Gets the `toStringTag` of `value`.\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js\nfunction getTag(value) {\n return value == null\n ? value === undefined\n ? '[object Undefined]'\n : '[object Null]'\n : Object.prototype.toString.call(value)\n}\n\nconst EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';\n\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\n\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>\n `Invalid value for key ${key}`;\n\nconst PATTERN_LENGTH_TOO_LARGE = (max) =>\n `Pattern length exceeds max of ${max}.`;\n\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\n\nconst INVALID_KEY_WEIGHT_VALUE = (key) =>\n `Property 'weight' in key '${key}' must be a positive integer`;\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nclass KeyStore {\n constructor(keys) {\n this._keys = [];\n this._keyMap = {};\n\n let totalWeight = 0;\n\n keys.forEach((key) => {\n let obj = createKey(key);\n\n totalWeight += obj.weight;\n\n this._keys.push(obj);\n this._keyMap[obj.id] = obj;\n\n totalWeight += obj.weight;\n });\n\n // Normalize weights so that their sum is equal to 1\n this._keys.forEach((key) => {\n key.weight /= totalWeight;\n });\n }\n get(keyId) {\n return this._keyMap[keyId]\n }\n keys() {\n return this._keys\n }\n toJSON() {\n return JSON.stringify(this._keys)\n }\n}\n\nfunction createKey(key) {\n let path = null;\n let id = null;\n let src = null;\n let weight = 1;\n\n if (isString(key) || isArray(key)) {\n src = key;\n path = createKeyPath(key);\n id = createKeyId(key);\n } else {\n if (!hasOwn.call(key, 'name')) {\n throw new Error(MISSING_KEY_PROPERTY('name'))\n }\n\n const name = key.name;\n src = name;\n\n if (hasOwn.call(key, 'weight')) {\n weight = key.weight;\n\n if (weight <= 0) {\n throw new Error(INVALID_KEY_WEIGHT_VALUE(name))\n }\n }\n\n path = createKeyPath(name);\n id = createKeyId(name);\n }\n\n return { path, id, weight, src }\n}\n\nfunction createKeyPath(key) {\n return isArray(key) ? key : key.split('.')\n}\n\nfunction createKeyId(key) {\n return isArray(key) ? key.join('.') : key\n}\n\nfunction get(obj, path) {\n let list = [];\n let arr = false;\n\n const deepGet = (obj, path, index) => {\n if (!isDefined(obj)) {\n return\n }\n if (!path[index]) {\n // If there's no path left, we've arrived at the object we care about.\n list.push(obj);\n } else {\n let key = path[index];\n\n const value = obj[key];\n\n if (!isDefined(value)) {\n return\n }\n\n // If we're at the last value in the path, and if it's a string/number/bool,\n // add it to the list\n if (\n index === path.length - 1 &&\n (isString(value) || isNumber(value) || isBoolean(value))\n ) {\n list.push(toString(value));\n } else if (isArray(value)) {\n arr = true;\n // Search each item in the array.\n for (let i = 0, len = value.length; i < len; i += 1) {\n deepGet(value[i], path, index + 1);\n }\n } else if (path.length) {\n // An object. Recurse further.\n deepGet(value, path, index + 1);\n }\n }\n };\n\n // Backwards compatibility (since path used to be a string)\n deepGet(obj, isString(path) ? path.split('.') : path, 0);\n\n return arr ? list : list[0]\n}\n\nconst MatchOptions = {\n // Whether the matches should be included in the result set. When `true`, each record in the result\n // set will include the indices of the matched characters.\n // These can consequently be used for highlighting purposes.\n includeMatches: false,\n // When `true`, the matching function will continue to the end of a search pattern even if\n // a perfect match has already been located in the string.\n findAllMatches: false,\n // Minimum number of characters that must be matched before a result is considered a match\n minMatchCharLength: 1\n};\n\nconst BasicOptions = {\n // When `true`, the algorithm continues searching to the end of the input even if a perfect\n // match is found before the end of the same input.\n isCaseSensitive: false,\n // When true, the matching function will continue to the end of a search pattern even if\n includeScore: false,\n // List of properties that will be searched. This also supports nested properties.\n keys: [],\n // Whether to sort the result list, by score\n shouldSort: true,\n // Default sort function: sort by ascending score, ascending index\n sortFn: (a, b) =>\n a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1\n};\n\nconst FuzzyOptions = {\n // Approximately where in the text is the pattern expected to be found?\n location: 0,\n // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match\n // (of both letters and location), a threshold of '1.0' would match anything.\n threshold: 0.6,\n // Determines how close the match must be to the fuzzy location (specified above).\n // An exact letter match which is 'distance' characters away from the fuzzy location\n // would score as a complete mismatch. A distance of '0' requires the match be at\n // the exact location specified, a threshold of '1000' would require a perfect match\n // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.\n distance: 100\n};\n\nconst AdvancedOptions = {\n // When `true`, it enables the use of unix-like search commands\n useExtendedSearch: false,\n // The get function to use when fetching an object's properties.\n // The default will search nested paths *ie foo.bar.baz*\n getFn: get,\n // When `true`, search will ignore `location` and `distance`, so it won't matter\n // where in the string the pattern appears.\n // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score\n ignoreLocation: false,\n // When `true`, the calculation for the relevance score (used for sorting) will\n // ignore the field-length norm.\n // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm\n ignoreFieldNorm: false,\n // The weight to determine how much field length norm effects scoring.\n fieldNormWeight: 1\n};\n\nvar Config = {\n ...BasicOptions,\n ...MatchOptions,\n ...FuzzyOptions,\n ...AdvancedOptions\n};\n\nconst SPACE = /[^ ]+/g;\n\n// Field-length norm: the shorter the field, the higher the weight.\n// Set to 3 decimals to reduce index size.\nfunction norm(weight = 1, mantissa = 3) {\n const cache = new Map();\n const m = Math.pow(10, mantissa);\n\n return {\n get(value) {\n const numTokens = value.match(SPACE).length;\n\n if (cache.has(numTokens)) {\n return cache.get(numTokens)\n }\n\n // Default function is 1/sqrt(x), weight makes that variable\n const norm = 1 / Math.pow(numTokens, 0.5 * weight);\n\n // In place of `toFixed(mantissa)`, for faster computation\n const n = parseFloat(Math.round(norm * m) / m);\n\n cache.set(numTokens, n);\n\n return n\n },\n clear() {\n cache.clear();\n }\n }\n}\n\nclass FuseIndex {\n constructor({\n getFn = Config.getFn,\n fieldNormWeight = Config.fieldNormWeight\n } = {}) {\n this.norm = norm(fieldNormWeight, 3);\n this.getFn = getFn;\n this.isCreated = false;\n\n this.setIndexRecords();\n }\n setSources(docs = []) {\n this.docs = docs;\n }\n setIndexRecords(records = []) {\n this.records = records;\n }\n setKeys(keys = []) {\n this.keys = keys;\n this._keysMap = {};\n keys.forEach((key, idx) => {\n this._keysMap[key.id] = idx;\n });\n }\n create() {\n if (this.isCreated || !this.docs.length) {\n return\n }\n\n this.isCreated = true;\n\n // List is Array\n if (isString(this.docs[0])) {\n this.docs.forEach((doc, docIndex) => {\n this._addString(doc, docIndex);\n });\n } else {\n // List is Array\n this.docs.forEach((doc, docIndex) => {\n this._addObject(doc, docIndex);\n });\n }\n\n this.norm.clear();\n }\n // Adds a doc to the end of the index\n add(doc) {\n const idx = this.size();\n\n if (isString(doc)) {\n this._addString(doc, idx);\n } else {\n this._addObject(doc, idx);\n }\n }\n // Removes the doc at the specified index of the index\n removeAt(idx) {\n this.records.splice(idx, 1);\n\n // Change ref index of every subsquent doc\n for (let i = idx, len = this.size(); i < len; i += 1) {\n this.records[i].i -= 1;\n }\n }\n getValueForItemAtKeyId(item, keyId) {\n return item[this._keysMap[keyId]]\n }\n size() {\n return this.records.length\n }\n _addString(doc, docIndex) {\n if (!isDefined(doc) || isBlank(doc)) {\n return\n }\n\n let record = {\n v: doc,\n i: docIndex,\n n: this.norm.get(doc)\n };\n\n this.records.push(record);\n }\n _addObject(doc, docIndex) {\n let record = { i: docIndex, $: {} };\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n this.keys.forEach((key, keyIndex) => {\n // console.log(key)\n let value = this.getFn(doc, key.path);\n\n if (!isDefined(value)) {\n return\n }\n\n if (isArray(value)) {\n let subRecords = [];\n const stack = [{ nestedArrIndex: -1, value }];\n\n while (stack.length) {\n const { nestedArrIndex, value } = stack.pop();\n\n if (!isDefined(value)) {\n continue\n }\n\n if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n i: nestedArrIndex,\n n: this.norm.get(value)\n };\n\n subRecords.push(subRecord);\n } else if (isArray(value)) {\n value.forEach((item, k) => {\n stack.push({\n nestedArrIndex: k,\n value: item\n });\n });\n } else ;\n }\n record.$[keyIndex] = subRecords;\n } else if (!isBlank(value)) {\n let subRecord = {\n v: value,\n n: this.norm.get(value)\n };\n\n record.$[keyIndex] = subRecord;\n }\n });\n\n this.records.push(record);\n }\n toJSON() {\n return {\n keys: this.keys,\n records: this.records\n }\n }\n}\n\nfunction createIndex(\n keys,\n docs,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys.map(createKey));\n myIndex.setSources(docs);\n myIndex.create();\n return myIndex\n}\n\nfunction parseIndex(\n data,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const { keys, records } = data;\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys);\n myIndex.setIndexRecords(records);\n return myIndex\n}\n\nfunction computeScore$1(\n pattern,\n {\n errors = 0,\n currentLocation = 0,\n expectedLocation = 0,\n distance = Config.distance,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n const accuracy = errors / pattern.length;\n\n if (ignoreLocation) {\n return accuracy\n }\n\n const proximity = Math.abs(expectedLocation - currentLocation);\n\n if (!distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy\n }\n\n return accuracy + proximity / distance\n}\n\nfunction convertMaskToIndices(\n matchmask = [],\n minMatchCharLength = Config.minMatchCharLength\n) {\n let indices = [];\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (let len = matchmask.length; i < len; i += 1) {\n let match = matchmask[i];\n if (match && start === -1) {\n start = i;\n } else if (!match && start !== -1) {\n end = i - 1;\n if (end - start + 1 >= minMatchCharLength) {\n indices.push([start, end]);\n }\n start = -1;\n }\n }\n\n // (i-1 - start) + 1 => i - start\n if (matchmask[i - 1] && i - start >= minMatchCharLength) {\n indices.push([start, i - 1]);\n }\n\n return indices\n}\n\n// Machine word size\nconst MAX_BITS = 32;\n\nfunction search(\n text,\n pattern,\n patternAlphabet,\n {\n location = Config.location,\n distance = Config.distance,\n threshold = Config.threshold,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n includeMatches = Config.includeMatches,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n if (pattern.length > MAX_BITS) {\n throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))\n }\n\n const patternLen = pattern.length;\n // Set starting location at beginning text and initialize the alphabet.\n const textLen = text.length;\n // Handle the case when location > text.length\n const expectedLocation = Math.max(0, Math.min(location, textLen));\n // Highest score beyond which we give up.\n let currentThreshold = threshold;\n // Is there a nearby exact match? (speedup)\n let bestLocation = expectedLocation;\n\n // Performance: only computer matches when the minMatchCharLength > 1\n // OR if `includeMatches` is true.\n const computeMatches = minMatchCharLength > 1 || includeMatches;\n // A mask of the matches, used for building the indices\n const matchMask = computeMatches ? Array(textLen) : [];\n\n let index;\n\n // Get all exact matches, here for speed up\n while ((index = text.indexOf(pattern, bestLocation)) > -1) {\n let score = computeScore$1(pattern, {\n currentLocation: index,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n currentThreshold = Math.min(score, currentThreshold);\n bestLocation = index + patternLen;\n\n if (computeMatches) {\n let i = 0;\n while (i < patternLen) {\n matchMask[index + i] = 1;\n i += 1;\n }\n }\n }\n\n // Reset the best location\n bestLocation = -1;\n\n let lastBitArr = [];\n let finalScore = 1;\n let binMax = patternLen + textLen;\n\n const mask = 1 << (patternLen - 1);\n\n for (let i = 0; i < patternLen; i += 1) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from the match location we can stray\n // at this error level.\n let binMin = 0;\n let binMid = binMax;\n\n while (binMin < binMid) {\n const score = computeScore$1(pattern, {\n errors: i,\n currentLocation: expectedLocation + binMid,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score <= currentThreshold) {\n binMin = binMid;\n } else {\n binMax = binMid;\n }\n\n binMid = Math.floor((binMax - binMin) / 2 + binMin);\n }\n\n // Use the result from this iteration as the maximum for the next.\n binMax = binMid;\n\n let start = Math.max(1, expectedLocation - binMid + 1);\n let finish = findAllMatches\n ? textLen\n : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\n // Initialize the bit array\n let bitArr = Array(finish + 2);\n\n bitArr[finish + 1] = (1 << i) - 1;\n\n for (let j = finish; j >= start; j -= 1) {\n let currentLocation = j - 1;\n let charMatch = patternAlphabet[text.charAt(currentLocation)];\n\n if (computeMatches) {\n // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)\n matchMask[currentLocation] = +!!charMatch;\n }\n\n // First pass: exact match\n bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;\n\n // Subsequent passes: fuzzy match\n if (i) {\n bitArr[j] |=\n ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];\n }\n\n if (bitArr[j] & mask) {\n finalScore = computeScore$1(pattern, {\n errors: i,\n currentLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (finalScore <= currentThreshold) {\n // Indeed it is\n currentThreshold = finalScore;\n bestLocation = currentLocation;\n\n // Already passed `loc`, downhill from here on in.\n if (bestLocation <= expectedLocation) {\n break\n }\n\n // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.\n start = Math.max(1, 2 * expectedLocation - bestLocation);\n }\n }\n }\n\n // No hope for a (better) match at greater error levels.\n const score = computeScore$1(pattern, {\n errors: i + 1,\n currentLocation: expectedLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score > currentThreshold) {\n break\n }\n\n lastBitArr = bitArr;\n }\n\n const result = {\n isMatch: bestLocation >= 0,\n // Count exact matches (those with a score of 0) to be \"almost\" exact\n score: Math.max(0.001, finalScore)\n };\n\n if (computeMatches) {\n const indices = convertMaskToIndices(matchMask, minMatchCharLength);\n if (!indices.length) {\n result.isMatch = false;\n } else if (includeMatches) {\n result.indices = indices;\n }\n }\n\n return result\n}\n\nfunction createPatternAlphabet(pattern) {\n let mask = {};\n\n for (let i = 0, len = pattern.length; i < len; i += 1) {\n const char = pattern.charAt(i);\n mask[char] = (mask[char] || 0) | (1 << (len - i - 1));\n }\n\n return mask\n}\n\nclass BitapSearch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n this.options = {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\n this.chunks = [];\n\n if (!this.pattern.length) {\n return\n }\n\n const addChunk = (pattern, startIndex) => {\n this.chunks.push({\n pattern,\n alphabet: createPatternAlphabet(pattern),\n startIndex\n });\n };\n\n const len = this.pattern.length;\n\n if (len > MAX_BITS) {\n let i = 0;\n const remainder = len % MAX_BITS;\n const end = len - remainder;\n\n while (i < end) {\n addChunk(this.pattern.substr(i, MAX_BITS), i);\n i += MAX_BITS;\n }\n\n if (remainder) {\n const startIndex = len - MAX_BITS;\n addChunk(this.pattern.substr(startIndex), startIndex);\n }\n } else {\n addChunk(this.pattern, 0);\n }\n }\n\n searchIn(text) {\n const { isCaseSensitive, includeMatches } = this.options;\n\n if (!isCaseSensitive) {\n text = text.toLowerCase();\n }\n\n // Exact match\n if (this.pattern === text) {\n let result = {\n isMatch: true,\n score: 0\n };\n\n if (includeMatches) {\n result.indices = [[0, text.length - 1]];\n }\n\n return result\n }\n\n // Otherwise, use Bitap algorithm\n const {\n location,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n ignoreLocation\n } = this.options;\n\n let allIndices = [];\n let totalScore = 0;\n let hasMatches = false;\n\n this.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n const { isMatch, score, indices } = search(text, pattern, alphabet, {\n location: location + startIndex,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n includeMatches,\n ignoreLocation\n });\n\n if (isMatch) {\n hasMatches = true;\n }\n\n totalScore += score;\n\n if (isMatch && indices) {\n allIndices = [...allIndices, ...indices];\n }\n });\n\n let result = {\n isMatch: hasMatches,\n score: hasMatches ? totalScore / this.chunks.length : 1\n };\n\n if (hasMatches && includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n}\n\nclass BaseMatch {\n constructor(pattern) {\n this.pattern = pattern;\n }\n static isMultiMatch(pattern) {\n return getMatch(pattern, this.multiRegex)\n }\n static isSingleMatch(pattern) {\n return getMatch(pattern, this.singleRegex)\n }\n search(/*text*/) {}\n}\n\nfunction getMatch(pattern, exp) {\n const matches = pattern.match(exp);\n return matches ? matches[1] : null\n}\n\n// Token: 'file\n\nclass ExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'exact'\n }\n static get multiRegex() {\n return /^=\"(.*)\"$/\n }\n static get singleRegex() {\n return /^=(.*)$/\n }\n search(text) {\n const isMatch = text === this.pattern;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !fire\n\nclass InverseExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!(.*)$/\n }\n search(text) {\n const index = text.indexOf(this.pattern);\n const isMatch = index === -1;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: ^file\n\nclass PrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'prefix-exact'\n }\n static get multiRegex() {\n return /^\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^\\^(.*)$/\n }\n search(text) {\n const isMatch = text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !^fire\n\nclass InversePrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-prefix-exact'\n }\n static get multiRegex() {\n return /^!\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!\\^(.*)$/\n }\n search(text) {\n const isMatch = !text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: .file$\n\nclass SuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'suffix-exact'\n }\n static get multiRegex() {\n return /^\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^(.*)\\$$/\n }\n search(text) {\n const isMatch = text.endsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [text.length - this.pattern.length, text.length - 1]\n }\n }\n}\n\n// Token: !.file$\n\nclass InverseSuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-suffix-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^!(.*)\\$$/\n }\n search(text) {\n const isMatch = !text.endsWith(this.pattern);\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\nclass FuzzyMatch extends BaseMatch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n super(pattern);\n this._bitapSearch = new BitapSearch(pattern, {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n });\n }\n static get type() {\n return 'fuzzy'\n }\n static get multiRegex() {\n return /^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^(.*)$/\n }\n search(text) {\n return this._bitapSearch.searchIn(text)\n }\n}\n\n// Token: 'file\n\nclass IncludeMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'include'\n }\n static get multiRegex() {\n return /^'\"(.*)\"$/\n }\n static get singleRegex() {\n return /^'(.*)$/\n }\n search(text) {\n let location = 0;\n let index;\n\n const indices = [];\n const patternLen = this.pattern.length;\n\n // Get all exact matches\n while ((index = text.indexOf(this.pattern, location)) > -1) {\n location = index + patternLen;\n indices.push([index, location - 1]);\n }\n\n const isMatch = !!indices.length;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices\n }\n }\n}\n\n// ❗Order is important. DO NOT CHANGE.\nconst searchers = [\n ExactMatch,\n IncludeMatch,\n PrefixExactMatch,\n InversePrefixExactMatch,\n InverseSuffixExactMatch,\n SuffixExactMatch,\n InverseExactMatch,\n FuzzyMatch\n];\n\nconst searchersLen = searchers.length;\n\n// Regex to split by spaces, but keep anything in quotes together\nconst SPACE_RE = / +(?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/;\nconst OR_TOKEN = '|';\n\n// Return a 2D array representation of the query, for simpler parsing.\n// Example:\n// \"^core go$ | rb$ | py$ xy$\" => [[\"^core\", \"go$\"], [\"rb$\"], [\"py$\", \"xy$\"]]\nfunction parseQuery(pattern, options = {}) {\n return pattern.split(OR_TOKEN).map((item) => {\n let query = item\n .trim()\n .split(SPACE_RE)\n .filter((item) => item && !!item.trim());\n\n let results = [];\n for (let i = 0, len = query.length; i < len; i += 1) {\n const queryItem = query[i];\n\n // 1. Handle multiple query match (i.e, once that are quoted, like `\"hello world\"`)\n let found = false;\n let idx = -1;\n while (!found && ++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isMultiMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n found = true;\n }\n }\n\n if (found) {\n continue\n }\n\n // 2. Handle single query matches (i.e, once that are *not* quoted)\n idx = -1;\n while (++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isSingleMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n break\n }\n }\n }\n\n return results\n })\n}\n\n// These extended matchers can return an array of matches, as opposed\n// to a singl match\nconst MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);\n\n/**\n * Command-like searching\n * ======================\n *\n * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,\n * search in a given text.\n *\n * Search syntax:\n *\n * | Token | Match type | Description |\n * | ----------- | -------------------------- | -------------------------------------- |\n * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |\n * | `=scheme` | exact-match | Items that are `scheme` |\n * | `'python` | include-match | Items that include `python` |\n * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |\n * | `^java` | prefix-exact-match | Items that start with `java` |\n * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |\n * | `.js$` | suffix-exact-match | Items that end with `.js` |\n * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |\n *\n * A single pipe character acts as an OR operator. For example, the following\n * query matches entries that start with `core` and end with either`go`, `rb`,\n * or`py`.\n *\n * ```\n * ^core go$ | rb$ | py$\n * ```\n */\nclass ExtendedSearch {\n constructor(\n pattern,\n {\n isCaseSensitive = Config.isCaseSensitive,\n includeMatches = Config.includeMatches,\n minMatchCharLength = Config.minMatchCharLength,\n ignoreLocation = Config.ignoreLocation,\n findAllMatches = Config.findAllMatches,\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance\n } = {}\n ) {\n this.query = null;\n this.options = {\n isCaseSensitive,\n includeMatches,\n minMatchCharLength,\n findAllMatches,\n ignoreLocation,\n location,\n threshold,\n distance\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n this.query = parseQuery(this.pattern, this.options);\n }\n\n static condition(_, options) {\n return options.useExtendedSearch\n }\n\n searchIn(text) {\n const query = this.query;\n\n if (!query) {\n return {\n isMatch: false,\n score: 1\n }\n }\n\n const { includeMatches, isCaseSensitive } = this.options;\n\n text = isCaseSensitive ? text : text.toLowerCase();\n\n let numMatches = 0;\n let allIndices = [];\n let totalScore = 0;\n\n // ORs\n for (let i = 0, qLen = query.length; i < qLen; i += 1) {\n const searchers = query[i];\n\n // Reset indices\n allIndices.length = 0;\n numMatches = 0;\n\n // ANDs\n for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n const searcher = searchers[j];\n const { isMatch, indices, score } = searcher.search(text);\n\n if (isMatch) {\n numMatches += 1;\n totalScore += score;\n if (includeMatches) {\n const type = searcher.constructor.type;\n if (MultiMatchSet.has(type)) {\n allIndices = [...allIndices, ...indices];\n } else {\n allIndices.push(indices);\n }\n }\n } else {\n totalScore = 0;\n numMatches = 0;\n allIndices.length = 0;\n break\n }\n }\n\n // OR condition, so if TRUE, return\n if (numMatches) {\n let result = {\n isMatch: true,\n score: totalScore / numMatches\n };\n\n if (includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n }\n\n // Nothing was matched\n return {\n isMatch: false,\n score: 1\n }\n }\n}\n\nconst registeredSearchers = [];\n\nfunction register(...args) {\n registeredSearchers.push(...args);\n}\n\nfunction createSearcher(pattern, options) {\n for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n let searcherClass = registeredSearchers[i];\n if (searcherClass.condition(pattern, options)) {\n return new searcherClass(pattern, options)\n }\n }\n\n return new BitapSearch(pattern, options)\n}\n\nconst LogicalOperator = {\n AND: '$and',\n OR: '$or'\n};\n\nconst KeyType = {\n PATH: '$path',\n PATTERN: '$val'\n};\n\nconst isExpression = (query) =>\n !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\n\nconst isPath = (query) => !!query[KeyType.PATH];\n\nconst isLeaf = (query) =>\n !isArray(query) && isObject(query) && !isExpression(query);\n\nconst convertToExplicit = (query) => ({\n [LogicalOperator.AND]: Object.keys(query).map((key) => ({\n [key]: query[key]\n }))\n});\n\n// When `auto` is `true`, the parse function will infer and initialize and add\n// the appropriate `Searcher` instance\nfunction parse(query, options, { auto = true } = {}) {\n const next = (query) => {\n let keys = Object.keys(query);\n\n const isQueryPath = isPath(query);\n\n if (!isQueryPath && keys.length > 1 && !isExpression(query)) {\n return next(convertToExplicit(query))\n }\n\n if (isLeaf(query)) {\n const key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\n const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\n if (!isString(pattern)) {\n throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))\n }\n\n const obj = {\n keyId: createKeyId(key),\n pattern\n };\n\n if (auto) {\n obj.searcher = createSearcher(pattern, options);\n }\n\n return obj\n }\n\n let node = {\n children: [],\n operator: keys[0]\n };\n\n keys.forEach((key) => {\n const value = query[key];\n\n if (isArray(value)) {\n value.forEach((item) => {\n node.children.push(next(item));\n });\n }\n });\n\n return node\n };\n\n if (!isExpression(query)) {\n query = convertToExplicit(query);\n }\n\n return next(query)\n}\n\n// Practical scoring function\nfunction computeScore(\n results,\n { ignoreFieldNorm = Config.ignoreFieldNorm }\n) {\n results.forEach((result) => {\n let totalScore = 1;\n\n result.matches.forEach(({ key, norm, score }) => {\n const weight = key ? key.weight : null;\n\n totalScore *= Math.pow(\n score === 0 && weight ? Number.EPSILON : score,\n (weight || 1) * (ignoreFieldNorm ? 1 : norm)\n );\n });\n\n result.score = totalScore;\n });\n}\n\nfunction transformMatches(result, data) {\n const matches = result.matches;\n data.matches = [];\n\n if (!isDefined(matches)) {\n return\n }\n\n matches.forEach((match) => {\n if (!isDefined(match.indices) || !match.indices.length) {\n return\n }\n\n const { indices, value } = match;\n\n let obj = {\n indices,\n value\n };\n\n if (match.key) {\n obj.key = match.key.src;\n }\n\n if (match.idx > -1) {\n obj.refIndex = match.idx;\n }\n\n data.matches.push(obj);\n });\n}\n\nfunction transformScore(result, data) {\n data.score = result.score;\n}\n\nfunction format(\n results,\n docs,\n {\n includeMatches = Config.includeMatches,\n includeScore = Config.includeScore\n } = {}\n) {\n const transformers = [];\n\n if (includeMatches) transformers.push(transformMatches);\n if (includeScore) transformers.push(transformScore);\n\n return results.map((result) => {\n const { idx } = result;\n\n const data = {\n item: docs[idx],\n refIndex: idx\n };\n\n if (transformers.length) {\n transformers.forEach((transformer) => {\n transformer(result, data);\n });\n }\n\n return data\n })\n}\n\nclass Fuse {\n constructor(docs, options = {}, index) {\n this.options = { ...Config, ...options };\n\n if (\n this.options.useExtendedSearch &&\n !true\n ) {\n throw new Error(EXTENDED_SEARCH_UNAVAILABLE)\n }\n\n this._keyStore = new KeyStore(this.options.keys);\n\n this.setCollection(docs, index);\n }\n\n setCollection(docs, index) {\n this._docs = docs;\n\n if (index && !(index instanceof FuseIndex)) {\n throw new Error(INCORRECT_INDEX_TYPE)\n }\n\n this._myIndex =\n index ||\n createIndex(this.options.keys, this._docs, {\n getFn: this.options.getFn,\n fieldNormWeight: this.options.fieldNormWeight\n });\n }\n\n add(doc) {\n if (!isDefined(doc)) {\n return\n }\n\n this._docs.push(doc);\n this._myIndex.add(doc);\n }\n\n remove(predicate = (/* doc, idx */) => false) {\n const results = [];\n\n for (let i = 0, len = this._docs.length; i < len; i += 1) {\n const doc = this._docs[i];\n if (predicate(doc, i)) {\n this.removeAt(i);\n i -= 1;\n len -= 1;\n\n results.push(doc);\n }\n }\n\n return results\n }\n\n removeAt(idx) {\n this._docs.splice(idx, 1);\n this._myIndex.removeAt(idx);\n }\n\n getIndex() {\n return this._myIndex\n }\n\n search(query, { limit = -1 } = {}) {\n const {\n includeMatches,\n includeScore,\n shouldSort,\n sortFn,\n ignoreFieldNorm\n } = this.options;\n\n let results = isString(query)\n ? isString(this._docs[0])\n ? this._searchStringList(query)\n : this._searchObjectList(query)\n : this._searchLogical(query);\n\n computeScore(results, { ignoreFieldNorm });\n\n if (shouldSort) {\n results.sort(sortFn);\n }\n\n if (isNumber(limit) && limit > -1) {\n results = results.slice(0, limit);\n }\n\n return format(results, this._docs, {\n includeMatches,\n includeScore\n })\n }\n\n _searchStringList(query) {\n const searcher = createSearcher(query, this.options);\n const { records } = this._myIndex;\n const results = [];\n\n // Iterate over every string in the index\n records.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n results.push({\n item: text,\n idx,\n matches: [{ score, value: text, norm, indices }]\n });\n }\n });\n\n return results\n }\n\n _searchLogical(query) {\n\n const expression = parse(query, this.options);\n\n const evaluate = (node, item, idx) => {\n if (!node.children) {\n const { keyId, searcher } = node;\n\n const matches = this._findMatches({\n key: this._keyStore.get(keyId),\n value: this._myIndex.getValueForItemAtKeyId(item, keyId),\n searcher\n });\n\n if (matches && matches.length) {\n return [\n {\n idx,\n item,\n matches\n }\n ]\n }\n\n return []\n }\n\n const res = [];\n for (let i = 0, len = node.children.length; i < len; i += 1) {\n const child = node.children[i];\n const result = evaluate(child, item, idx);\n if (result.length) {\n res.push(...result);\n } else if (node.operator === LogicalOperator.AND) {\n return []\n }\n }\n return res\n };\n\n const records = this._myIndex.records;\n const resultMap = {};\n const results = [];\n\n records.forEach(({ $: item, i: idx }) => {\n if (isDefined(item)) {\n let expResults = evaluate(expression, item, idx);\n\n if (expResults.length) {\n // Dedupe when adding\n if (!resultMap[idx]) {\n resultMap[idx] = { idx, item, matches: [] };\n results.push(resultMap[idx]);\n }\n expResults.forEach(({ matches }) => {\n resultMap[idx].matches.push(...matches);\n });\n }\n }\n });\n\n return results\n }\n\n _searchObjectList(query) {\n const searcher = createSearcher(query, this.options);\n const { keys, records } = this._myIndex;\n const results = [];\n\n // List is Array\n records.forEach(({ $: item, i: idx }) => {\n if (!isDefined(item)) {\n return\n }\n\n let matches = [];\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n keys.forEach((key, keyIndex) => {\n matches.push(\n ...this._findMatches({\n key,\n value: item[keyIndex],\n searcher\n })\n );\n });\n\n if (matches.length) {\n results.push({\n idx,\n item,\n matches\n });\n }\n });\n\n return results\n }\n _findMatches({ key, value, searcher }) {\n if (!isDefined(value)) {\n return []\n }\n\n let matches = [];\n\n if (isArray(value)) {\n value.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({\n score,\n key,\n value: text,\n idx,\n norm,\n indices\n });\n }\n });\n } else {\n const { v: text, n: norm } = value;\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({ score, key, value: text, norm, indices });\n }\n }\n\n return matches\n }\n}\n\nFuse.version = '6.5.3';\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\n\n{\n Fuse.parseQuery = parse;\n}\n\n{\n register(ExtendedSearch);\n}\n\nexport { Fuse as default };\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: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.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 (Lybia) [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: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.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: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.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: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.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: '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: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.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: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.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: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.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: 'ཟླ་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: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.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 = /^(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 = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(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: '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: '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: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\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 = /^(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: /^(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: /^(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: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.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: '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: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.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 = '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 = /^(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: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(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 = '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 = /^(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: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(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 = '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 = /^(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: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(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 = '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 = /^(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: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(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: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(\n '_'\n ),\n weekdays: '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: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort: 'یک\\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 = '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: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays: '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: '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: '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: '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 = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(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: '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 = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(\n '_'\n );\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: '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: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.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: '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: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\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: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.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: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.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 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: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/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: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.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: '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: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/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: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort: '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 = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(\n ' '\n );\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: '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: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.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: 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: '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: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.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(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\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: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.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: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.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: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.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 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: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: '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: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.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: '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: '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: '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: 'jan._feb._mar._apr._maj_jun_jul_avg._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: '[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: '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: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.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 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: '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: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.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: '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: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\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: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.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 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\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 = /^(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: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(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: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\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 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\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 = /^(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: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(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: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\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: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\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: '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: '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: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.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 = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective = '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: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(\n '_'\n ),\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: '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: '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: '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: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.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: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/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: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n '_'\n ),\n weekdays: '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: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.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 = '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: '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 dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\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 srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\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: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\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', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\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 sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\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: 'dan',\n dd: translator.translate,\n M: 'mesec',\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 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: '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: '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: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.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: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.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 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: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.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: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.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: '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: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\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: '[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_Pts_Sal_Çar_Per_Cum_Cts'.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: '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: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.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: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.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: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.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: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.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: '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: '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: '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: '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.1\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 for (i = 0; i < arr.length; ++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, prop, val;\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 (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; 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 for (i = 0; i < arguments.length; 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 = /(\\[[^\\[]*\\])|(\\\\)?([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 for (i = 0; i < prioritized.length; 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 = /[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(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\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 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 for (i = 0; i < token.length; 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 = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\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(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\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 = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\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 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 ) {\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 = /^\\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 = /^\\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 = /^(?:(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\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; 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 = isoTimes.length; 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\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; 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\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; 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 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 < ordering.length; ++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 = /^(-|\\+)?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\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 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', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\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 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(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\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.1';\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","/**!\n * Sortable 1.13.0\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.13.0\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n } // Safari ignores further event handling after mousedown\n\n\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","var EventListener = /** @class */ (function () {\n function EventListener(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n EventListener.prototype.connect = function () {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n };\n EventListener.prototype.disconnect = function () {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n };\n // Binding observer delegate\n /** @hidden */\n EventListener.prototype.bindingConnected = function (binding) {\n this.unorderedBindings.add(binding);\n };\n /** @hidden */\n EventListener.prototype.bindingDisconnected = function (binding) {\n this.unorderedBindings.delete(binding);\n };\n EventListener.prototype.handleEvent = function (event) {\n var extendedEvent = extendEvent(event);\n for (var _i = 0, _a = this.bindings; _i < _a.length; _i++) {\n var binding = _a[_i];\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n };\n Object.defineProperty(EventListener.prototype, \"bindings\", {\n get: function () {\n return Array.from(this.unorderedBindings).sort(function (left, right) {\n var leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n },\n enumerable: false,\n configurable: true\n });\n return EventListener;\n}());\nexport { EventListener };\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n var stopImmediatePropagation_1 = event.stopImmediatePropagation;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation: function () {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation_1.call(this);\n }\n });\n }\n}\n//# sourceMappingURL=event_listener.js.map","import { EventListener } from \"./event_listener\";\nvar Dispatcher = /** @class */ (function () {\n function Dispatcher(application) {\n this.application = application;\n this.eventListenerMaps = new Map;\n this.started = false;\n }\n Dispatcher.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(function (eventListener) { return eventListener.connect(); });\n }\n };\n Dispatcher.prototype.stop = function () {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(function (eventListener) { return eventListener.disconnect(); });\n }\n };\n Object.defineProperty(Dispatcher.prototype, \"eventListeners\", {\n get: function () {\n return Array.from(this.eventListenerMaps.values())\n .reduce(function (listeners, map) { return listeners.concat(Array.from(map.values())); }, []);\n },\n enumerable: false,\n configurable: true\n });\n // Binding observer delegate\n /** @hidden */\n Dispatcher.prototype.bindingConnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n };\n /** @hidden */\n Dispatcher.prototype.bindingDisconnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n };\n // Error handling\n Dispatcher.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) { detail = {}; }\n this.application.handleError(error, \"Error \" + message, detail);\n };\n Dispatcher.prototype.fetchEventListenerForBinding = function (binding) {\n var eventTarget = binding.eventTarget, eventName = binding.eventName, eventOptions = binding.eventOptions;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n };\n Dispatcher.prototype.fetchEventListener = function (eventTarget, eventName, eventOptions) {\n var eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n var cacheKey = this.cacheKey(eventName, eventOptions);\n var eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n };\n Dispatcher.prototype.createEventListener = function (eventTarget, eventName, eventOptions) {\n var eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n };\n Dispatcher.prototype.fetchEventListenerMapForEventTarget = function (eventTarget) {\n var eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map;\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n };\n Dispatcher.prototype.cacheKey = function (eventName, eventOptions) {\n var parts = [eventName];\n Object.keys(eventOptions).sort().forEach(function (key) {\n parts.push(\"\" + (eventOptions[key] ? \"\" : \"!\") + key);\n });\n return parts.join(\":\");\n };\n return Dispatcher;\n}());\nexport { Dispatcher };\n//# sourceMappingURL=dispatcher.js.map","// capture nos.: 12 23 4 43 1 5 56 7 768 9 98\nvar descriptorPattern = /^((.+?)(@(window|document))?->)?(.+?)(#([^:]+?))(:(.+))?$/;\nexport function parseActionDescriptorString(descriptorString) {\n var source = descriptorString.trim();\n var matches = source.match(descriptorPattern) || [];\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName: matches[2],\n eventOptions: matches[9] ? parseEventOptions(matches[9]) : {},\n identifier: matches[5],\n methodName: matches[7]\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions.split(\":\").reduce(function (options, token) {\n var _a;\n return Object.assign(options, (_a = {}, _a[token.replace(/^!/, \"\")] = !/^!/.test(token), _a));\n }, {});\n}\nexport function stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n//# sourceMappingURL=action_descriptor.js.map","import { parseActionDescriptorString, stringifyEventTarget } from \"./action_descriptor\";\nvar Action = /** @class */ (function () {\n function Action(element, index, descriptor) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n }\n Action.forToken = function (token) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content));\n };\n Action.prototype.toString = function () {\n var eventNameSuffix = this.eventTargetName ? \"@\" + this.eventTargetName : \"\";\n return \"\" + this.eventName + eventNameSuffix + \"->\" + this.identifier + \"#\" + this.methodName;\n };\n Object.defineProperty(Action.prototype, \"eventTargetName\", {\n get: function () {\n return stringifyEventTarget(this.eventTarget);\n },\n enumerable: false,\n configurable: true\n });\n return Action;\n}());\nexport { Action };\nvar defaultEventNames = {\n \"a\": function (e) { return \"click\"; },\n \"button\": function (e) { return \"click\"; },\n \"form\": function (e) { return \"submit\"; },\n \"input\": function (e) { return e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"; },\n \"select\": function (e) { return \"change\"; },\n \"textarea\": function (e) { return \"input\"; }\n};\nexport function getDefaultEventNameForElement(element) {\n var tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\n//# sourceMappingURL=action.js.map","var Binding = /** @class */ (function () {\n function Binding(context, action) {\n this.context = context;\n this.action = action;\n }\n Object.defineProperty(Binding.prototype, \"index\", {\n get: function () {\n return this.action.index;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventTarget\", {\n get: function () {\n return this.action.eventTarget;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventOptions\", {\n get: function () {\n return this.action.eventOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Binding.prototype.handleEvent = function (event) {\n if (this.willBeInvokedByEvent(event)) {\n this.invokeWithEvent(event);\n }\n };\n Object.defineProperty(Binding.prototype, \"eventName\", {\n get: function () {\n return this.action.eventName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"method\", {\n get: function () {\n var method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(\"Action \\\"\" + this.action + \"\\\" references undefined method \\\"\" + this.methodName + \"\\\"\");\n },\n enumerable: false,\n configurable: true\n });\n Binding.prototype.invokeWithEvent = function (event) {\n try {\n this.method.call(this.controller, event);\n }\n catch (error) {\n var _a = this, identifier = _a.identifier, controller = _a.controller, element = _a.element, index = _a.index;\n var detail = { identifier: identifier, controller: controller, element: element, index: index, event: event };\n this.context.handleError(error, \"invoking action \\\"\" + this.action + \"\\\"\", detail);\n }\n };\n Binding.prototype.willBeInvokedByEvent = function (event) {\n var eventTarget = event.target;\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n };\n Object.defineProperty(Binding.prototype, \"controller\", {\n get: function () {\n return this.context.controller;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"methodName\", {\n get: function () {\n return this.action.methodName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: false,\n configurable: true\n });\n return Binding;\n}());\nexport { Binding };\n//# sourceMappingURL=binding.js.map","var ElementObserver = /** @class */ (function () {\n function ElementObserver(element, delegate) {\n var _this = this;\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set;\n this.mutationObserver = new MutationObserver(function (mutations) { return _this.processMutations(mutations); });\n }\n ElementObserver.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, childList: true, subtree: true });\n this.refresh();\n }\n };\n ElementObserver.prototype.stop = function () {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n };\n ElementObserver.prototype.refresh = function () {\n if (this.started) {\n var matches = new Set(this.matchElementsInTree());\n for (var _i = 0, _a = Array.from(this.elements); _i < _a.length; _i++) {\n var element = _a[_i];\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (var _b = 0, _c = Array.from(matches); _b < _c.length; _b++) {\n var element = _c[_b];\n this.addElement(element);\n }\n }\n };\n // Mutation record processing\n ElementObserver.prototype.processMutations = function (mutations) {\n if (this.started) {\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n this.processMutation(mutation);\n }\n }\n };\n ElementObserver.prototype.processMutation = function (mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n };\n ElementObserver.prototype.processAttributeChange = function (node, attributeName) {\n var element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n };\n ElementObserver.prototype.processRemovedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n };\n ElementObserver.prototype.processAddedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n };\n // Element matching\n ElementObserver.prototype.matchElement = function (element) {\n return this.delegate.matchElement(element);\n };\n ElementObserver.prototype.matchElementsInTree = function (tree) {\n if (tree === void 0) { tree = this.element; }\n return this.delegate.matchElementsInTree(tree);\n };\n ElementObserver.prototype.processTree = function (tree, processor) {\n for (var _i = 0, _a = this.matchElementsInTree(tree); _i < _a.length; _i++) {\n var element = _a[_i];\n processor.call(this, element);\n }\n };\n ElementObserver.prototype.elementFromNode = function (node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n };\n ElementObserver.prototype.elementIsActive = function (element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n };\n // Element tracking\n ElementObserver.prototype.addElement = function (element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n };\n ElementObserver.prototype.removeElement = function (element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n };\n return ElementObserver;\n}());\nexport { ElementObserver };\n//# sourceMappingURL=element_observer.js.map","import { ElementObserver } from \"./element_observer\";\nvar AttributeObserver = /** @class */ (function () {\n function AttributeObserver(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n Object.defineProperty(AttributeObserver.prototype, \"element\", {\n get: function () {\n return this.elementObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AttributeObserver.prototype, \"selector\", {\n get: function () {\n return \"[\" + this.attributeName + \"]\";\n },\n enumerable: false,\n configurable: true\n });\n AttributeObserver.prototype.start = function () {\n this.elementObserver.start();\n };\n AttributeObserver.prototype.stop = function () {\n this.elementObserver.stop();\n };\n AttributeObserver.prototype.refresh = function () {\n this.elementObserver.refresh();\n };\n Object.defineProperty(AttributeObserver.prototype, \"started\", {\n get: function () {\n return this.elementObserver.started;\n },\n enumerable: false,\n configurable: true\n });\n // Element observer delegate\n AttributeObserver.prototype.matchElement = function (element) {\n return element.hasAttribute(this.attributeName);\n };\n AttributeObserver.prototype.matchElementsInTree = function (tree) {\n var match = this.matchElement(tree) ? [tree] : [];\n var matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n };\n AttributeObserver.prototype.elementMatched = function (element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n };\n AttributeObserver.prototype.elementUnmatched = function (element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n };\n AttributeObserver.prototype.elementAttributeChanged = function (element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n };\n return AttributeObserver;\n}());\nexport { AttributeObserver };\n//# sourceMappingURL=attribute_observer.js.map","var StringMapObserver = /** @class */ (function () {\n function StringMapObserver(element, delegate) {\n var _this = this;\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map;\n this.mutationObserver = new MutationObserver(function (mutations) { return _this.processMutations(mutations); });\n }\n StringMapObserver.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true });\n this.refresh();\n }\n };\n StringMapObserver.prototype.stop = function () {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n };\n StringMapObserver.prototype.refresh = function () {\n if (this.started) {\n for (var _i = 0, _a = this.knownAttributeNames; _i < _a.length; _i++) {\n var attributeName = _a[_i];\n this.refreshAttribute(attributeName);\n }\n }\n };\n // Mutation record processing\n StringMapObserver.prototype.processMutations = function (mutations) {\n if (this.started) {\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n this.processMutation(mutation);\n }\n }\n };\n StringMapObserver.prototype.processMutation = function (mutation) {\n var attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName);\n }\n };\n // State tracking\n StringMapObserver.prototype.refreshAttribute = function (attributeName) {\n var key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n var value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key);\n }\n if (value == null) {\n this.stringMap.delete(attributeName);\n this.stringMapKeyRemoved(key, attributeName);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n };\n StringMapObserver.prototype.stringMapKeyAdded = function (key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n };\n StringMapObserver.prototype.stringMapValueChanged = function (value, key) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key);\n }\n };\n StringMapObserver.prototype.stringMapKeyRemoved = function (key, attributeName) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName);\n }\n };\n Object.defineProperty(StringMapObserver.prototype, \"knownAttributeNames\", {\n get: function () {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StringMapObserver.prototype, \"currentAttributeNames\", {\n get: function () {\n return Array.from(this.element.attributes).map(function (attribute) { return attribute.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StringMapObserver.prototype, \"recordedAttributeNames\", {\n get: function () {\n return Array.from(this.stringMap.keys());\n },\n enumerable: false,\n configurable: true\n });\n return StringMapObserver;\n}());\nexport { StringMapObserver };\n//# sourceMappingURL=string_map_observer.js.map","export function add(map, key, value) {\n fetch(map, key).add(value);\n}\nexport function del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nexport function fetch(map, key) {\n var values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nexport function prune(map, key) {\n var values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n//# sourceMappingURL=set_operations.js.map","import { add, del } from \"./set_operations\";\nvar Multimap = /** @class */ (function () {\n function Multimap() {\n this.valuesByKey = new Map();\n }\n Object.defineProperty(Multimap.prototype, \"values\", {\n get: function () {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (values, set) { return values.concat(Array.from(set)); }, []);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Multimap.prototype, \"size\", {\n get: function () {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (size, set) { return size + set.size; }, 0);\n },\n enumerable: false,\n configurable: true\n });\n Multimap.prototype.add = function (key, value) {\n add(this.valuesByKey, key, value);\n };\n Multimap.prototype.delete = function (key, value) {\n del(this.valuesByKey, key, value);\n };\n Multimap.prototype.has = function (key, value) {\n var values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n };\n Multimap.prototype.hasKey = function (key) {\n return this.valuesByKey.has(key);\n };\n Multimap.prototype.hasValue = function (value) {\n var sets = Array.from(this.valuesByKey.values());\n return sets.some(function (set) { return set.has(value); });\n };\n Multimap.prototype.getValuesForKey = function (key) {\n var values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n };\n Multimap.prototype.getKeysForValue = function (value) {\n return Array.from(this.valuesByKey)\n .filter(function (_a) {\n var key = _a[0], values = _a[1];\n return values.has(value);\n })\n .map(function (_a) {\n var key = _a[0], values = _a[1];\n return key;\n });\n };\n return Multimap;\n}());\nexport { Multimap };\n//# sourceMappingURL=multimap.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Multimap } from \"./multimap\";\nimport { add, del } from \"./set_operations\";\nvar IndexedMultimap = /** @class */ (function (_super) {\n __extends(IndexedMultimap, _super);\n function IndexedMultimap() {\n var _this = _super.call(this) || this;\n _this.keysByValue = new Map;\n return _this;\n }\n Object.defineProperty(IndexedMultimap.prototype, \"values\", {\n get: function () {\n return Array.from(this.keysByValue.keys());\n },\n enumerable: false,\n configurable: true\n });\n IndexedMultimap.prototype.add = function (key, value) {\n _super.prototype.add.call(this, key, value);\n add(this.keysByValue, value, key);\n };\n IndexedMultimap.prototype.delete = function (key, value) {\n _super.prototype.delete.call(this, key, value);\n del(this.keysByValue, value, key);\n };\n IndexedMultimap.prototype.hasValue = function (value) {\n return this.keysByValue.has(value);\n };\n IndexedMultimap.prototype.getKeysForValue = function (value) {\n var set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n };\n return IndexedMultimap;\n}(Multimap));\nexport { IndexedMultimap };\n//# sourceMappingURL=indexed_multimap.js.map","import { AttributeObserver } from \"./attribute_observer\";\nimport { Multimap } from \"@stimulus/multimap\";\nvar TokenListObserver = /** @class */ (function () {\n function TokenListObserver(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap;\n }\n Object.defineProperty(TokenListObserver.prototype, \"started\", {\n get: function () {\n return this.attributeObserver.started;\n },\n enumerable: false,\n configurable: true\n });\n TokenListObserver.prototype.start = function () {\n this.attributeObserver.start();\n };\n TokenListObserver.prototype.stop = function () {\n this.attributeObserver.stop();\n };\n TokenListObserver.prototype.refresh = function () {\n this.attributeObserver.refresh();\n };\n Object.defineProperty(TokenListObserver.prototype, \"element\", {\n get: function () {\n return this.attributeObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TokenListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.attributeObserver.attributeName;\n },\n enumerable: false,\n configurable: true\n });\n // Attribute observer delegate\n TokenListObserver.prototype.elementMatchedAttribute = function (element) {\n this.tokensMatched(this.readTokensForElement(element));\n };\n TokenListObserver.prototype.elementAttributeValueChanged = function (element) {\n var _a = this.refreshTokensForElement(element), unmatchedTokens = _a[0], matchedTokens = _a[1];\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n };\n TokenListObserver.prototype.elementUnmatchedAttribute = function (element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n };\n TokenListObserver.prototype.tokensMatched = function (tokens) {\n var _this = this;\n tokens.forEach(function (token) { return _this.tokenMatched(token); });\n };\n TokenListObserver.prototype.tokensUnmatched = function (tokens) {\n var _this = this;\n tokens.forEach(function (token) { return _this.tokenUnmatched(token); });\n };\n TokenListObserver.prototype.tokenMatched = function (token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n };\n TokenListObserver.prototype.tokenUnmatched = function (token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n };\n TokenListObserver.prototype.refreshTokensForElement = function (element) {\n var previousTokens = this.tokensByElement.getValuesForKey(element);\n var currentTokens = this.readTokensForElement(element);\n var firstDifferingIndex = zip(previousTokens, currentTokens)\n .findIndex(function (_a) {\n var previousToken = _a[0], currentToken = _a[1];\n return !tokensAreEqual(previousToken, currentToken);\n });\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n };\n TokenListObserver.prototype.readTokensForElement = function (element) {\n var attributeName = this.attributeName;\n var tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n };\n return TokenListObserver;\n}());\nexport { TokenListObserver };\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString.trim().split(/\\s+/).filter(function (content) { return content.length; })\n .map(function (content, index) { return ({ element: element, attributeName: attributeName, content: content, index: index }); });\n}\nfunction zip(left, right) {\n var length = Math.max(left.length, right.length);\n return Array.from({ length: length }, function (_, index) { return [left[index], right[index]]; });\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n//# sourceMappingURL=token_list_observer.js.map","import { TokenListObserver } from \"./token_list_observer\";\nvar ValueListObserver = /** @class */ (function () {\n function ValueListObserver(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap;\n this.valuesByTokenByElement = new WeakMap;\n }\n Object.defineProperty(ValueListObserver.prototype, \"started\", {\n get: function () {\n return this.tokenListObserver.started;\n },\n enumerable: false,\n configurable: true\n });\n ValueListObserver.prototype.start = function () {\n this.tokenListObserver.start();\n };\n ValueListObserver.prototype.stop = function () {\n this.tokenListObserver.stop();\n };\n ValueListObserver.prototype.refresh = function () {\n this.tokenListObserver.refresh();\n };\n Object.defineProperty(ValueListObserver.prototype, \"element\", {\n get: function () {\n return this.tokenListObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ValueListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.tokenListObserver.attributeName;\n },\n enumerable: false,\n configurable: true\n });\n ValueListObserver.prototype.tokenMatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n };\n ValueListObserver.prototype.tokenUnmatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n };\n ValueListObserver.prototype.fetchParseResultForToken = function (token) {\n var parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n };\n ValueListObserver.prototype.fetchValuesByTokenForElement = function (element) {\n var valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map;\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n };\n ValueListObserver.prototype.parseToken = function (token) {\n try {\n var value = this.delegate.parseValueForToken(token);\n return { value: value };\n }\n catch (error) {\n return { error: error };\n }\n };\n return ValueListObserver;\n}());\nexport { ValueListObserver };\n//# sourceMappingURL=value_list_observer.js.map","import { Action } from \"./action\";\nimport { Binding } from \"./binding\";\nimport { ValueListObserver } from \"@stimulus/mutation-observers\";\nvar BindingObserver = /** @class */ (function () {\n function BindingObserver(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map;\n }\n BindingObserver.prototype.start = function () {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n };\n BindingObserver.prototype.stop = function () {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n };\n Object.defineProperty(BindingObserver.prototype, \"element\", {\n get: function () {\n return this.context.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"actionAttribute\", {\n get: function () {\n return this.schema.actionAttribute;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"schema\", {\n get: function () {\n return this.context.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"bindings\", {\n get: function () {\n return Array.from(this.bindingsByAction.values());\n },\n enumerable: false,\n configurable: true\n });\n BindingObserver.prototype.connectAction = function (action) {\n var binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n };\n BindingObserver.prototype.disconnectAction = function (action) {\n var binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n };\n BindingObserver.prototype.disconnectAllActions = function () {\n var _this = this;\n this.bindings.forEach(function (binding) { return _this.delegate.bindingDisconnected(binding); });\n this.bindingsByAction.clear();\n };\n // Value observer delegate\n BindingObserver.prototype.parseValueForToken = function (token) {\n var action = Action.forToken(token);\n if (action.identifier == this.identifier) {\n return action;\n }\n };\n BindingObserver.prototype.elementMatchedValue = function (element, action) {\n this.connectAction(action);\n };\n BindingObserver.prototype.elementUnmatchedValue = function (element, action) {\n this.disconnectAction(action);\n };\n return BindingObserver;\n}());\nexport { BindingObserver };\n//# sourceMappingURL=binding_observer.js.map","import { StringMapObserver } from \"@stimulus/mutation-observers\";\nvar ValueObserver = /** @class */ (function () {\n function ValueObserver(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n this.invokeChangedCallbacksForDefaultValues();\n }\n ValueObserver.prototype.start = function () {\n this.stringMapObserver.start();\n };\n ValueObserver.prototype.stop = function () {\n this.stringMapObserver.stop();\n };\n Object.defineProperty(ValueObserver.prototype, \"element\", {\n get: function () {\n return this.context.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ValueObserver.prototype, \"controller\", {\n get: function () {\n return this.context.controller;\n },\n enumerable: false,\n configurable: true\n });\n // String map observer delegate\n ValueObserver.prototype.getStringMapKeyForAttribute = function (attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n };\n ValueObserver.prototype.stringMapValueChanged = function (attributeValue, name) {\n this.invokeChangedCallbackForValue(name);\n };\n ValueObserver.prototype.invokeChangedCallbacksForDefaultValues = function () {\n for (var _i = 0, _a = this.valueDescriptors; _i < _a.length; _i++) {\n var _b = _a[_i], key = _b.key, name_1 = _b.name, defaultValue = _b.defaultValue;\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallbackForValue(name_1);\n }\n }\n };\n ValueObserver.prototype.invokeChangedCallbackForValue = function (name) {\n var methodName = name + \"Changed\";\n var method = this.receiver[methodName];\n if (typeof method == \"function\") {\n var value = this.receiver[name];\n method.call(this.receiver, value);\n }\n };\n Object.defineProperty(ValueObserver.prototype, \"valueDescriptors\", {\n get: function () {\n var valueDescriptorMap = this.valueDescriptorMap;\n return Object.keys(valueDescriptorMap).map(function (key) { return valueDescriptorMap[key]; });\n },\n enumerable: false,\n configurable: true\n });\n return ValueObserver;\n}());\nexport { ValueObserver };\n//# sourceMappingURL=value_observer.js.map","import { BindingObserver } from \"./binding_observer\";\nimport { ValueObserver } from \"./value_observer\";\nvar Context = /** @class */ (function () {\n function Context(module, scope) {\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n try {\n this.controller.initialize();\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n Context.prototype.connect = function () {\n this.bindingObserver.start();\n this.valueObserver.start();\n try {\n this.controller.connect();\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n };\n Context.prototype.disconnect = function () {\n try {\n this.controller.disconnect();\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.valueObserver.stop();\n this.bindingObserver.stop();\n };\n Object.defineProperty(Context.prototype, \"application\", {\n get: function () {\n return this.module.application;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"identifier\", {\n get: function () {\n return this.module.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"dispatcher\", {\n get: function () {\n return this.application.dispatcher;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"parentElement\", {\n get: function () {\n return this.element.parentElement;\n },\n enumerable: false,\n configurable: true\n });\n // Error handling\n Context.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) { detail = {}; }\n var _a = this, identifier = _a.identifier, controller = _a.controller, element = _a.element;\n detail = Object.assign({ identifier: identifier, controller: controller, element: element }, detail);\n this.application.handleError(error, \"Error \" + message, detail);\n };\n return Context;\n}());\nexport { Context };\n//# sourceMappingURL=context.js.map","export function readInheritableStaticArrayValues(constructor, propertyName) {\n var ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce(function (values, constructor) {\n getOwnStaticArrayValues(constructor, propertyName).forEach(function (name) { return values.add(name); });\n return values;\n }, new Set));\n}\nexport function readInheritableStaticObjectPairs(constructor, propertyName) {\n var ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce(function (pairs, constructor) {\n pairs.push.apply(pairs, getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n var ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n var definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n var definition = constructor[propertyName];\n return definition ? Object.keys(definition).map(function (key) { return [key, definition[key]]; }) : [];\n}\n//# sourceMappingURL=inheritable_statics.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { readInheritableStaticArrayValues } from \"./inheritable_statics\";\n/** @hidden */\nexport function bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n var shadowConstructor = extend(constructor);\n var shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n var blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce(function (blessedProperties, blessing) {\n var properties = blessing(constructor);\n for (var key in properties) {\n var descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce(function (shadowProperties, key) {\n var _a;\n var descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, (_a = {}, _a[key] = descriptor, _a));\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n var shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n var shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n var descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nvar getOwnKeys = (function () {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return function (object) { return __spreadArrays(Object.getOwnPropertyNames(object), Object.getOwnPropertySymbols(object)); };\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nvar extend = (function () {\n function extendWithReflect(constructor) {\n function extended() {\n var _newTarget = this && this instanceof extended ? this.constructor : void 0;\n return Reflect.construct(constructor, arguments, _newTarget);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended }\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n var a = function () { this.a.call(this); };\n var b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b;\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return function (constructor) { return /** @class */ (function (_super) {\n __extends(extended, _super);\n function extended() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return extended;\n }(constructor)); };\n }\n})();\n//# sourceMappingURL=blessing.js.map","import { Context } from \"./context\";\nimport { blessDefinition } from \"./definition\";\nvar Module = /** @class */ (function () {\n function Module(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap;\n this.connectedContexts = new Set;\n }\n Object.defineProperty(Module.prototype, \"identifier\", {\n get: function () {\n return this.definition.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"controllerConstructor\", {\n get: function () {\n return this.definition.controllerConstructor;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"contexts\", {\n get: function () {\n return Array.from(this.connectedContexts);\n },\n enumerable: false,\n configurable: true\n });\n Module.prototype.connectContextForScope = function (scope) {\n var context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n };\n Module.prototype.disconnectContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n };\n Module.prototype.fetchContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n };\n return Module;\n}());\nexport { Module };\n//# sourceMappingURL=module.js.map","import { bless } from \"./blessing\";\n/** @hidden */\nexport function blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor)\n };\n}\n//# sourceMappingURL=definition.js.map","var ClassMap = /** @class */ (function () {\n function ClassMap(scope) {\n this.scope = scope;\n }\n ClassMap.prototype.has = function (name) {\n return this.data.has(this.getDataKey(name));\n };\n ClassMap.prototype.get = function (name) {\n return this.data.get(this.getDataKey(name));\n };\n ClassMap.prototype.getAttributeName = function (name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n };\n ClassMap.prototype.getDataKey = function (name) {\n return name + \"-class\";\n };\n Object.defineProperty(ClassMap.prototype, \"data\", {\n get: function () {\n return this.scope.data;\n },\n enumerable: false,\n configurable: true\n });\n return ClassMap;\n}());\nexport { ClassMap };\n//# sourceMappingURL=class_map.js.map","export function camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, function (_, char) { return char.toUpperCase(); });\n}\nexport function capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nexport function dasherize(value) {\n return value.replace(/([A-Z])/g, function (_, char) { return \"-\" + char.toLowerCase(); });\n}\n//# sourceMappingURL=string_helpers.js.map","import { dasherize } from \"./string_helpers\";\nvar DataMap = /** @class */ (function () {\n function DataMap(scope) {\n this.scope = scope;\n }\n Object.defineProperty(DataMap.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DataMap.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n DataMap.prototype.get = function (key) {\n var name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n };\n DataMap.prototype.set = function (key, value) {\n var name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n };\n DataMap.prototype.has = function (key) {\n var name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n };\n DataMap.prototype.delete = function (key) {\n if (this.has(key)) {\n var name_1 = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name_1);\n return true;\n }\n else {\n return false;\n }\n };\n DataMap.prototype.getAttributeNameForKey = function (key) {\n return \"data-\" + this.identifier + \"-\" + dasherize(key);\n };\n return DataMap;\n}());\nexport { DataMap };\n//# sourceMappingURL=data_map.js.map","var Guide = /** @class */ (function () {\n function Guide(logger) {\n this.warnedKeysByObject = new WeakMap;\n this.logger = logger;\n }\n Guide.prototype.warn = function (object, key, message) {\n var warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set;\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n };\n return Guide;\n}());\nexport { Guide };\n//# sourceMappingURL=guide.js.map","/** @hidden */\nexport function attributeValueContainsToken(attributeName, token) {\n return \"[\" + attributeName + \"~=\\\"\" + token + \"\\\"]\";\n}\n//# sourceMappingURL=selectors.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { attributeValueContainsToken } from \"./selectors\";\nvar TargetSet = /** @class */ (function () {\n function TargetSet(scope) {\n this.scope = scope;\n }\n Object.defineProperty(TargetSet.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"schema\", {\n get: function () {\n return this.scope.schema;\n },\n enumerable: false,\n configurable: true\n });\n TargetSet.prototype.has = function (targetName) {\n return this.find(targetName) != null;\n };\n TargetSet.prototype.find = function () {\n var _this = this;\n var targetNames = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n return targetNames.reduce(function (target, targetName) {\n return target\n || _this.findTarget(targetName)\n || _this.findLegacyTarget(targetName);\n }, undefined);\n };\n TargetSet.prototype.findAll = function () {\n var _this = this;\n var targetNames = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n return targetNames.reduce(function (targets, targetName) { return __spreadArrays(targets, _this.findAllTargets(targetName), _this.findAllLegacyTargets(targetName)); }, []);\n };\n TargetSet.prototype.findTarget = function (targetName) {\n var selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n };\n TargetSet.prototype.findAllTargets = function (targetName) {\n var selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n };\n TargetSet.prototype.getSelectorForTargetName = function (targetName) {\n var attributeName = \"data-\" + this.identifier + \"-target\";\n return attributeValueContainsToken(attributeName, targetName);\n };\n TargetSet.prototype.findLegacyTarget = function (targetName) {\n var selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n };\n TargetSet.prototype.findAllLegacyTargets = function (targetName) {\n var _this = this;\n var selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map(function (element) { return _this.deprecate(element, targetName); });\n };\n TargetSet.prototype.getLegacySelectorForTargetName = function (targetName) {\n var targetDescriptor = this.identifier + \".\" + targetName;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n };\n TargetSet.prototype.deprecate = function (element, targetName) {\n if (element) {\n var identifier = this.identifier;\n var attributeName = this.schema.targetAttribute;\n this.guide.warn(element, \"target:\" + targetName, \"Please replace \" + attributeName + \"=\\\"\" + identifier + \".\" + targetName + \"\\\" with data-\" + identifier + \"-target=\\\"\" + targetName + \"\\\". \" +\n (\"The \" + attributeName + \" attribute is deprecated and will be removed in a future version of Stimulus.\"));\n }\n return element;\n };\n Object.defineProperty(TargetSet.prototype, \"guide\", {\n get: function () {\n return this.scope.guide;\n },\n enumerable: false,\n configurable: true\n });\n return TargetSet;\n}());\nexport { TargetSet };\n//# sourceMappingURL=target_set.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { ClassMap } from \"./class_map\";\nimport { DataMap } from \"./data_map\";\nimport { Guide } from \"./guide\";\nimport { attributeValueContainsToken } from \"./selectors\";\nimport { TargetSet } from \"./target_set\";\nvar Scope = /** @class */ (function () {\n function Scope(schema, element, identifier, logger) {\n var _this = this;\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = function (element) {\n return element.closest(_this.controllerSelector) === _this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n }\n Scope.prototype.findElement = function (selector) {\n return this.element.matches(selector)\n ? this.element\n : this.queryElements(selector).find(this.containsElement);\n };\n Scope.prototype.findAllElements = function (selector) {\n return __spreadArrays(this.element.matches(selector) ? [this.element] : [], this.queryElements(selector).filter(this.containsElement));\n };\n Scope.prototype.queryElements = function (selector) {\n return Array.from(this.element.querySelectorAll(selector));\n };\n Object.defineProperty(Scope.prototype, \"controllerSelector\", {\n get: function () {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n },\n enumerable: false,\n configurable: true\n });\n return Scope;\n}());\nexport { Scope };\n//# sourceMappingURL=scope.js.map","import { ValueListObserver } from \"@stimulus/mutation-observers\";\nvar ScopeObserver = /** @class */ (function () {\n function ScopeObserver(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap;\n this.scopeReferenceCounts = new WeakMap;\n }\n ScopeObserver.prototype.start = function () {\n this.valueListObserver.start();\n };\n ScopeObserver.prototype.stop = function () {\n this.valueListObserver.stop();\n };\n Object.defineProperty(ScopeObserver.prototype, \"controllerAttribute\", {\n get: function () {\n return this.schema.controllerAttribute;\n },\n enumerable: false,\n configurable: true\n });\n // Value observer delegate\n /** @hidden */\n ScopeObserver.prototype.parseValueForToken = function (token) {\n var element = token.element, identifier = token.content;\n var scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n var scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n };\n /** @hidden */\n ScopeObserver.prototype.elementMatchedValue = function (element, value) {\n var referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n };\n /** @hidden */\n ScopeObserver.prototype.elementUnmatchedValue = function (element, value) {\n var referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n };\n ScopeObserver.prototype.fetchScopesByIdentifierForElement = function (element) {\n var scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map;\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n };\n return ScopeObserver;\n}());\nexport { ScopeObserver };\n//# sourceMappingURL=scope_observer.js.map","import { Module } from \"./module\";\nimport { Multimap } from \"@stimulus/multimap\";\nimport { Scope } from \"./scope\";\nimport { ScopeObserver } from \"./scope_observer\";\nvar Router = /** @class */ (function () {\n function Router(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap;\n this.modulesByIdentifier = new Map;\n }\n Object.defineProperty(Router.prototype, \"element\", {\n get: function () {\n return this.application.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"logger\", {\n get: function () {\n return this.application.logger;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"controllerAttribute\", {\n get: function () {\n return this.schema.controllerAttribute;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"modules\", {\n get: function () {\n return Array.from(this.modulesByIdentifier.values());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"contexts\", {\n get: function () {\n return this.modules.reduce(function (contexts, module) { return contexts.concat(module.contexts); }, []);\n },\n enumerable: false,\n configurable: true\n });\n Router.prototype.start = function () {\n this.scopeObserver.start();\n };\n Router.prototype.stop = function () {\n this.scopeObserver.stop();\n };\n Router.prototype.loadDefinition = function (definition) {\n this.unloadIdentifier(definition.identifier);\n var module = new Module(this.application, definition);\n this.connectModule(module);\n };\n Router.prototype.unloadIdentifier = function (identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n };\n Router.prototype.getContextForElementAndIdentifier = function (element, identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find(function (context) { return context.element == element; });\n }\n };\n // Error handler delegate\n /** @hidden */\n Router.prototype.handleError = function (error, message, detail) {\n this.application.handleError(error, message, detail);\n };\n // Scope observer delegate\n /** @hidden */\n Router.prototype.createScopeForElementAndIdentifier = function (element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n };\n /** @hidden */\n Router.prototype.scopeConnected = function (scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n };\n /** @hidden */\n Router.prototype.scopeDisconnected = function (scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n };\n // Modules\n Router.prototype.connectModule = function (module) {\n this.modulesByIdentifier.set(module.identifier, module);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) { return module.connectContextForScope(scope); });\n };\n Router.prototype.disconnectModule = function (module) {\n this.modulesByIdentifier.delete(module.identifier);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) { return module.disconnectContextForScope(scope); });\n };\n return Router;\n}());\nexport { Router };\n//# sourceMappingURL=router.js.map","export var defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\"\n};\n//# sourceMappingURL=schema.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { Dispatcher } from \"./dispatcher\";\nimport { Router } from \"./router\";\nimport { defaultSchema } from \"./schema\";\nvar Application = /** @class */ (function () {\n function Application(element, schema) {\n if (element === void 0) { element = document.documentElement; }\n if (schema === void 0) { schema = defaultSchema; }\n this.logger = console;\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n }\n Application.start = function (element, schema) {\n var application = new Application(element, schema);\n application.start();\n return application;\n };\n Application.prototype.start = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, domReady()];\n case 1:\n _a.sent();\n this.dispatcher.start();\n this.router.start();\n return [2 /*return*/];\n }\n });\n });\n };\n Application.prototype.stop = function () {\n this.dispatcher.stop();\n this.router.stop();\n };\n Application.prototype.register = function (identifier, controllerConstructor) {\n this.load({ identifier: identifier, controllerConstructor: controllerConstructor });\n };\n Application.prototype.load = function (head) {\n var _this = this;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n var definitions = Array.isArray(head) ? head : __spreadArrays([head], rest);\n definitions.forEach(function (definition) { return _this.router.loadDefinition(definition); });\n };\n Application.prototype.unload = function (head) {\n var _this = this;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n var identifiers = Array.isArray(head) ? head : __spreadArrays([head], rest);\n identifiers.forEach(function (identifier) { return _this.router.unloadIdentifier(identifier); });\n };\n Object.defineProperty(Application.prototype, \"controllers\", {\n // Controllers\n get: function () {\n return this.router.contexts.map(function (context) { return context.controller; });\n },\n enumerable: false,\n configurable: true\n });\n Application.prototype.getControllerForElementAndIdentifier = function (element, identifier) {\n var context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n };\n // Error handling\n Application.prototype.handleError = function (error, message, detail) {\n this.logger.error(\"%s\\n\\n%o\\n\\n%o\", message, error, detail);\n };\n return Application;\n}());\nexport { Application };\nfunction domReady() {\n return new Promise(function (resolve) {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n }\n else {\n resolve();\n }\n });\n}\n//# sourceMappingURL=application.js.map","import { readInheritableStaticArrayValues } from \"./inheritable_statics\";\nimport { capitalize } from \"./string_helpers\";\n/** @hidden */\nexport function ClassPropertiesBlessing(constructor) {\n var classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce(function (properties, classDefinition) {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n var _a;\n var name = key + \"Class\";\n return _a = {},\n _a[name] = {\n get: function () {\n var classes = this.classes;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n var attribute = classes.getAttributeName(key);\n throw new Error(\"Missing attribute \\\"\" + attribute + \"\\\"\");\n }\n }\n },\n _a[\"has\" + capitalize(name)] = {\n get: function () {\n return this.classes.has(key);\n }\n },\n _a;\n}\n//# sourceMappingURL=class_properties.js.map","import { readInheritableStaticArrayValues } from \"./inheritable_statics\";\nimport { capitalize } from \"./string_helpers\";\n/** @hidden */\nexport function TargetPropertiesBlessing(constructor) {\n var targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce(function (properties, targetDefinition) {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n var _a;\n return _a = {},\n _a[name + \"Target\"] = {\n get: function () {\n var target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(\"Missing target element \\\"\" + this.identifier + \".\" + name + \"\\\"\");\n }\n }\n },\n _a[name + \"Targets\"] = {\n get: function () {\n return this.targets.findAll(name);\n }\n },\n _a[\"has\" + capitalize(name) + \"Target\"] = {\n get: function () {\n return this.targets.has(name);\n }\n },\n _a;\n}\n//# sourceMappingURL=target_properties.js.map","import { readInheritableStaticObjectPairs } from \"./inheritable_statics\";\nimport { camelize, capitalize, dasherize } from \"./string_helpers\";\n/** @hidden */\nexport function ValuePropertiesBlessing(constructor) {\n var valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n var propertyDescriptorMap = {\n valueDescriptorMap: {\n get: function () {\n var _this = this;\n return valueDefinitionPairs.reduce(function (result, valueDefinitionPair) {\n var _a;\n var valueDescriptor = parseValueDefinitionPair(valueDefinitionPair);\n var attributeName = _this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, (_a = {}, _a[attributeName] = valueDescriptor, _a));\n }, {});\n }\n }\n };\n return valueDefinitionPairs.reduce(function (properties, valueDefinitionPair) {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\n/** @hidden */\nexport function propertiesForValueDefinitionPair(valueDefinitionPair) {\n var _a;\n var definition = parseValueDefinitionPair(valueDefinitionPair);\n var type = definition.type, key = definition.key, name = definition.name;\n var read = readers[type], write = writers[type] || writers.default;\n return _a = {},\n _a[name] = {\n get: function () {\n var value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set: function (value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n }\n },\n _a[\"has\" + capitalize(name)] = {\n get: function () {\n return this.data.has(key);\n }\n },\n _a;\n}\nfunction parseValueDefinitionPair(_a) {\n var token = _a[0], typeConstant = _a[1];\n var type = parseValueTypeConstant(typeConstant);\n return valueDescriptorForTokenAndType(token, type);\n}\nfunction parseValueTypeConstant(typeConstant) {\n switch (typeConstant) {\n case Array: return \"array\";\n case Boolean: return \"boolean\";\n case Number: return \"number\";\n case Object: return \"object\";\n case String: return \"string\";\n }\n throw new Error(\"Unknown value type constant \\\"\" + typeConstant + \"\\\"\");\n}\nfunction valueDescriptorForTokenAndType(token, type) {\n var key = dasherize(token) + \"-value\";\n return {\n type: type,\n key: key,\n name: camelize(key),\n get defaultValue() { return defaultValuesByType[type]; }\n };\n}\nvar defaultValuesByType = {\n get array() { return []; },\n boolean: false,\n number: 0,\n get object() { return {}; },\n string: \"\"\n};\nvar readers = {\n array: function (value) {\n var array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(\"Expected array\");\n }\n return array;\n },\n boolean: function (value) {\n return !(value == \"0\" || value == \"false\");\n },\n number: function (value) {\n return parseFloat(value);\n },\n object: function (value) {\n var object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(\"Expected object\");\n }\n return object;\n },\n string: function (value) {\n return value;\n }\n};\nvar writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return \"\" + value;\n}\n//# sourceMappingURL=value_properties.js.map","import { ClassPropertiesBlessing } from \"./class_properties\";\nimport { TargetPropertiesBlessing } from \"./target_properties\";\nimport { ValuePropertiesBlessing } from \"./value_properties\";\nvar Controller = /** @class */ (function () {\n function Controller(context) {\n this.context = context;\n }\n Object.defineProperty(Controller.prototype, \"application\", {\n get: function () {\n return this.context.application;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"targets\", {\n get: function () {\n return this.scope.targets;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"classes\", {\n get: function () {\n return this.scope.classes;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"data\", {\n get: function () {\n return this.scope.data;\n },\n enumerable: false,\n configurable: true\n });\n Controller.prototype.initialize = function () {\n // Override in your subclass to set up initial controller state\n };\n Controller.prototype.connect = function () {\n // Override in your subclass to respond when the controller is connected to the DOM\n };\n Controller.prototype.disconnect = function () {\n // Override in your subclass to respond when the controller is disconnected from the DOM\n };\n Controller.blessings = [ClassPropertiesBlessing, TargetPropertiesBlessing, ValuePropertiesBlessing];\n Controller.targets = [];\n Controller.values = {};\n return Controller;\n}());\nexport { Controller };\n//# sourceMappingURL=controller.js.map","import{Controller as t}from\"@hotwired/stimulus\";class s extends t{initialize(){this.hide()}connect(){setTimeout(()=>{this.show()},200),this.hasDismissAfterValue&&setTimeout(()=>{this.close()},this.dismissAfterValue)}close(){this.hide(),setTimeout(()=>{this.element.remove()},1100)}show(){this.element.setAttribute(\"style\",\"transition: 1s; transform:translate(0, 0);\")}hide(){this.element.setAttribute(\"style\",\"transition: 1s; transform:translate(400px, 0);\")}}s.values={dismissAfter:Number};class e extends t{connect(){this.timeout=null,this.duration=this.data.get(\"duration\")||1e3}save(){clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.statusTarget.textContent=\"Saving...\",Rails.fire(this.formTarget,\"submit\")},this.duration)}success(){this.setStatus(\"Saved!\")}error(){this.setStatus(\"Unable to save!\")}setStatus(t){this.statusTarget.textContent=t,this.timeout=setTimeout(()=>{this.statusTarget.textContent=\"\"},2e3)}}e.targets=[\"form\",\"status\"];class i extends t{constructor(...t){super(...t),this._onMenuButtonKeydown=t=>{switch(t.keyCode){case 13:case 32:t.preventDefault(),this.toggle()}}}connect(){this.toggleClass=this.data.get(\"class\")||\"hidden\",this.visibleClass=this.data.get(\"visibleClass\")||null,this.invisibleClass=this.data.get(\"invisibleClass\")||null,this.activeClass=this.data.get(\"activeClass\")||null,this.enteringClass=this.data.get(\"enteringClass\")||null,this.leavingClass=this.data.get(\"leavingClass\")||null,this.hasButtonTarget&&this.buttonTarget.addEventListener(\"keydown\",this._onMenuButtonKeydown),this.element.setAttribute(\"aria-haspopup\",\"true\")}disconnect(){this.hasButtonTarget&&this.buttonTarget.removeEventListener(\"keydown\",this._onMenuButtonKeydown)}toggle(){this.openValue=!this.openValue}openValueChanged(){this.openValue?this._show():this._hide()}_show(t){setTimeout((()=>{this.menuTarget.classList.remove(this.toggleClass),this.element.setAttribute(\"aria-expanded\",\"true\"),this._enteringClassList[0].forEach((t=>{this.menuTarget.classList.add(t)}).bind(this)),this._activeClassList[0].forEach(t=>{this.activeTarget.classList.add(t)}),this._invisibleClassList[0].forEach(t=>this.menuTarget.classList.remove(t)),this._visibleClassList[0].forEach(t=>{this.menuTarget.classList.add(t)}),setTimeout((()=>{this._enteringClassList[0].forEach(t=>this.menuTarget.classList.remove(t))}).bind(this),this.enterTimeout[0]),\"function\"==typeof t&&t()}).bind(this))}_hide(t){setTimeout((()=>{this.element.setAttribute(\"aria-expanded\",\"false\"),this._invisibleClassList[0].forEach(t=>this.menuTarget.classList.add(t)),this._visibleClassList[0].forEach(t=>this.menuTarget.classList.remove(t)),this._activeClassList[0].forEach(t=>this.activeTarget.classList.remove(t)),this._leavingClassList[0].forEach(t=>this.menuTarget.classList.add(t)),setTimeout((()=>{this._leavingClassList[0].forEach(t=>this.menuTarget.classList.remove(t)),\"function\"==typeof t&&t(),this.menuTarget.classList.add(this.toggleClass)}).bind(this),this.leaveTimeout[0])}).bind(this))}show(){this.openValue=!0}hide(t){!1===this.element.contains(t.target)&&this.openValue&&(this.openValue=!1)}get activeTarget(){return this.data.has(\"activeTarget\")?document.querySelector(this.data.get(\"activeTarget\")):this.element}get _activeClassList(){return this.activeClass?this.activeClass.split(\",\").map(t=>t.split(\" \")):[[],[]]}get _visibleClassList(){return this.visibleClass?this.visibleClass.split(\",\").map(t=>t.split(\" \")):[[],[]]}get _invisibleClassList(){return this.invisibleClass?this.invisibleClass.split(\",\").map(t=>t.split(\" \")):[[],[]]}get _enteringClassList(){return this.enteringClass?this.enteringClass.split(\",\").map(t=>t.split(\" \")):[[],[]]}get _leavingClassList(){return this.leavingClass?this.leavingClass.split(\",\").map(t=>t.split(\" \")):[[],[]]}get enterTimeout(){return(this.data.get(\"enterTimeout\")||\"0,0\").split(\",\").map(t=>parseInt(t))}get leaveTimeout(){return(this.data.get(\"leaveTimeout\")||\"0,0\").split(\",\").map(t=>parseInt(t))}}i.targets=[\"menu\",\"button\"],i.values={open:Boolean};class a extends t{connect(){this.toggleClass=this.data.get(\"class\")||\"hidden\",this.backgroundId=this.data.get(\"backgroundId\")||\"modal-background\",this.backgroundHtml=this.data.get(\"backgroundHtml\")||this._backgroundHTML(),this.allowBackgroundClose=\"true\"===(this.data.get(\"allowBackgroundClose\")||\"true\"),this.preventDefaultActionOpening=\"true\"===(this.data.get(\"preventDefaultActionOpening\")||\"true\"),this.preventDefaultActionClosing=\"true\"===(this.data.get(\"preventDefaultActionClosing\")||\"true\")}disconnect(){this.close()}open(t){this.preventDefaultActionOpening&&t.preventDefault(),t.target.blur&&t.target.blur(),this.lockScroll(),this.containerTarget.classList.remove(this.toggleClass),this.data.get(\"disable-backdrop\")||(document.body.insertAdjacentHTML(\"beforeend\",this.backgroundHtml),this.background=document.querySelector(`#${this.backgroundId}`))}close(t){t&&this.preventDefaultActionClosing&&t.preventDefault(),this.unlockScroll(),this.containerTarget.classList.add(this.toggleClass),this.background&&this.background.remove()}closeBackground(t){this.allowBackgroundClose&&t.target===this.containerTarget&&this.close(t)}closeWithKeyboard(t){27!==t.keyCode||this.containerTarget.classList.contains(this.toggleClass)||this.close(t)}_backgroundHTML(){return`
`}lockScroll(){const t=window.innerWidth-document.documentElement.clientWidth;document.body.style.paddingRight=`${t}px`,this.saveScrollPosition(),document.body.classList.add(\"fixed\",\"inset-x-0\",\"overflow-hidden\"),document.body.style.top=`-${this.scrollPosition}px`}unlockScroll(){document.body.style.paddingRight=null,document.body.classList.remove(\"fixed\",\"inset-x-0\",\"overflow-hidden\"),this.restoreScrollPosition(),document.body.style.top=null}saveScrollPosition(){this.scrollPosition=window.pageYOffset||document.body.scrollTop}restoreScrollPosition(){void 0!==this.scrollPosition&&(document.documentElement.scrollTop=this.scrollPosition)}}a.targets=[\"container\"];class l extends t{connect(){this.activeTabClasses=(this.data.get(\"activeTab\")||\"active\").split(\" \"),this.inactiveTabClasses=(this.data.get(\"inactiveTab\")||\"inactive\").split(\" \"),this.anchor&&(this.index=this.tabTargets.findIndex(t=>t.id===this.anchor)),this.showTab()}change(t){t.preventDefault(),this.index=t.currentTarget.dataset.index?t.currentTarget.dataset.index:t.currentTarget.dataset.id?this.tabTargets.findIndex(s=>s.id==t.currentTarget.dataset.id):this.tabTargets.indexOf(t.currentTarget),window.dispatchEvent(new CustomEvent(\"tsc:tab-change\"))}showTab(){this.tabTargets.forEach((t,s)=>{const e=this.panelTargets[s];s===this.index?(e.classList.remove(\"hidden\"),t.classList.remove(...this.inactiveTabClasses),t.classList.add(...this.activeTabClasses),t.id&&(location.hash=t.id)):(e.classList.add(\"hidden\"),t.classList.remove(...this.activeTabClasses),t.classList.add(...this.inactiveTabClasses))})}get index(){return parseInt(this.data.get(\"index\")||0)}set index(t){this.data.set(\"index\",t>=0?t:0),this.showTab()}get anchor(){return document.URL.split(\"#\").length>1?document.URL.split(\"#\")[1]:null}}l.targets=[\"tab\",\"panel\"];class n extends t{connect(){this.toggleClass=this.data.get(\"class\")||\"hidden\"}toggle(t){t.preventDefault(),this.openValue=!this.openValue}hide(t){t.preventDefault(),this.openValue=!1}show(t){t.preventDefault(),this.openValue=!0}openValueChanged(){this.toggleClass&&this.toggleableTargets.forEach(t=>{t.classList.toggle(this.toggleClass)})}}n.targets=[\"toggleable\"],n.values={open:Boolean};class o extends t{initialize(){this.contentTarget.setAttribute(\"style\",`transform:translate(${this.data.get(\"translateX\")}, ${this.data.get(\"translateY\")});`)}mouseOver(){this.contentTarget.classList.remove(\"hidden\")}mouseOut(){this.contentTarget.classList.add(\"hidden\")}}o.targets=[\"content\"];class r extends i{_show(){this.overlayTarget.classList.remove(this.toggleClass),super._show((()=>{this._activeClassList[1].forEach(t=>this.overlayTarget.classList.add(t)),this._invisibleClassList[1].forEach(t=>this.overlayTarget.classList.remove(t)),this._visibleClassList[1].forEach(t=>this.overlayTarget.classList.add(t)),setTimeout((()=>{this._enteringClassList[1].forEach(t=>this.overlayTarget.classList.remove(t))}).bind(this),this.enterTimeout[1])}).bind(this))}_hide(){this._leavingClassList[1].forEach(t=>this.overlayTarget.classList.add(t)),super._hide((()=>{setTimeout((()=>{this._visibleClassList[1].forEach(t=>this.overlayTarget.classList.remove(t)),this._invisibleClassList[1].forEach(t=>this.overlayTarget.classList.add(t)),this._activeClassList[1].forEach(t=>this.overlayTarget.classList.remove(t)),this._leavingClassList[1].forEach(t=>this.overlayTarget.classList.remove(t)),this.overlayTarget.classList.add(this.toggleClass)}).bind(this),this.leaveTimeout[1])}).bind(this))}}r.targets=[\"menu\",\"overlay\"];class h extends t{connect(){this.styleProperty=this.data.get(\"style\")||\"backgroundColor\"}update(){this.preview=this.color}set preview(t){this.previewTarget.style[this.styleProperty]=t;const s=this._getContrastYIQ(t);\"color\"===this.styleProperty?this.previewTarget.style.backgroundColor=s:this.previewTarget.style.color=s}get color(){return this.colorTarget.value}_getContrastYIQ(t){return t=t.replace(\"#\",\"\"),(299*parseInt(t.substr(0,2),16)+587*parseInt(t.substr(2,2),16)+114*parseInt(t.substr(4,2),16))/1e3>=128?\"#000\":\"#fff\"}}h.targets=[\"preview\",\"color\"];export{s as Alert,e as Autosave,h as ColorPreview,i as Dropdown,a as Modal,o as Popover,r as Slideover,l as Tabs,n as Toggle};\n//# sourceMappingURL=tailwindcss-stimulus-components.modern.js.map\n","/*\nTrix 1.3.1\nCopyright © 2020 Basecamp, LLC\nhttp://trix-editor.org/\n */\n(function(){}).call(this),function(){var t;null==window.Set&&(window.Set=t=function(){function t(){this.clear()}return t.prototype.clear=function(){return this.values=[]},t.prototype.has=function(t){return-1!==this.values.indexOf(t)},t.prototype.add=function(t){return this.has(t)||this.values.push(t),this},t.prototype[\"delete\"]=function(t){var e;return-1===(e=this.values.indexOf(t))?!1:(this.values.splice(e,1),!0)},t.prototype.forEach=function(){var t;return(t=this.values).forEach.apply(t,arguments)},t}())}.call(this),function(t){function e(){}function n(t,e){return function(){t.apply(e,arguments)}}function i(t){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof t)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(t,this)}function o(t,e){for(;3===t._state;)t=t._value;return 0===t._state?void t._deferreds.push(e):(t._handled=!0,void h(function(){var n=1===t._state?e.onFulfilled:e.onRejected;if(null===n)return void(1===t._state?r:s)(e.promise,t._value);var i;try{i=n(t._value)}catch(o){return void s(e.promise,o)}r(e.promise,i)}))}function r(t,e){try{if(e===t)throw new TypeError(\"A promise cannot be resolved with itself.\");if(e&&(\"object\"==typeof e||\"function\"==typeof e)){var o=e.then;if(e instanceof i)return t._state=3,t._value=e,void a(t);if(\"function\"==typeof o)return void c(n(o,e),t)}t._state=1,t._value=e,a(t)}catch(r){s(t,r)}}function s(t,e){t._state=2,t._value=e,a(t)}function a(t){2===t._state&&0===t._deferreds.length&&setTimeout(function(){t._handled||p(t._value)},1);for(var e=0,n=t._deferreds.length;n>e;e++)o(t,t._deferreds[e]);t._deferreds=null}function u(t,e,n){this.onFulfilled=\"function\"==typeof t?t:null,this.onRejected=\"function\"==typeof e?e:null,this.promise=n}function c(t,e){var n=!1;try{t(function(t){n||(n=!0,r(e,t))},function(t){n||(n=!0,s(e,t))})}catch(i){if(n)return;n=!0,s(e,i)}}var l=setTimeout,h=\"function\"==typeof setImmediate&&setImmediate||function(t){l(t,1)},p=function(t){\"undefined\"!=typeof console&&console&&console.warn(\"Possible Unhandled Promise Rejection:\",t)};i.prototype[\"catch\"]=function(t){return this.then(null,t)},i.prototype.then=function(t,n){var r=new i(e);return o(this,new u(t,n,r)),r},i.all=function(t){var e=Array.prototype.slice.call(t);return new i(function(t,n){function i(r,s){try{if(s&&(\"object\"==typeof s||\"function\"==typeof s)){var a=s.then;if(\"function\"==typeof a)return void a.call(s,function(t){i(r,t)},n)}e[r]=s,0===--o&&t(e)}catch(u){n(u)}}if(0===e.length)return t([]);for(var o=e.length,r=0;ri;i++)t[i].then(e,n)})},i._setImmediateFn=function(t){h=t},i._setUnhandledRejectionFn=function(t){p=t},\"undefined\"!=typeof module&&module.exports?module.exports=i:t.Promise||(t.Promise=i)}(this),function(){var t=\"object\"==typeof window.customElements,e=\"function\"==typeof document.registerElement,n=t||e;n||(/**\n * @license\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\"undefined\"==typeof WeakMap&&!function(){var t=Object.defineProperty,e=Date.now()%1e9,n=function(){this.name=\"__st\"+(1e9*Math.random()>>>0)+(e++ +\"__\")};n.prototype={set:function(e,n){var i=e[this.name];return i&&i[0]===e?i[1]=n:t(e,this.name,{value:[e,n],writable:!0}),this},get:function(t){var e;return(e=t[this.name])&&e[0]===t?e[1]:void 0},\"delete\":function(t){var e=t[this.name];return e&&e[0]===t?(e[0]=e[1]=void 0,!0):!1},has:function(t){var e=t[this.name];return e?e[0]===t:!1}},window.WeakMap=n}(),function(t){function e(t){A.push(t),b||(b=!0,g(i))}function n(t){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(t)||t}function i(){b=!1;var t=A;A=[],t.sort(function(t,e){return t.uid_-e.uid_});var e=!1;t.forEach(function(t){var n=t.takeRecords();o(t),n.length&&(t.callback_(n,t),e=!0)}),e&&i()}function o(t){t.nodes_.forEach(function(e){var n=m.get(e);n&&n.forEach(function(e){e.observer===t&&e.removeTransientObservers()})})}function r(t,e){for(var n=t;n;n=n.parentNode){var i=m.get(n);if(i)for(var o=0;o0){var o=n[i-1],r=d(o,t);if(r)return void(n[i-1]=r)}else e(this.observer);n[i]=t},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(t){var e=this.options;e.attributes&&t.addEventListener(\"DOMAttrModified\",this,!0),e.characterData&&t.addEventListener(\"DOMCharacterDataModified\",this,!0),e.childList&&t.addEventListener(\"DOMNodeInserted\",this,!0),(e.childList||e.subtree)&&t.addEventListener(\"DOMNodeRemoved\",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(t){var e=this.options;e.attributes&&t.removeEventListener(\"DOMAttrModified\",this,!0),e.characterData&&t.removeEventListener(\"DOMCharacterDataModified\",this,!0),e.childList&&t.removeEventListener(\"DOMNodeInserted\",this,!0),(e.childList||e.subtree)&&t.removeEventListener(\"DOMNodeRemoved\",this,!0)},addTransientObserver:function(t){if(t!==this.target){this.addListeners_(t),this.transientObservedNodes.push(t);var e=m.get(t);e||m.set(t,e=[]),e.push(this)}},removeTransientObservers:function(){var t=this.transientObservedNodes;this.transientObservedNodes=[],t.forEach(function(t){this.removeListeners_(t);for(var e=m.get(t),n=0;n=0)){n.push(t);for(var i,o=t.querySelectorAll(\"link[rel=\"+s+\"]\"),a=0,u=o.length;u>a&&(i=o[a]);a++)i.import&&r(i.import,e,n);e(t)}}var s=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:\"none\";t.forDocumentTree=o,t.forSubtree=e}),window.CustomElements.addModule(function(t){function e(t,e){return n(t,e)||i(t,e)}function n(e,n){return t.upgrade(e,n)?!0:void(n&&s(e))}function i(t,e){b(t,function(t){return n(t,e)?!0:void 0})}function o(t){w.push(t),x||(x=!0,setTimeout(r))}function r(){x=!1;for(var t,e=w,n=0,i=e.length;i>n&&(t=e[n]);n++)t();w=[]}function s(t){C?o(function(){a(t)}):a(t)}function a(t){t.__upgraded__&&!t.__attached&&(t.__attached=!0,t.attachedCallback&&t.attachedCallback())}function u(t){c(t),b(t,function(t){c(t)})}function c(t){C?o(function(){l(t)}):l(t)}function l(t){t.__upgraded__&&t.__attached&&(t.__attached=!1,t.detachedCallback&&t.detachedCallback())}function h(t){for(var e=t,n=window.wrap(document);e;){if(e==n)return!0;e=e.parentNode||e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host}}function p(t){if(t.shadowRoot&&!t.shadowRoot.__watched){y.dom&&console.log(\"watching shadow-root for: \",t.localName);for(var e=t.shadowRoot;e;)g(e),e=e.olderShadowRoot}}function d(t,n){if(y.dom){var i=n[0];if(i&&\"childList\"===i.type&&i.addedNodes&&i.addedNodes){for(var o=i.addedNodes[0];o&&o!==document&&!o.host;)o=o.parentNode;var r=o&&(o.URL||o._URL||o.host&&o.host.localName)||\"\";r=r.split(\"/?\").shift().split(\"/\").pop()}console.group(\"mutations (%d) [%s]\",n.length,r||\"\")}var s=h(t);n.forEach(function(t){\"childList\"===t.type&&(E(t.addedNodes,function(t){t.localName&&e(t,s)}),E(t.removedNodes,function(t){t.localName&&u(t)}))}),y.dom&&console.groupEnd()}function f(t){for(t=window.wrap(t),t||(t=window.wrap(document));t.parentNode;)t=t.parentNode;var e=t.__observer;e&&(d(t,e.takeRecords()),r())}function g(t){if(!t.__observer){var e=new MutationObserver(d.bind(this,t));e.observe(t,{childList:!0,subtree:!0}),t.__observer=e}}function m(t){t=window.wrap(t),y.dom&&console.group(\"upgradeDocument: \",t.baseURI.split(\"/\").pop());var n=t===window.wrap(document);e(t,n),g(t),y.dom&&console.groupEnd()}function v(t){A(t,m)}var y=t.flags,b=t.forSubtree,A=t.forDocumentTree,C=window.MutationObserver._isPolyfilled&&y[\"throttle-attached\"];t.hasPolyfillMutations=C,t.hasThrottledAttached=C;var x=!1,w=[],E=Array.prototype.forEach.call.bind(Array.prototype.forEach),S=Element.prototype.createShadowRoot;S&&(Element.prototype.createShadowRoot=function(){var t=S.call(this);return window.CustomElements.watchShadow(this),t}),t.watchShadow=p,t.upgradeDocumentTree=v,t.upgradeDocument=m,t.upgradeSubtree=i,t.upgradeAll=e,t.attached=s,t.takeRecords=f}),window.CustomElements.addModule(function(t){function e(e,i){if(\"template\"===e.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(e),!e.__upgraded__&&e.nodeType===Node.ELEMENT_NODE){var o=e.getAttribute(\"is\"),r=t.getRegisteredDefinition(e.localName)||t.getRegisteredDefinition(o);if(r&&(o&&r.tag==e.localName||!o&&!r.extends))return n(e,r,i)}}function n(e,n,o){return s.upgrade&&console.group(\"upgrade:\",e.localName),n.is&&e.setAttribute(\"is\",n.is),i(e,n),e.__upgraded__=!0,r(e),o&&t.attached(e),t.upgradeSubtree(e,o),s.upgrade&&console.groupEnd(),e}function i(t,e){Object.__proto__?t.__proto__=e.prototype:(o(t,e.prototype,e.native),t.__proto__=e.prototype)}function o(t,e,n){for(var i={},o=e;o!==n&&o!==HTMLElement.prototype;){for(var r,s=Object.getOwnPropertyNames(o),a=0;r=s[a];a++)i[r]||(Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r)),i[r]=1);o=Object.getPrototypeOf(o)}}function r(t){t.createdCallback&&t.createdCallback()}var s=t.flags;t.upgrade=e,t.upgradeWithDefinition=n,t.implementPrototype=i}),window.CustomElements.addModule(function(t){function e(e,i){var u=i||{};if(!e)throw new Error(\"document.registerElement: first argument `name` must not be empty\");if(e.indexOf(\"-\")<0)throw new Error(\"document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '\"+String(e)+\"'.\");if(o(e))throw new Error(\"Failed to execute 'registerElement' on 'Document': Registration failed for type '\"+String(e)+\"'. The type name is invalid.\");if(c(e))throw new Error(\"DuplicateDefinitionError: a type with name '\"+String(e)+\"' is already registered\");return u.prototype||(u.prototype=Object.create(HTMLElement.prototype)),u.__name=e.toLowerCase(),u.extends&&(u.extends=u.extends.toLowerCase()),u.lifecycle=u.lifecycle||{},u.ancestry=r(u.extends),s(u),a(u),n(u.prototype),l(u.__name,u),u.ctor=h(u),u.ctor.prototype=u.prototype,u.prototype.constructor=u.ctor,t.ready&&m(document),u.ctor}function n(t){if(!t.setAttribute._polyfilled){var e=t.setAttribute;t.setAttribute=function(t,n){i.call(this,t,n,e)};var n=t.removeAttribute;t.removeAttribute=function(t){i.call(this,t,null,n)},t.setAttribute._polyfilled=!0}}function i(t,e,n){t=t.toLowerCase();var i=this.getAttribute(t);n.apply(this,arguments);var o=this.getAttribute(t);this.attributeChangedCallback&&o!==i&&this.attributeChangedCallback(t,i,o)}function o(t){for(var e=0;e=0&&b(i,HTMLElement),i)}function f(t,e){var n=t[e];t[e]=function(){var t=n.apply(this,arguments);return v(t),t}}var g,m=(t.isIE,t.upgradeDocumentTree),v=t.upgradeAll,y=t.upgradeWithDefinition,b=t.implementPrototype,A=t.useNative,C=[\"annotation-xml\",\"color-profile\",\"font-face\",\"font-face-src\",\"font-face-uri\",\"font-face-format\",\"font-face-name\",\"missing-glyph\"],x={},w=\"http://www.w3.org/1999/xhtml\",E=document.createElement.bind(document),S=document.createElementNS.bind(document);g=Object.__proto__||A?function(t,e){return t instanceof e}:function(t,e){if(t instanceof e)return!0;for(var n=t;n;){if(n===e.prototype)return!0;n=n.__proto__}return!1},f(Node.prototype,\"cloneNode\"),f(document,\"importNode\"),document.registerElement=e,document.createElement=d,document.createElementNS=p,t.registry=x,t.instanceof=g,t.reservedTagList=C,t.getRegisteredDefinition=c,document.register=document.registerElement}),function(t){function e(){r(window.wrap(document)),window.CustomElements.ready=!0;var t=window.requestAnimationFrame||function(t){setTimeout(t,16)};t(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent(\"WebComponentsReady\",{bubbles:!0}))})})}var n=t.useNative,i=t.initializeModules;if(t.isIE,n){var o=function(){};t.watchShadow=o,t.upgrade=o,t.upgradeAll=o,t.upgradeDocumentTree=o,t.upgradeSubtree=o,t.takeRecords=o,t.instanceof=function(t,e){return t instanceof e}}else i();var r=t.upgradeDocumentTree,s=t.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(t){return t}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(t){t.import&&s(wrap(t.import))}),\"complete\"===document.readyState||t.flags.eager)e();else if(\"interactive\"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var a=window.HTMLImports&&!window.HTMLImports.ready?\"HTMLImportsLoaded\":\"DOMContentLoaded\";window.addEventListener(a,e)}else e()}(window.CustomElements))}.call(this),function(){}.call(this),function(){var t=this;(function(){(function(){this.Trix={VERSION:\"1.3.1\",ZERO_WIDTH_SPACE:\"\\ufeff\",NON_BREAKING_SPACE:\"\\xa0\",OBJECT_REPLACEMENT_CHARACTER:\"\\ufffc\",browser:{composesExistingText:/Android.*Chrome/.test(navigator.userAgent),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:function(){var t,e,n,i;if(\"undefined\"==typeof InputEvent)return!1;for(i=[\"data\",\"getTargetRanges\",\"inputType\"],t=0,e=i.length;e>t;t++)if(n=i[t],!(n in InputEvent.prototype))return!1;return!0}()},config:{}}}).call(this)}).call(t);var e=t.Trix;(function(){(function(){e.BasicObject=function(){function t(){}var e,n,i;return t.proxyMethod=function(t){var i,o,r,s,a;return r=n(t),i=r.name,s=r.toMethod,a=r.toProperty,o=r.optional,this.prototype[i]=function(){var t,n;return t=null!=s?o?\"function\"==typeof this[s]?this[s]():void 0:this[s]():null!=a?this[a]:void 0,o?(n=null!=t?t[i]:void 0,null!=n?e.call(n,t,arguments):void 0):(n=t[i],e.call(n,t,arguments))}},n=function(t){var e,n;if(!(n=t.match(i)))throw new Error(\"can't parse @proxyMethod expression: \"+t);return e={name:n[4]},null!=n[2]?e.toMethod=n[1]:e.toProperty=n[1],null!=n[3]&&(e.optional=!0),e},e=Function.prototype.apply,i=/^(.+?)(\\(\\))?(\\?)?\\.(.+?)$/,t}()}).call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Object=function(n){function i(){this.id=++o}var o;return t(i,n),o=0,i.fromJSONString=function(t){return this.fromJSON(JSON.parse(t))},i.prototype.hasSameConstructorAs=function(t){return this.constructor===(null!=t?t.constructor:void 0)},i.prototype.isEqualTo=function(t){return this===t},i.prototype.inspect=function(){var t,e,n;return t=function(){var t,i,o;i=null!=(t=this.contentsForInspection())?t:{},o=[];for(e in i)n=i[e],o.push(e+\"=\"+n);return o}.call(this),\"#<\"+this.constructor.name+\":\"+this.id+(t.length?\" \"+t.join(\", \"):\"\")+\">\"},i.prototype.contentsForInspection=function(){},i.prototype.toJSONString=function(){return JSON.stringify(this)},i.prototype.toUTF16String=function(){return e.UTF16String.box(this)},i.prototype.getCacheKey=function(){return this.id.toString()},i}(e.BasicObject)}.call(this),function(){e.extend=function(t){var e,n;for(e in t)n=t[e],this[e]=n;return this}}.call(this),function(){e.extend({defer:function(t){return setTimeout(t,1)}})}.call(this),function(){var t,n;e.extend({normalizeSpaces:function(t){return t.replace(RegExp(\"\"+e.ZERO_WIDTH_SPACE,\"g\"),\"\").replace(RegExp(\"\"+e.NON_BREAKING_SPACE,\"g\"),\" \")},normalizeNewlines:function(t){return t.replace(/\\r\\n/g,\"\\n\")},breakableWhitespacePattern:RegExp(\"[^\\\\S\"+e.NON_BREAKING_SPACE+\"]\"),squishBreakableWhitespace:function(t){return t.replace(RegExp(\"\"+e.breakableWhitespacePattern.source,\"g\"),\" \").replace(/\\ {2,}/g,\" \")},summarizeStringChange:function(t,i){var o,r,s,a;return t=e.UTF16String.box(t),i=e.UTF16String.box(i),i.lengthn&&t.charAt(n).isEqualTo(e.charAt(n));)n++;for(;i>n+1&&t.charAt(i-1).isEqualTo(e.charAt(o-1));)i--,o--;return{utf16String:t.slice(n,i),offset:n}}}.call(this),function(){e.extend({copyObject:function(t){var e,n,i;null==t&&(t={}),n={};for(e in t)i=t[e],n[e]=i;return n},objectsAreEqual:function(t,e){var n,i;if(null==t&&(t={}),null==e&&(e={}),Object.keys(t).length!==Object.keys(e).length)return!1;for(n in t)if(i=t[n],i!==e[n])return!1;return!0}})}.call(this),function(){var t=[].slice;e.extend({arraysAreEqual:function(t,e){var n,i,o,r;if(null==t&&(t=[]),null==e&&(e=[]),t.length!==e.length)return!1;for(i=n=0,o=t.length;o>n;i=++n)if(r=t[i],r!==e[i])return!1;return!0},arrayStartsWith:function(t,n){return null==t&&(t=[]),null==n&&(n=[]),e.arraysAreEqual(t.slice(0,n.length),n)},spliceArray:function(){var e,n,i;return n=arguments[0],e=2<=arguments.length?t.call(arguments,1):[],i=n.slice(0),i.splice.apply(i,e),i},summarizeArrayChange:function(t,e){var n,i,o,r,s,a,u,c,l,h,p;for(null==t&&(t=[]),null==e&&(e=[]),n=[],h=[],o=new Set,r=0,u=t.length;u>r;r++)p=t[r],o.add(p);for(i=new Set,s=0,c=e.length;c>s;s++)p=e[s],i.add(p),o.has(p)||n.push(p);for(a=0,l=t.length;l>a;a++)p=t[a],i.has(p)||h.push(p);return{added:n,removed:h}}})}.call(this),function(){var t,n,i,o;t=null,n=null,o=null,i=null,e.extend({getAllAttributeNames:function(){return null!=t?t:t=e.getTextAttributeNames().concat(e.getBlockAttributeNames())},getBlockConfig:function(t){return e.config.blockAttributes[t]},getBlockAttributeNames:function(){return null!=n?n:n=Object.keys(e.config.blockAttributes)},getTextConfig:function(t){return e.config.textAttributes[t]},getTextAttributeNames:function(){return null!=o?o:o=Object.keys(e.config.textAttributes)},getListAttributeNames:function(){var t,n;return null!=i?i:i=function(){var i,o;i=e.config.blockAttributes,o=[];for(t in i)n=i[t].listAttribute,null!=n&&o.push(n);return o}()}})}.call(this),function(){var t,n,i,o,r,s=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=document.documentElement,n=null!=(i=null!=(o=null!=(r=t.matchesSelector)?r:t.webkitMatchesSelector)?o:t.msMatchesSelector)?i:t.mozMatchesSelector,e.extend({handleEvent:function(n,i){var o,r,s,a,u,c,l,h,p,d,f,g;return h=null!=i?i:{},c=h.onElement,u=h.matchingSelector,g=h.withCallback,a=h.inPhase,l=h.preventDefault,d=h.times,r=null!=c?c:t,p=u,o=g,f=\"capturing\"===a,s=function(t){var n;return null!=d&&0===--d&&s.destroy(),n=e.findClosestElementFromNode(t.target,{matchingSelector:p}),null!=n&&(null!=g&&g.call(n,t,n),l)?t.preventDefault():void 0},s.destroy=function(){return r.removeEventListener(n,s,f)},r.addEventListener(n,s,f),s},handleEventOnce:function(t,n){return null==n&&(n={}),n.times=1,e.handleEvent(t,n)},triggerEvent:function(n,i){var o,r,s,a,u,c,l;return l=null!=i?i:{},c=l.onElement,r=l.bubbles,s=l.cancelable,o=l.attributes,a=null!=c?c:t,r=r!==!1,s=s!==!1,u=document.createEvent(\"Events\"),u.initEvent(n,r,s),null!=o&&e.extend.call(u,o),a.dispatchEvent(u)},elementMatchesSelector:function(t,e){return 1===(null!=t?t.nodeType:void 0)?n.call(t,e):void 0},findClosestElementFromNode:function(t,n){var i,o,r;for(o=null!=n?n:{},i=o.matchingSelector,r=o.untilNode;null!=t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.parentNode;if(null!=t){if(null==i)return t;if(t.closest&&null==r)return t.closest(i);for(;t&&t!==r;){if(e.elementMatchesSelector(t,i))return t;t=t.parentNode}}},findInnerElement:function(t){for(;null!=t?t.firstElementChild:void 0;)t=t.firstElementChild;return t},innerElementIsActive:function(t){return document.activeElement!==t&&e.elementContainsNode(t,document.activeElement)},elementContainsNode:function(t,e){if(t&&e)for(;e;){if(e===t)return!0;e=e.parentNode}},findNodeFromContainerAndOffset:function(t,e){var n;if(t)return t.nodeType===Node.TEXT_NODE?t:0===e?null!=(n=t.firstChild)?n:t:t.childNodes.item(e-1)},findElementFromContainerAndOffset:function(t,n){var i;return i=e.findNodeFromContainerAndOffset(t,n),e.findClosestElementFromNode(i)},findChildIndexOfNode:function(t){var e;if(null!=t?t.parentNode:void 0){for(e=0;t=t.previousSibling;)e++;return e}},removeNode:function(t){var e;return null!=t&&null!=(e=t.parentNode)?e.removeChild(t):void 0},walkTree:function(t,e){var n,i,o,r,s;return o=null!=e?e:{},i=o.onlyNodesOfType,r=o.usingFilter,n=o.expandEntityReferences,s=function(){switch(i){case\"element\":return NodeFilter.SHOW_ELEMENT;case\"text\":return NodeFilter.SHOW_TEXT;case\"comment\":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}}(),document.createTreeWalker(t,s,null!=r?r:null,n===!0)},tagName:function(t){var e;return null!=t&&null!=(e=t.tagName)?e.toLowerCase():void 0},makeElement:function(t,e){var n,i,o,r,s,a,u,c,l,h,p,d,f,g;if(null==e&&(e={}),\"object\"==typeof t?(e=t,t=e.tagName):e={attributes:e},o=document.createElement(t),null!=e.editable&&(null==e.attributes&&(e.attributes={}),e.attributes.contenteditable=e.editable),e.attributes){l=e.attributes;for(a in l)g=l[a],o.setAttribute(a,g)}if(e.style){h=e.style;for(a in h)g=h[a],o.style[a]=g}if(e.data){p=e.data;for(a in p)g=p[a],o.dataset[a]=g}if(e.className)for(d=e.className.split(\" \"),r=0,u=d.length;u>r;r++)i=d[r],o.classList.add(i);if(e.textContent&&(o.textContent=e.textContent),e.childNodes)for(f=[].concat(e.childNodes),s=0,c=f.length;c>s;s++)n=f[s],o.appendChild(n);return o},getBlockTagNames:function(){var t,n;return null!=e.blockTagNames?e.blockTagNames:e.blockTagNames=function(){var i,o;i=e.config.blockAttributes,o=[];for(t in i)n=i[t].tagName,n&&o.push(n);return o}()},nodeIsBlockContainer:function(t){return e.nodeIsBlockStartComment(null!=t?t.firstChild:void 0)},nodeProbablyIsBlockContainer:function(t){var n,i;return n=e.tagName(t),s.call(e.getBlockTagNames(),n)>=0&&(i=e.tagName(t.firstChild),s.call(e.getBlockTagNames(),i)<0)},nodeIsBlockStart:function(t,n){var i;return i=(null!=n?n:{strict:!0}).strict,i?e.nodeIsBlockStartComment(t):e.nodeIsBlockStartComment(t)||!e.nodeIsBlockStartComment(t.firstChild)&&e.nodeProbablyIsBlockContainer(t)},nodeIsBlockStartComment:function(t){return e.nodeIsCommentNode(t)&&\"block\"===(null!=t?t.data:void 0)},nodeIsCommentNode:function(t){return(null!=t?t.nodeType:void 0)===Node.COMMENT_NODE},nodeIsCursorTarget:function(t,n){var i;return i=(null!=n?n:{}).name,t?e.nodeIsTextNode(t)?t.data===e.ZERO_WIDTH_SPACE?i?t.parentNode.dataset.trixCursorTarget===i:!0:void 0:e.nodeIsCursorTarget(t.firstChild):void 0},nodeIsAttachmentElement:function(t){return e.elementMatchesSelector(t,e.AttachmentView.attachmentSelector)},nodeIsEmptyTextNode:function(t){return e.nodeIsTextNode(t)&&\"\"===(null!=t?t.data:void 0)},nodeIsTextNode:function(t){return(null!=t?t.nodeType:void 0)===Node.TEXT_NODE}})}.call(this),function(){var t,n,i,o,r;t=e.copyObject,o=e.objectsAreEqual,e.extend({normalizeRange:i=function(t){var e;if(null!=t)return Array.isArray(t)||(t=[t,t]),[n(t[0]),n(null!=(e=t[1])?e:t[0])]},rangeIsCollapsed:function(t){var e,n,o;if(null!=t)return n=i(t),o=n[0],e=n[1],r(o,e)},rangesAreEqual:function(t,e){var n,o,s,a,u,c;if(null!=t&&null!=e)return s=i(t),o=s[0],n=s[1],a=i(e),c=a[0],u=a[1],r(o,c)&&r(n,u)}}),n=function(e){return\"number\"==typeof e?e:t(e)},r=function(t,e){return\"number\"==typeof t?t===e:o(t,e)}}.call(this),function(){var t,n,i,o,r,s,a;e.registerElement=function(t,e){var n,i;return null==e&&(e={}),t=t.toLowerCase(),e=a(e),i=s(e),(n=i.defaultCSS)&&(delete i.defaultCSS,o(n,t)),r(t,i)},o=function(t,e){var n;return n=i(e),n.textContent=t.replace(/%t/g,e)},i=function(e){var n,i;return n=document.createElement(\"style\"),n.setAttribute(\"type\",\"text/css\"),n.setAttribute(\"data-tag-name\",e.toLowerCase()),(i=t())&&n.setAttribute(\"nonce\",i),document.head.insertBefore(n,document.head.firstChild),n},t=function(){var t;return(t=n(\"trix-csp-nonce\")||n(\"csp-nonce\"))?t.getAttribute(\"content\"):void 0},n=function(t){return document.head.querySelector(\"meta[name=\"+t+\"]\")},s=function(t){var e,n,i;n={};for(e in t)i=t[e],n[e]=\"function\"==typeof i?{value:i}:i;return n},a=function(){var t;return t=function(t){var e,n,i,o,r;for(e={},r=[\"initialize\",\"connect\",\"disconnect\"],n=0,o=r.length;o>n;n++)i=r[n],e[i]=t[i],delete t[i];return e},window.customElements?function(e){var n,i,o,r,s;return s=t(e),o=s.initialize,n=s.connect,i=s.disconnect,o&&(r=n,n=function(){return this.initialized||(this.initialized=!0,o.call(this)),null!=r?r.call(this):void 0}),n&&(e.connectedCallback=n),i&&(e.disconnectedCallback=i),e}:function(e){var n,i,o,r;return r=t(e),o=r.initialize,n=r.connect,i=r.disconnect,o&&(e.createdCallback=o),n&&(e.attachedCallback=n),i&&(e.detachedCallback=i),e}}(),r=function(){return window.customElements?function(t,e){var n;return n=function(){return\"object\"==typeof Reflect?Reflect.construct(HTMLElement,[],n):HTMLElement.apply(this)},Object.setPrototypeOf(n.prototype,HTMLElement.prototype),Object.setPrototypeOf(n,HTMLElement),Object.defineProperties(n.prototype,e),window.customElements.define(t,n),n}:function(t,e){var n,i;return i=Object.create(HTMLElement.prototype,e),n=document.registerElement(t,{prototype:i}),Object.defineProperty(i,\"constructor\",{value:n}),n}}()}.call(this),function(){var t,n;e.extend({getDOMSelection:function(){var t;return t=window.getSelection(),t.rangeCount>0?t:void 0},getDOMRange:function(){var n,i;return(n=null!=(i=e.getDOMSelection())?i.getRangeAt(0):void 0)&&!t(n)?n:void 0},setDOMRange:function(t){var n;return n=window.getSelection(),n.removeAllRanges(),n.addRange(t),e.selectionChangeObserver.update()}}),t=function(t){return n(t.startContainer)||n(t.endContainer)},n=function(t){return!Object.getPrototypeOf(t)}}.call(this),function(){var t;t={\"application/x-trix-feature-detection\":\"test\"},e.extend({dataTransferIsPlainText:function(t){var e,n,i;return i=t.getData(\"text/plain\"),n=t.getData(\"text/html\"),i&&n?(e=(new DOMParser).parseFromString(n,\"text/html\").body,e.textContent===i?!e.querySelector(\"*\"):void 0):null!=i?i.length:void 0},dataTransferIsWritable:function(e){var n,i;if(null!=(null!=e?e.setData:void 0)){for(n in t)if(i=t[n],!function(){try{return e.setData(n,i),e.getData(n)===i}catch(t){}}())return;return!0}},keyEventIsKeyboardCommand:function(){return/Mac|^iP/.test(navigator.platform)?function(t){return t.metaKey}:function(t){return t.ctrlKey}}()})}.call(this),function(){e.extend({RTL_PATTERN:/[\\u05BE\\u05C0\\u05C3\\u05D0-\\u05EA\\u05F0-\\u05F4\\u061B\\u061F\\u0621-\\u063A\\u0640-\\u064A\\u066D\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D5\\u06E5\\u06E6\\u200F\\u202B\\u202E\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC]/,getDirection:function(){var t,n,i,o;return n=e.makeElement(\"input\",{dir:\"auto\",name:\"x\",dirName:\"x.dir\"}),t=e.makeElement(\"form\"),t.appendChild(n),i=function(){try{return new FormData(t).has(n.dirName)}catch(e){}}(),o=function(){try{return n.matches(\":dir(ltr),:dir(rtl)\")}catch(t){}}(),i?function(e){return n.value=e,new FormData(t).get(n.dirName)}:o?function(t){return n.value=t,n.matches(\":dir(rtl)\")?\"rtl\":\"ltr\"}:function(t){var n;return n=t.trim().charAt(0),e.RTL_PATTERN.test(n)?\"rtl\":\"ltr\"}}()})}.call(this),function(){}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.arraysAreEqual,e.Hash=function(i){function o(t){null==t&&(t={}),this.values=s(t),o.__super__.constructor.apply(this,arguments)}var r,s,a,u,c;return n(o,i),o.fromCommonAttributesOfObjects=function(t){var e,n,i,o,s,a;if(null==t&&(t=[]),!t.length)return new this;for(e=r(t[0]),i=e.getKeys(),a=t.slice(1),n=0,o=a.length;o>n;n++)s=a[n],i=e.getKeysCommonToHash(r(s)),e=e.slice(i);return e},o.box=function(t){return r(t)},o.prototype.add=function(t,e){return this.merge(u(t,e))},o.prototype.remove=function(t){return new e.Hash(s(this.values,t))},o.prototype.get=function(t){return this.values[t]},o.prototype.has=function(t){return t in this.values},o.prototype.merge=function(t){return new e.Hash(a(this.values,c(t)))},o.prototype.slice=function(t){var n,i,o,r;for(r={},n=0,o=t.length;o>n;n++)i=t[n],this.has(i)&&(r[i]=this.values[i]);return new e.Hash(r)},o.prototype.getKeys=function(){return Object.keys(this.values)},o.prototype.getKeysCommonToHash=function(t){var e,n,i,o,s;for(t=r(t),o=this.getKeys(),s=[],e=0,i=o.length;i>e;e++)n=o[e],this.values[n]===t.values[n]&&s.push(n);return s},o.prototype.isEqualTo=function(e){return t(this.toArray(),r(e).toArray())},o.prototype.isEmpty=function(){return 0===this.getKeys().length},o.prototype.toArray=function(){var t,e,n;return(null!=this.array?this.array:this.array=function(){var i;e=[],i=this.values;for(t in i)n=i[t],e.push(t,n);return e}.call(this)).slice(0)},o.prototype.toObject=function(){return s(this.values)},o.prototype.toJSON=function(){return this.toObject()},o.prototype.contentsForInspection=function(){return{values:JSON.stringify(this.values)}},u=function(t,e){var n;return n={},n[t]=e,n},a=function(t,e){var n,i,o;i=s(t);for(n in e)o=e[n],i[n]=o;return i},s=function(t,e){var n,i,o,r,s;for(r={},s=Object.keys(t).sort(),n=0,o=s.length;o>n;n++)i=s[n],i!==e&&(r[i]=t[i]);return r},r=function(t){return t instanceof e.Hash?t:new e.Hash(t)},c=function(t){return t instanceof e.Hash?t.values:t\n},o}(e.Object)}.call(this),function(){e.ObjectGroup=function(){function t(t,e){var n,i;this.objects=null!=t?t:[],i=e.depth,n=e.asTree,n&&(this.depth=i,this.objects=this.constructor.groupObjects(this.objects,{asTree:n,depth:this.depth+1}))}return t.groupObjects=function(t,e){var n,i,o,r,s,a,u,c,l;for(null==t&&(t=[]),l=null!=e?e:{},o=l.depth,n=l.asTree,n&&null==o&&(o=0),c=[],s=0,a=t.length;a>s;s++){if(u=t[s],r){if((\"function\"==typeof u.canBeGrouped?u.canBeGrouped(o):void 0)&&(\"function\"==typeof(i=r[r.length-1]).canBeGroupedWith?i.canBeGroupedWith(u,o):void 0)){r.push(u);continue}c.push(new this(r,{depth:o,asTree:n})),r=null}(\"function\"==typeof u.canBeGrouped?u.canBeGrouped(o):void 0)?r=[u]:c.push(u)}return r&&c.push(new this(r,{depth:o,asTree:n})),c},t.prototype.getObjects=function(){return this.objects},t.prototype.getDepth=function(){return this.depth},t.prototype.getCacheKey=function(){var t,e,n,i,o;for(e=[\"objectGroup\"],o=this.getObjects(),t=0,n=o.length;n>t;t++)i=o[t],e.push(i.getCacheKey());return e.join(\"/\")},t}()}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ObjectMap=function(e){function n(t){var e,n,i,o,r;for(null==t&&(t=[]),this.objects={},i=0,o=t.length;o>i;i++)r=t[i],n=JSON.stringify(r),null==(e=this.objects)[n]&&(e[n]=r)}return t(n,e),n.prototype.find=function(t){var e;return e=JSON.stringify(t),this.objects[e]},n}(e.BasicObject)}.call(this),function(){e.ElementStore=function(){function t(t){this.reset(t)}var e;return t.prototype.add=function(t){var n;return n=e(t),this.elements[n]=t},t.prototype.remove=function(t){var n,i;return n=e(t),(i=this.elements[n])?(delete this.elements[n],i):void 0},t.prototype.reset=function(t){var e,n,i;for(null==t&&(t=[]),this.elements={},n=0,i=t.length;i>n;n++)e=t[n],this.add(e);return t},e=function(t){return t.dataset.trixStoreKey},t}()}.call(this),function(){}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Operation=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n.prototype.isPerforming=function(){return this.performing===!0},n.prototype.hasPerformed=function(){return this.performed===!0},n.prototype.hasSucceeded=function(){return this.performed&&this.succeeded},n.prototype.hasFailed=function(){return this.performed&&!this.succeeded},n.prototype.getPromise=function(){return null!=this.promise?this.promise:this.promise=new Promise(function(t){return function(e,n){return t.performing=!0,t.perform(function(i,o){return t.succeeded=i,t.performing=!1,t.performed=!0,t.succeeded?e(o):n(o)})}}(this))},n.prototype.perform=function(t){return t(!1)},n.prototype.release=function(){var t;return null!=(t=this.promise)&&\"function\"==typeof t.cancel&&t.cancel(),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null},n.proxyMethod(\"getPromise().then\"),n.proxyMethod(\"getPromise().catch\"),n}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s=function(t,e){function n(){this.constructor=t}for(var i in e)a.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},a={}.hasOwnProperty;e.UTF16String=function(t){function e(t,e){this.ucs2String=t,this.codepoints=e,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}return s(e,t),e.box=function(t){return null==t&&(t=\"\"),t instanceof this?t:this.fromUCS2String(null!=t?t.toString():void 0)},e.fromUCS2String=function(t){return new this(t,o(t))},e.fromCodepoints=function(t){return new this(r(t),t)},e.prototype.offsetToUCS2Offset=function(t){return r(this.codepoints.slice(0,Math.max(0,t))).length},e.prototype.offsetFromUCS2Offset=function(t){return o(this.ucs2String.slice(0,Math.max(0,t))).length},e.prototype.slice=function(){var t;return this.constructor.fromCodepoints((t=this.codepoints).slice.apply(t,arguments))},e.prototype.charAt=function(t){return this.slice(t,t+1)},e.prototype.isEqualTo=function(t){return this.constructor.box(t).ucs2String===this.ucs2String},e.prototype.toJSON=function(){return this.ucs2String},e.prototype.getCacheKey=function(){return this.ucs2String},e.prototype.toString=function(){return this.ucs2String},e}(e.BasicObject),t=1===(\"function\"==typeof Array.from?Array.from(\"\\ud83d\\udc7c\").length:void 0),n=null!=(\"function\"==typeof\" \".codePointAt?\" \".codePointAt(0):void 0),i=\" \\ud83d\\udc7c\"===(\"function\"==typeof String.fromCodePoint?String.fromCodePoint(32,128124):void 0),o=t&&n?function(t){return Array.from(t).map(function(t){return t.codePointAt(0)})}:function(t){var e,n,i,o,r;for(o=[],e=0,i=t.length;i>e;)r=t.charCodeAt(e++),r>=55296&&56319>=r&&i>e&&(n=t.charCodeAt(e++),56320===(64512&n)?r=((1023&r)<<10)+(1023&n)+65536:e--),o.push(r);return o},r=i?function(t){return String.fromCodePoint.apply(String,t)}:function(t){var e,n,i;return e=function(){var e,o,r;for(r=[],e=0,o=t.length;o>e;e++)i=t[e],n=\"\",i>65535&&(i-=65536,n+=String.fromCharCode(i>>>10&1023|55296),i=56320|1023&i),r.push(n+String.fromCharCode(i));return r}(),e.join(\"\")}}.call(this),function(){}.call(this),function(){}.call(this),function(){e.config.lang={attachFiles:\"Attach Files\",bold:\"Bold\",bullets:\"Bullets\",\"byte\":\"Byte\",bytes:\"Bytes\",captionPlaceholder:\"Add a caption\\u2026\",code:\"Code\",heading1:\"Heading\",indent:\"Increase Level\",italic:\"Italic\",link:\"Link\",numbers:\"Numbers\",outdent:\"Decrease Level\",quote:\"Quote\",redo:\"Redo\",remove:\"Remove\",strike:\"Strikethrough\",undo:\"Undo\",unlink:\"Unlink\",url:\"URL\",urlPlaceholder:\"Enter a URL\\u2026\",GB:\"GB\",KB:\"KB\",MB:\"MB\",PB:\"PB\",TB:\"TB\"}}.call(this),function(){e.config.css={attachment:\"attachment\",attachmentCaption:\"attachment__caption\",attachmentCaptionEditor:\"attachment__caption-editor\",attachmentMetadata:\"attachment__metadata\",attachmentMetadataContainer:\"attachment__metadata-container\",attachmentName:\"attachment__name\",attachmentProgress:\"attachment__progress\",attachmentSize:\"attachment__size\",attachmentToolbar:\"attachment__toolbar\",attachmentGallery:\"attachment-gallery\"}}.call(this),function(){var t;e.config.blockAttributes=t={\"default\":{tagName:\"div\",parse:!1},quote:{tagName:\"blockquote\",nestable:!0},heading1:{tagName:\"h1\",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:\"pre\",terminal:!0,text:{plaintext:!0}},bulletList:{tagName:\"ul\",parse:!1},bullet:{tagName:\"li\",listAttribute:\"bulletList\",group:!1,nestable:!0,test:function(n){return e.tagName(n.parentNode)===t[this.listAttribute].tagName}},numberList:{tagName:\"ol\",parse:!1},number:{tagName:\"li\",listAttribute:\"numberList\",group:!1,nestable:!0,test:function(n){return e.tagName(n.parentNode)===t[this.listAttribute].tagName}},attachmentGallery:{tagName:\"div\",exclusive:!0,terminal:!0,parse:!1,group:!1}}}.call(this),function(){var t,n;t=e.config.lang,n=[t.bytes,t.KB,t.MB,t.GB,t.TB,t.PB],e.config.fileSize={prefix:\"IEC\",precision:2,formatter:function(e){var i,o,r,s,a;switch(e){case 0:return\"0 \"+t.bytes;case 1:return\"1 \"+t.byte;default:return i=function(){switch(this.prefix){case\"SI\":return 1e3;case\"IEC\":return 1024}}.call(this),o=Math.floor(Math.log(e)/Math.log(i)),r=e/Math.pow(i,o),s=r.toFixed(this.precision),a=s.replace(/0*$/,\"\").replace(/\\.$/,\"\"),a+\" \"+n[o]}}}}.call(this),function(){e.config.textAttributes={bold:{tagName:\"strong\",inheritable:!0,parser:function(t){var e;return e=window.getComputedStyle(t),\"bold\"===e.fontWeight||e.fontWeight>=600}},italic:{tagName:\"em\",inheritable:!0,parser:function(t){var e;return e=window.getComputedStyle(t),\"italic\"===e.fontStyle}},href:{groupTagName:\"a\",parser:function(t){var n,i,o;return n=e.AttachmentView.attachmentSelector,o=\"a:not(\"+n+\")\",(i=e.findClosestElementFromNode(t,{matchingSelector:o}))?i.getAttribute(\"href\"):void 0}},strike:{tagName:\"del\",inheritable:!0},frozen:{style:{backgroundColor:\"highlight\"}}}}.call(this),function(){var t,n,i,o,r;r=\"[data-trix-serialize=false]\",o=[\"contenteditable\",\"data-trix-id\",\"data-trix-store-key\",\"data-trix-mutable\",\"data-trix-placeholder\",\"tabindex\"],n=\"data-trix-serialized-attributes\",i=\"[\"+n+\"]\",t=new RegExp(\"\",\"g\"),e.extend({serializers:{\"application/json\":function(t){var n;if(t instanceof e.Document)n=t;else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");n=e.Document.fromHTML(t.innerHTML)}return n.toSerializableDocument().toJSONString()},\"text/html\":function(s){var a,u,c,l,h,p,d,f,g,m,v,y,b,A,C,x,w;if(s instanceof e.Document)l=e.DocumentView.render(s);else{if(!(s instanceof HTMLElement))throw new Error(\"unserializable object\");l=s.cloneNode(!0)}for(A=l.querySelectorAll(r),h=0,g=A.length;g>h;h++)c=A[h],e.removeNode(c);for(p=0,m=o.length;m>p;p++)for(a=o[p],C=l.querySelectorAll(\"[\"+a+\"]\"),d=0,v=C.length;v>d;d++)c=C[d],c.removeAttribute(a);for(x=l.querySelectorAll(i),f=0,y=x.length;y>f;f++){c=x[f];try{u=JSON.parse(c.getAttribute(n)),c.removeAttribute(n);for(b in u)w=u[b],c.setAttribute(b,w)}catch(E){}}return l.innerHTML.replace(t,\"\")}},deserializers:{\"application/json\":function(t){return e.Document.fromJSONString(t)},\"text/html\":function(t){return e.Document.fromHTML(t)}},serializeToContentType:function(t,n){var i;if(i=e.serializers[n])return i(t);throw new Error(\"unknown content type: \"+n)},deserializeFromContentType:function(t,n){var i;if(i=e.deserializers[n])return i(t);throw new Error(\"unknown content type: \"+n)}})}.call(this),function(){var t;t=e.config.lang,e.config.toolbar={getDefaultHTML:function(){return'
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
'}}}.call(this),function(){e.config.undoInterval=5e3}.call(this),function(){e.config.attachments={preview:{presentation:\"gallery\",caption:{name:!0,size:!0}},file:{caption:{size:!0}}}}.call(this),function(){e.config.keyNames={8:\"backspace\",9:\"tab\",13:\"return\",27:\"escape\",37:\"left\",39:\"right\",46:\"delete\",68:\"d\",72:\"h\",79:\"o\"}}.call(this),function(){e.config.input={level2Enabled:!0,getLevel:function(){return this.level2Enabled&&e.browser.supportsInputEvents?2:0},pickFiles:function(t){var n;return n=e.makeElement(\"input\",{type:\"file\",multiple:!0,hidden:!0,id:this.fileInputId}),n.addEventListener(\"change\",function(){return t(n.files),e.removeNode(n)}),e.removeNode(document.getElementById(this.fileInputId)),document.body.appendChild(n),n.click()},fileInputId:\"trix-file-input-\"+Date.now().toString(16)}}.call(this),function(){}.call(this),function(){e.registerElement(\"trix-toolbar\",{defaultCSS:\"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\",initialize:function(){return\"\"===this.innerHTML?this.innerHTML=e.config.toolbar.getDefaultHTML():void 0}})}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty,i=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};e.ObjectView=function(n){function o(t,e){this.object=t,this.options=null!=e?e:{},this.childViews=[],this.rootView=this}return t(o,n),o.prototype.getNodes=function(){var t,e,n,i,o;for(null==this.nodes&&(this.nodes=this.createNodes()),i=this.nodes,o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.cloneNode(!0));return o},o.prototype.invalidate=function(){var t;return this.nodes=null,this.childViews=[],null!=(t=this.parentView)?t.invalidate():void 0},o.prototype.invalidateViewForObject=function(t){var e;return null!=(e=this.findViewForObject(t))?e.invalidate():void 0},o.prototype.findOrCreateCachedChildView=function(t,e){var n;return(n=this.getCachedViewForObject(e))?this.recordChildView(n):(n=this.createChildView.apply(this,arguments),this.cacheViewForObject(n,e)),n},o.prototype.createChildView=function(t,n,i){var o;return null==i&&(i={}),n instanceof e.ObjectGroup&&(i.viewClass=t,t=e.ObjectGroupView),o=new t(n,i),this.recordChildView(o)},o.prototype.recordChildView=function(t){return t.parentView=this,t.rootView=this.rootView,this.childViews.push(t),t},o.prototype.getAllChildViews=function(){var t,e,n,i,o;for(o=[],i=this.childViews,e=0,n=i.length;n>e;e++)t=i[e],o.push(t),o=o.concat(t.getAllChildViews());return o},o.prototype.findElement=function(){return this.findElementForObject(this.object)},o.prototype.findElementForObject=function(t){var e;return(e=null!=t?t.id:void 0)?this.rootView.element.querySelector(\"[data-trix-id='\"+e+\"']\"):void 0},o.prototype.findViewForObject=function(t){var e,n,i,o;for(i=this.getAllChildViews(),e=0,n=i.length;n>e;e++)if(o=i[e],o.object===t)return o},o.prototype.getViewCache=function(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?null!=this.viewCache?this.viewCache:this.viewCache={}:void 0},o.prototype.isViewCachingEnabled=function(){return this.shouldCacheViews!==!1},o.prototype.enableViewCaching=function(){return this.shouldCacheViews=!0},o.prototype.disableViewCaching=function(){return this.shouldCacheViews=!1},o.prototype.getCachedViewForObject=function(t){var e;return null!=(e=this.getViewCache())?e[t.getCacheKey()]:void 0},o.prototype.cacheViewForObject=function(t,e){var n;return null!=(n=this.getViewCache())?n[e.getCacheKey()]=t:void 0},o.prototype.garbageCollectCachedViews=function(){var t,e,n,o,r,s;if(t=this.getViewCache()){s=this.getAllChildViews().concat(this),n=function(){var t,e,n;for(n=[],t=0,e=s.length;e>t;t++)r=s[t],n.push(r.object.getCacheKey());return n}(),o=[];for(e in t)i.call(n,e)<0&&o.push(delete t[e]);return o}},o}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ObjectGroupView=function(e){function n(){n.__super__.constructor.apply(this,arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}return t(n,e),n.prototype.getChildViews=function(){var t,e,n,i;if(!this.childViews.length)for(i=this.objectGroup.getObjects(),t=0,e=i.length;e>t;t++)n=i[t],this.findOrCreateCachedChildView(this.viewClass,n,this.options);return this.childViews},n.prototype.createNodes=function(){var t,e,n,i,o,r,s,a,u;for(t=this.createContainerElement(),s=this.getChildViews(),e=0,i=s.length;i>e;e++)for(u=s[e],a=u.getNodes(),n=0,o=a.length;o>n;n++)r=a[n],t.appendChild(r);return[t]},n.prototype.createContainerElement=function(t){return null==t&&(t=this.objectGroup.getDepth()),this.getChildViews()[0].createContainerElement(t)},n}(e.ObjectView)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Controller=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a=function(t,e){return function(){return t.apply(e,arguments)}},u=function(t,e){function n(){this.constructor=t}for(var i in e)c.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},c={}.hasOwnProperty,l=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.findClosestElementFromNode,i=e.nodeIsEmptyTextNode,n=e.nodeIsBlockStartComment,o=e.normalizeSpaces,r=e.summarizeStringChange,s=e.tagName,e.MutationObserver=function(e){function c(t){this.element=t,this.didMutate=a(this.didMutate,this),this.observer=new window.MutationObserver(this.didMutate),this.start()}var h,p,d,f;return u(c,e),p=\"data-trix-mutable\",d=\"[\"+p+\"]\",f={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},c.prototype.start=function(){return this.reset(),this.observer.observe(this.element,f)},c.prototype.stop=function(){return this.observer.disconnect()},c.prototype.didMutate=function(t){var e,n;return(e=this.mutations).push.apply(e,this.findSignificantMutations(t)),this.mutations.length?(null!=(n=this.delegate)&&\"function\"==typeof n.elementDidMutate&&n.elementDidMutate(this.getMutationSummary()),this.reset()):void 0},c.prototype.reset=function(){return this.mutations=[]},c.prototype.findSignificantMutations=function(t){var e,n,i,o;for(o=[],e=0,n=t.length;n>e;e++)i=t[e],this.mutationIsSignificant(i)&&o.push(i);return o},c.prototype.mutationIsSignificant=function(t){var e,n,i,o;if(this.nodeIsMutable(t.target))return!1;for(o=this.nodesModifiedByMutation(t),e=0,n=o.length;n>e;e++)if(i=o[e],this.nodeIsSignificant(i))return!0;return!1},c.prototype.nodeIsSignificant=function(t){return t!==this.element&&!this.nodeIsMutable(t)&&!i(t)},c.prototype.nodeIsMutable=function(e){return t(e,{matchingSelector:d})},c.prototype.nodesModifiedByMutation=function(t){var e;switch(e=[],t.type){case\"attributes\":t.attributeName!==p&&e.push(t.target);break;case\"characterData\":e.push(t.target.parentNode),e.push(t.target);break;case\"childList\":e.push.apply(e,t.addedNodes),e.push.apply(e,t.removedNodes)}return e},c.prototype.getMutationSummary=function(){return this.getTextMutationSummary()},c.prototype.getTextMutationSummary=function(){var t,e,n,i,o,r,s,a,u,c,h;for(a=this.getTextChangesFromCharacterData(),n=a.additions,o=a.deletions,h=this.getTextChangesFromChildList(),u=h.additions,r=0,s=u.length;s>r;r++)e=u[r],l.call(n,e)<0&&n.push(e);return o.push.apply(o,h.deletions),c={},(t=n.join(\"\"))&&(c.textAdded=t),(i=o.join(\"\"))&&(c.textDeleted=i),c},c.prototype.getMutationsByType=function(t){var e,n,i,o,r;for(o=this.mutations,r=[],e=0,n=o.length;n>e;e++)i=o[e],i.type===t&&r.push(i);return r},c.prototype.getTextChangesFromChildList=function(){var t,e,i,r,s,a,u,c,l,p,d;for(t=[],u=[],a=this.getMutationsByType(\"childList\"),e=0,r=a.length;r>e;e++)s=a[e],t.push.apply(t,s.addedNodes),u.push.apply(u,s.removedNodes);return c=0===t.length&&1===u.length&&n(u[0]),c?(p=[],d=[\"\\n\"]):(p=h(t),d=h(u)),{additions:function(){var t,e,n;for(n=[],i=t=0,e=p.length;e>t;i=++t)l=p[i],l!==d[i]&&n.push(o(l));return n}(),deletions:function(){var t,e,n;for(n=[],i=t=0,e=d.length;e>t;i=++t)l=d[i],l!==p[i]&&n.push(o(l));return n}()}},c.prototype.getTextChangesFromCharacterData=function(){var t,e,n,i,s,a,u,c;return e=this.getMutationsByType(\"characterData\"),e.length&&(c=e[0],n=e[e.length-1],s=o(c.oldValue),i=o(n.target.data),a=r(s,i),t=a.added,u=a.removed),{additions:t?[t]:[],deletions:u?[u]:[]}},h=function(t){var e,n,i,o;for(null==t&&(t=[]),o=[],e=0,n=t.length;n>e;e++)switch(i=t[e],i.nodeType){case Node.TEXT_NODE:o.push(i.data);break;case Node.ELEMENT_NODE:\"br\"===s(i)?o.push(\"\\n\"):o.push.apply(o,h(i.childNodes))}return o},c}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.FileVerificationOperation=function(e){function n(t){this.file=t}return t(n,e),n.prototype.perform=function(t){var e;return e=new FileReader,e.onerror=function(){return t(!1)},e.onload=function(n){return function(){e.onerror=null;try{e.abort()}catch(i){}return t(!0,n.file)}}(this),e.readAsArrayBuffer(this.file)},n}(e.Operation)}.call(this),function(){var t,n,i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty;t=e.handleEvent,n=e.innerElementIsActive,e.InputController=function(o){function r(n){var i;this.element=n,this.mutationObserver=new e.MutationObserver(this.element),this.mutationObserver.delegate=this;for(i in this.events)t(i,{onElement:this.element,withCallback:this.handlerFor(i)})}return i(r,o),r.prototype.events={},r.prototype.elementDidMutate=function(){},r.prototype.editorWillSyncDocumentView=function(){return this.mutationObserver.stop()},r.prototype.editorDidSyncDocumentView=function(){return this.mutationObserver.start()},r.prototype.requestRender=function(){var t;return null!=(t=this.delegate)&&\"function\"==typeof t.inputControllerDidRequestRender?t.inputControllerDidRequestRender():void 0},r.prototype.requestReparse=function(){var t;return null!=(t=this.delegate)&&\"function\"==typeof t.inputControllerDidRequestReparse&&t.inputControllerDidRequestReparse(),this.requestRender()},r.prototype.attachFiles=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(new e.FileVerificationOperation(n));return r}(),Promise.all(i).then(function(t){return function(e){return t.handleInput(function(){var t,n;return null!=(t=this.delegate)&&t.inputControllerWillAttachFiles(),null!=(n=this.responder)&&n.insertFiles(e),this.requestRender()})}}(this))},r.prototype.handlerFor=function(t){return function(e){return function(i){return i.defaultPrevented?void 0:e.handleInput(function(){return n(this.element)?void 0:(this.eventName=t,this.events[t].call(this,i))})}}(this)},r.prototype.handleInput=function(t){var e,n;try{return null!=(e=this.delegate)&&e.inputControllerWillHandleInput(),t.call(this)}finally{null!=(n=this.delegate)&&n.inputControllerDidHandleInput()}},r.prototype.createLinkHTML=function(t,e){var n;return n=document.createElement(\"a\"),n.href=t,n.textContent=null!=e?e:t,n.outerHTML},r}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h,p,d,f=function(t,e){function n(){this.constructor=t}for(var i in e)g.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},g={}.hasOwnProperty,m=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};c=e.makeElement,l=e.objectsAreEqual,d=e.tagName,n=e.browser,a=e.keyEventIsKeyboardCommand,o=e.dataTransferIsWritable,i=e.dataTransferIsPlainText,u=e.config.keyNames,e.Level0InputController=function(n){function s(){s.__super__.constructor.apply(this,arguments),this.resetInputSummary()}var d;return f(s,n),d=0,s.prototype.setInputSummary=function(t){var e,n;null==t&&(t={}),this.inputSummary.eventName=this.eventName;for(e in t)n=t[e],this.inputSummary[e]=n;return this.inputSummary},s.prototype.resetInputSummary=function(){return this.inputSummary={}},s.prototype.reset=function(){return this.resetInputSummary(),e.selectionChangeObserver.reset()},s.prototype.elementDidMutate=function(t){var e;return this.isComposing()?null!=(e=this.delegate)&&\"function\"==typeof e.inputControllerDidAllowUnhandledInput?e.inputControllerDidAllowUnhandledInput():void 0:this.handleInput(function(){return this.mutationIsSignificant(t)&&(this.mutationIsExpected(t)?this.requestRender():this.requestReparse()),this.reset()})},s.prototype.mutationIsExpected=function(t){var e,n,i,o,r,s,a,u,c,l;return a=t.textAdded,u=t.textDeleted,this.inputSummary.preferDocument?!0:(e=null!=a?a===this.inputSummary.textAdded:!this.inputSummary.textAdded,n=null!=u?this.inputSummary.didDelete:!this.inputSummary.didDelete,c=(\"\\n\"===a||\" \\n\"===a)&&!e,l=\"\\n\"===u&&!n,s=c&&!l||l&&!c,s&&(o=this.getSelectedRange())&&(i=c?a.replace(/\\n$/,\"\").length||-1:(null!=a?a.length:void 0)||1,null!=(r=this.responder)?r.positionIsBlockBreak(o[1]+i):void 0)?!0:e&&n)},s.prototype.mutationIsSignificant=function(t){var e,n,i;return i=Object.keys(t).length>0,e=\"\"===(null!=(n=this.compositionInput)?n.getEndData():void 0),i||!e},s.prototype.events={keydown:function(t){var n,i,o,r,s,c,l,h,p;if(this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0,r=u[t.keyCode]){for(i=this.keys,h=[\"ctrl\",\"alt\",\"shift\",\"meta\"],o=0,c=h.length;c>o;o++)l=h[o],t[l+\"Key\"]&&(\"ctrl\"===l&&(l=\"control\"),i=null!=i?i[l]:void 0);null!=(null!=i?i[r]:void 0)&&(this.setInputSummary({keyName:r}),e.selectionChangeObserver.reset(),i[r].call(this,t))}return a(t)&&(n=String.fromCharCode(t.keyCode).toLowerCase())&&(s=function(){var e,n,i,o;for(i=[\"alt\",\"shift\"],o=[],e=0,n=i.length;n>e;e++)l=i[e],t[l+\"Key\"]&&o.push(l);return o}(),s.push(n),null!=(p=this.delegate)?p.inputControllerDidReceiveKeyboardCommand(s):void 0)?t.preventDefault():void 0},keypress:function(t){var e,n,i;if(null==this.inputSummary.eventName&&!t.metaKey&&(!t.ctrlKey||t.altKey))return(i=p(t))?(null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString(i),this.setInputSummary({textAdded:i,didDelete:this.selectionIsExpanded()})):void 0},textInput:function(t){var e,n,i,o;return e=t.data,o=this.inputSummary.textAdded,o&&o!==e&&o.toUpperCase()===e?(n=this.getSelectedRange(),this.setSelectedRange([n[0],n[1]+o.length]),null!=(i=this.responder)&&i.insertString(e),this.setInputSummary({textAdded:e}),this.setSelectedRange(n)):void 0},dragenter:function(t){return t.preventDefault()},dragstart:function(t){var e,n;return n=t.target,this.serializeSelectionToDataTransfer(t.dataTransfer),this.draggedRange=this.getSelectedRange(),null!=(e=this.delegate)&&\"function\"==typeof e.inputControllerDidStartDrag?e.inputControllerDidStartDrag():void 0},dragover:function(t){var e,n;return!this.draggedRange&&!this.canAcceptDataTransfer(t.dataTransfer)||(t.preventDefault(),e={x:t.clientX,y:t.clientY},l(e,this.draggingPoint))?void 0:(this.draggingPoint=e,null!=(n=this.delegate)&&\"function\"==typeof n.inputControllerDidReceiveDragOverPoint?n.inputControllerDidReceiveDragOverPoint(this.draggingPoint):void 0)},dragend:function(){var t;return null!=(t=this.delegate)&&\"function\"==typeof t.inputControllerDidCancelDrag&&t.inputControllerDidCancelDrag(),this.draggedRange=null,this.draggingPoint=null},drop:function(t){var n,i,o,r,s,a,u,c,l;return t.preventDefault(),o=null!=(s=t.dataTransfer)?s.files:void 0,r={x:t.clientX,y:t.clientY},null!=(a=this.responder)&&a.setLocationRangeFromPointRange(r),(null!=o?o.length:void 0)?this.attachFiles(o):this.draggedRange?(null!=(u=this.delegate)&&u.inputControllerWillMoveText(),null!=(c=this.responder)&&c.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()):(i=t.dataTransfer.getData(\"application/x-trix-document\"))&&(n=e.Document.fromJSONString(i),null!=(l=this.responder)&&l.insertDocument(n),this.requestRender()),this.draggedRange=null,this.draggingPoint=null},cut:function(t){var e,n;return(null!=(e=this.responder)?e.selectionIsExpanded():void 0)&&(this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault(),null!=(n=this.delegate)&&n.inputControllerWillCutText(),this.deleteInDirection(\"backward\"),t.defaultPrevented)?this.requestRender():void 0},copy:function(t){var e;return(null!=(e=this.responder)?e.selectionIsExpanded():void 0)&&this.serializeSelectionToDataTransfer(t.clipboardData)?t.preventDefault():void 0},paste:function(t){var n,o,s,a,u,c,l,p,f,g,v,y,b,A,C,x,w,E,S,R,k,D,L;return n=null!=(p=t.clipboardData)?p:t.testClipboardData,l={clipboard:n},null==n||h(t)?void this.getPastedHTMLUsingHiddenElement(function(t){return function(e){var n,i,o;return l.type=\"text/html\",l.html=e,null!=(n=t.delegate)&&n.inputControllerWillPaste(l),null!=(i=t.responder)&&i.insertHTML(l.html),t.requestRender(),null!=(o=t.delegate)?o.inputControllerDidPaste(l):void 0}}(this)):((a=n.getData(\"URL\"))?(l.type=\"text/html\",L=(c=n.getData(\"public.url-name\"))?e.squishBreakableWhitespace(c).trim():a,l.html=this.createLinkHTML(a,L),null!=(f=this.delegate)&&f.inputControllerWillPaste(l),this.setInputSummary({textAdded:L,didDelete:this.selectionIsExpanded()}),null!=(C=this.responder)&&C.insertHTML(l.html),this.requestRender(),null!=(x=this.delegate)&&x.inputControllerDidPaste(l)):i(n)?(l.type=\"text/plain\",l.string=n.getData(\"text/plain\"),null!=(w=this.delegate)&&w.inputControllerWillPaste(l),this.setInputSummary({textAdded:l.string,didDelete:this.selectionIsExpanded()}),null!=(E=this.responder)&&E.insertString(l.string),this.requestRender(),null!=(S=this.delegate)&&S.inputControllerDidPaste(l)):(u=n.getData(\"text/html\"))?(l.type=\"text/html\",l.html=u,null!=(R=this.delegate)&&R.inputControllerWillPaste(l),null!=(k=this.responder)&&k.insertHTML(l.html),this.requestRender(),null!=(D=this.delegate)&&D.inputControllerDidPaste(l)):m.call(n.types,\"Files\")>=0&&(s=null!=(g=n.items)&&null!=(v=g[0])&&\"function\"==typeof v.getAsFile?v.getAsFile():void 0)&&(!s.name&&(o=r(s))&&(s.name=\"pasted-file-\"+ ++d+\".\"+o),l.type=\"File\",l.file=s,null!=(y=this.delegate)&&y.inputControllerWillAttachFiles(),null!=(b=this.responder)&&b.insertFile(l.file),this.requestRender(),null!=(A=this.delegate)&&A.inputControllerDidPaste(l)),t.preventDefault())},compositionstart:function(t){return this.getCompositionInput().start(t.data)},compositionupdate:function(t){return this.getCompositionInput().update(t.data)},compositionend:function(t){return this.getCompositionInput().end(t.data)},beforeinput:function(){return this.inputSummary.didInput=!0\n},input:function(t){return this.inputSummary.didInput=!0,t.stopPropagation()}},s.prototype.keys={backspace:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},\"delete\":function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},\"return\":function(){var t,e;return this.setInputSummary({preferDocument:!0}),null!=(t=this.delegate)&&t.inputControllerWillPerformTyping(),null!=(e=this.responder)?e.insertLineBreak():void 0},tab:function(t){var e,n;return(null!=(e=this.responder)?e.canIncreaseNestingLevel():void 0)?(null!=(n=this.responder)&&n.increaseNestingLevel(),this.requestRender(),t.preventDefault()):void 0},left:function(t){var e;return this.selectionIsInCursorTarget()?(t.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection(\"backward\"):void 0):void 0},right:function(t){var e;return this.selectionIsInCursorTarget()?(t.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection(\"forward\"):void 0):void 0},control:{d:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},h:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},o:function(t){var e,n;return t.preventDefault(),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString(\"\\n\",{updatePosition:!1}),this.requestRender()}},shift:{\"return\":function(t){var e,n;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString(\"\\n\"),this.requestRender(),t.preventDefault()},tab:function(t){var e,n;return(null!=(e=this.responder)?e.canDecreaseNestingLevel():void 0)?(null!=(n=this.responder)&&n.decreaseNestingLevel(),this.requestRender(),t.preventDefault()):void 0},left:function(t){return this.selectionIsInCursorTarget()?(t.preventDefault(),this.expandSelectionInDirection(\"backward\")):void 0},right:function(t){return this.selectionIsInCursorTarget()?(t.preventDefault(),this.expandSelectionInDirection(\"forward\")):void 0}},alt:{backspace:function(){var t;return this.setInputSummary({preferDocument:!1}),null!=(t=this.delegate)?t.inputControllerWillPerformTyping():void 0}},meta:{backspace:function(){var t;return this.setInputSummary({preferDocument:!1}),null!=(t=this.delegate)?t.inputControllerWillPerformTyping():void 0}}},s.prototype.getCompositionInput=function(){return this.isComposing()?this.compositionInput:this.compositionInput=new t(this)},s.prototype.isComposing=function(){return null!=this.compositionInput&&!this.compositionInput.isEnded()},s.prototype.deleteInDirection=function(t,e){var n;return(null!=(n=this.responder)?n.deleteInDirection(t):void 0)!==!1?this.setInputSummary({didDelete:!0}):e?(e.preventDefault(),this.requestRender()):void 0},s.prototype.serializeSelectionToDataTransfer=function(t){var n,i;if(o(t))return n=null!=(i=this.responder)?i.getSelectedDocument().toSerializableDocument():void 0,t.setData(\"application/x-trix-document\",JSON.stringify(n)),t.setData(\"text/html\",e.DocumentView.render(n).innerHTML),t.setData(\"text/plain\",n.toString().replace(/\\n$/,\"\")),!0},s.prototype.canAcceptDataTransfer=function(t){var e,n,i,o,r,s;for(s={},o=null!=(i=null!=t?t.types:void 0)?i:[],e=0,n=o.length;n>e;e++)r=o[e],s[r]=!0;return s.Files||s[\"application/x-trix-document\"]||s[\"text/html\"]||s[\"text/plain\"]},s.prototype.getPastedHTMLUsingHiddenElement=function(t){var n,i,o;return i=this.getSelectedRange(),o={position:\"absolute\",left:window.pageXOffset+\"px\",top:window.pageYOffset+\"px\",opacity:0},n=c({style:o,tagName:\"div\",editable:!0}),document.body.appendChild(n),n.focus(),requestAnimationFrame(function(o){return function(){var r;return r=n.innerHTML,e.removeNode(n),o.setSelectedRange(i),t(r)}}(this))},s.proxyMethod(\"responder?.getSelectedRange\"),s.proxyMethod(\"responder?.setSelectedRange\"),s.proxyMethod(\"responder?.expandSelectionInDirection\"),s.proxyMethod(\"responder?.selectionIsInCursorTarget\"),s.proxyMethod(\"responder?.selectionIsExpanded\"),s}(e.InputController),r=function(t){var e,n;return null!=(e=t.type)&&null!=(n=e.match(/\\/(\\w+)$/))?n[1]:void 0},s=null!=(\"function\"==typeof\" \".codePointAt?\" \".codePointAt(0):void 0),p=function(t){var n;return t.key&&s&&t.key.codePointAt(0)===t.keyCode?t.key:(null===t.which?n=t.keyCode:0!==t.which&&0!==t.charCode&&(n=t.charCode),null!=n&&\"escape\"!==u[n]?e.UTF16String.fromCodepoints([n]).toString():void 0)},h=function(t){var e,n,i,o,r,s,a,u,c,l;if(u=t.clipboardData){if(m.call(u.types,\"text/html\")>=0){for(c=u.types,i=0,s=c.length;s>i;i++)if(l=c[i],e=/^CorePasteboardFlavorType/.test(l),n=/^dyn\\./.test(l)&&u.getData(l),a=e||n)return!0;return!1}return o=m.call(u.types,\"com.apple.webarchive\")>=0,r=m.call(u.types,\"com.apple.flat-rtfd\")>=0,o||r}},t=function(t){function e(t){var e;this.inputController=t,e=this.inputController,this.responder=e.responder,this.delegate=e.delegate,this.inputSummary=e.inputSummary,this.data={}}return f(e,t),e.prototype.start=function(t){var e,n;return this.data.start=t,this.isSignificant()?(\"keypress\"===this.inputSummary.eventName&&this.inputSummary.textAdded&&null!=(e=this.responder)&&e.deleteInDirection(\"left\"),this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=null!=(n=this.responder)?n.getSelectedRange():void 0):void 0},e.prototype.update=function(t){var e;return this.data.update=t,this.isSignificant()&&(e=this.selectPlaceholder())?(this.forgetPlaceholder(),this.range=e):void 0},e.prototype.end=function(t){var e,n,i,o;return this.data.end=t,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.setSelectedRange(this.range),null!=(i=this.responder)&&i.insertString(this.data.end),null!=(o=this.responder)?o.setSelectedRange(this.range[0]+this.data.end.length):void 0):null!=this.data.start||null!=this.data.update?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset()},e.prototype.getEndData=function(){return this.data.end},e.prototype.isEnded=function(){return null!=this.getEndData()},e.prototype.isSignificant=function(){return n.composesExistingText?this.inputSummary.didInput:!0},e.prototype.canApplyToDocument=function(){var t,e;return 0===(null!=(t=this.data.start)?t.length:void 0)&&(null!=(e=this.data.end)?e.length:void 0)>0&&null!=this.range},e.proxyMethod(\"inputController.setInputSummary\"),e.proxyMethod(\"inputController.requestRender\"),e.proxyMethod(\"inputController.requestReparse\"),e.proxyMethod(\"responder?.selectionIsExpanded\"),e.proxyMethod(\"responder?.insertPlaceholder\"),e.proxyMethod(\"responder?.selectPlaceholder\"),e.proxyMethod(\"responder?.forgetPlaceholder\"),e}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.dataTransferIsPlainText,n=e.keyEventIsKeyboardCommand,i=e.objectsAreEqual,e.Level2InputController=function(s){function u(){return this.render=o(this.render,this),u.__super__.constructor.apply(this,arguments)}var c,l,h,p,d,f;return r(u,s),u.prototype.elementDidMutate=function(){var t;return this.scheduledRender?this.composing&&null!=(t=this.delegate)&&\"function\"==typeof t.inputControllerDidAllowUnhandledInput?t.inputControllerDidAllowUnhandledInput():void 0:this.reparse()},u.prototype.scheduleRender=function(){return null!=this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)},u.prototype.render=function(){var t;return cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing||null!=(t=this.delegate)&&t.render(),\"function\"==typeof this.afterRender&&this.afterRender(),this.afterRender=null},u.prototype.reparse=function(){var t;return null!=(t=this.delegate)?t.reparse():void 0},u.prototype.events={keydown:function(t){var e,i,o,r;if(n(t)){if(e=l(t),null!=(r=this.delegate)?r.inputControllerDidReceiveKeyboardCommand(e):void 0)return t.preventDefault()}else if(o=t.key,t.altKey&&(o+=\"+Alt\"),t.shiftKey&&(o+=\"+Shift\"),i=this.keys[o])return this.withEvent(t,i)},paste:function(t){var e,n,i,o,r,s,a,u,c;return h(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):p(t)?(t.preventDefault(),n={type:\"text/plain\",string:t.clipboardData.getData(\"text/plain\")},null!=(i=this.delegate)&&i.inputControllerWillPaste(n),null!=(o=this.responder)&&o.insertString(n.string),this.render(),null!=(r=this.delegate)?r.inputControllerDidPaste(n):void 0):(e=null!=(s=t.clipboardData)?s.getData(\"URL\"):void 0)?(t.preventDefault(),n={type:\"text/html\",html:this.createLinkHTML(e)},null!=(a=this.delegate)&&a.inputControllerWillPaste(n),null!=(u=this.responder)&&u.insertHTML(n.html),this.render(),null!=(c=this.delegate)?c.inputControllerDidPaste(n):void 0):void 0},beforeinput:function(t){var e;return(e=this.inputTypes[t.inputType])?(this.withEvent(t,e),this.scheduleRender()):void 0},input:function(){return e.selectionChangeObserver.reset()},dragstart:function(t){var e,n;return(null!=(e=this.responder)?e.selectionContainsAttachments():void 0)?(t.dataTransfer.setData(\"application/x-trix-dragging\",!0),this.dragging={range:null!=(n=this.responder)?n.getSelectedRange():void 0,point:d(t)}):void 0},dragenter:function(t){return c(t)?t.preventDefault():void 0},dragover:function(t){var e,n;if(this.dragging){if(t.preventDefault(),e=d(t),!i(e,this.dragging.point))return this.dragging.point=e,null!=(n=this.responder)?n.setLocationRangeFromPointRange(e):void 0}else if(c(t))return t.preventDefault()},drop:function(t){var e,n,i,o;return this.dragging?(t.preventDefault(),null!=(n=this.delegate)&&n.inputControllerWillMoveText(),null!=(i=this.responder)&&i.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender()):c(t)?(t.preventDefault(),e=d(t),null!=(o=this.responder)&&o.setLocationRangeFromPointRange(e),this.attachFiles(t.dataTransfer.files)):void 0},dragend:function(){var t;return this.dragging?(null!=(t=this.responder)&&t.setSelectedRange(this.dragging.range),this.dragging=null):void 0},compositionend:function(){return this.composing?(this.composing=!1,this.scheduleRender()):void 0}},u.prototype.keys={ArrowLeft:function(){var t,e;return(null!=(t=this.responder)?t.shouldManageMovingCursorInDirection(\"backward\"):void 0)?(this.event.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection(\"backward\"):void 0):void 0},ArrowRight:function(){var t,e;return(null!=(t=this.responder)?t.shouldManageMovingCursorInDirection(\"forward\"):void 0)?(this.event.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection(\"forward\"):void 0):void 0},Backspace:function(){var t,e,n;return(null!=(t=this.responder)?t.shouldManageDeletingInDirection(\"backward\"):void 0)?(this.event.preventDefault(),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.deleteInDirection(\"backward\"),this.render()):void 0},Tab:function(){var t,e;return(null!=(t=this.responder)?t.canIncreaseNestingLevel():void 0)?(this.event.preventDefault(),null!=(e=this.responder)&&e.increaseNestingLevel(),this.render()):void 0},\"Tab+Shift\":function(){var t,e;return(null!=(t=this.responder)?t.canDecreaseNestingLevel():void 0)?(this.event.preventDefault(),null!=(e=this.responder)&&e.decreaseNestingLevel(),this.render()):void 0}},u.prototype.inputTypes={deleteByComposition:function(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteByCut:function(){return this.deleteInDirection(\"backward\")},deleteByDrag:function(){return this.event.preventDefault(),this.withTargetDOMRange(function(){var t;return this.deleteByDragRange=null!=(t=this.responder)?t.getSelectedRange():void 0})},deleteCompositionText:function(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteContent:function(){return this.deleteInDirection(\"backward\")},deleteContentBackward:function(){return this.deleteInDirection(\"backward\")},deleteContentForward:function(){return this.deleteInDirection(\"forward\")},deleteEntireSoftLine:function(){return this.deleteInDirection(\"forward\")},deleteHardLineBackward:function(){return this.deleteInDirection(\"backward\")},deleteHardLineForward:function(){return this.deleteInDirection(\"forward\")},deleteSoftLineBackward:function(){return this.deleteInDirection(\"backward\")},deleteSoftLineForward:function(){return this.deleteInDirection(\"forward\")},deleteWordBackward:function(){return this.deleteInDirection(\"backward\")},deleteWordForward:function(){return this.deleteInDirection(\"forward\")},formatBackColor:function(){return this.activateAttributeIfSupported(\"backgroundColor\",this.event.data)},formatBold:function(){return this.toggleAttributeIfSupported(\"bold\")},formatFontColor:function(){return this.activateAttributeIfSupported(\"color\",this.event.data)},formatFontName:function(){return this.activateAttributeIfSupported(\"font\",this.event.data)},formatIndent:function(){var t;return(null!=(t=this.responder)?t.canIncreaseNestingLevel():void 0)?this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.increaseNestingLevel():void 0}):void 0},formatItalic:function(){return this.toggleAttributeIfSupported(\"italic\")},formatJustifyCenter:function(){return this.toggleAttributeIfSupported(\"justifyCenter\")},formatJustifyFull:function(){return this.toggleAttributeIfSupported(\"justifyFull\")},formatJustifyLeft:function(){return this.toggleAttributeIfSupported(\"justifyLeft\")},formatJustifyRight:function(){return this.toggleAttributeIfSupported(\"justifyRight\")},formatOutdent:function(){var t;return(null!=(t=this.responder)?t.canDecreaseNestingLevel():void 0)?this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.decreaseNestingLevel():void 0}):void 0},formatRemove:function(){return this.withTargetDOMRange(function(){var t,e,n,i;i=[];for(t in null!=(e=this.responder)?e.getCurrentAttributes():void 0)i.push(null!=(n=this.responder)?n.removeCurrentAttribute(t):void 0);return i})},formatSetBlockTextDirection:function(){return this.activateAttributeIfSupported(\"blockDir\",this.event.data)},formatSetInlineTextDirection:function(){return this.activateAttributeIfSupported(\"textDir\",this.event.data)},formatStrikeThrough:function(){return this.toggleAttributeIfSupported(\"strike\")},formatSubscript:function(){return this.toggleAttributeIfSupported(\"sub\")},formatSuperscript:function(){return this.toggleAttributeIfSupported(\"sup\")},formatUnderline:function(){return this.toggleAttributeIfSupported(\"underline\")},historyRedo:function(){var t;return null!=(t=this.delegate)?t.inputControllerWillPerformRedo():void 0},historyUndo:function(){var t;return null!=(t=this.delegate)?t.inputControllerWillPerformUndo():void 0},insertCompositionText:function(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition:function(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop:function(){var t,e;return(t=this.deleteByDragRange)?(this.deleteByDragRange=null,null!=(e=this.delegate)&&e.inputControllerWillMoveText(),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.moveTextFromRange(t):void 0})):void 0},insertFromPaste:function(){var n,i,o,r,s,a,u,c,l,h,p;return n=this.event.dataTransfer,s={dataTransfer:n},(i=n.getData(\"URL\"))?(this.event.preventDefault(),s.type=\"text/html\",p=(r=n.getData(\"public.url-name\"))?e.squishBreakableWhitespace(r).trim():i,s.html=this.createLinkHTML(i,p),null!=(a=this.delegate)&&a.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertHTML(s.html):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):t(n)?(s.type=\"text/plain\",s.string=n.getData(\"text/plain\"),null!=(u=this.delegate)&&u.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertString(s.string):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):(o=n.getData(\"text/html\"))?(this.event.preventDefault(),s.type=\"text/html\",s.html=o,null!=(c=this.delegate)&&c.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertHTML(s.html):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):(null!=(l=n.files)?l.length:void 0)?(s.type=\"File\",s.file=n.files[0],null!=(h=this.delegate)&&h.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertFile(s.file):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):void 0},insertFromYank:function(){return this.insertString(this.event.data)},insertLineBreak:function(){return this.insertString(\"\\n\")},insertLink:function(){return this.activateAttributeIfSupported(\"href\",this.event.data)},insertOrderedList:function(){return this.toggleAttributeIfSupported(\"number\")},insertParagraph:function(){var t;return null!=(t=this.delegate)&&t.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertLineBreak():void 0})},insertReplacementText:function(){return this.insertString(this.event.dataTransfer.getData(\"text/plain\"),{updatePosition:!1})},insertText:function(){var t,e;return this.insertString(null!=(t=this.event.data)?t:null!=(e=this.event.dataTransfer)?e.getData(\"text/plain\"):void 0)},insertTranspose:function(){return this.insertString(this.event.data)},insertUnorderedList:function(){return this.toggleAttributeIfSupported(\"bullet\")}},u.prototype.insertString=function(t,e){var n;return null==t&&(t=\"\"),null!=(n=this.delegate)&&n.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var n;return null!=(n=this.responder)?n.insertString(t,e):void 0})},u.prototype.toggleAttributeIfSupported=function(t){var n;return a.call(e.getAllAttributeNames(),t)>=0?(null!=(n=this.delegate)&&n.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.toggleCurrentAttribute(t):void 0})):void 0},u.prototype.activateAttributeIfSupported=function(t,n){var i;return a.call(e.getAllAttributeNames(),t)>=0?(null!=(i=this.delegate)&&i.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.setCurrentAttribute(t,n):void 0})):void 0},u.prototype.deleteInDirection=function(t,e){var n,i,o,r;return o=(null!=e?e:{recordUndoEntry:!0}).recordUndoEntry,o&&null!=(r=this.delegate)&&r.inputControllerWillPerformTyping(),i=function(e){return function(){var n;return null!=(n=e.responder)?n.deleteInDirection(t):void 0}}(this),(n=this.getTargetDOMRange({minLength:2}))?this.withTargetDOMRange(n,i):i()},u.prototype.withTargetDOMRange=function(t,n){var i;return\"function\"==typeof t&&(n=t,t=this.getTargetDOMRange()),t?null!=(i=this.responder)?i.withTargetDOMRange(t,n.bind(this)):void 0:(e.selectionChangeObserver.reset(),n.call(this))},u.prototype.getTargetDOMRange=function(t){var e,n,i,o;return i=(null!=t?t:{minLength:0}).minLength,(o=\"function\"==typeof(e=this.event).getTargetRanges?e.getTargetRanges():void 0)&&o.length&&(n=f(o[0]),0===i||n.toString().length>=i)?n:void 0},f=function(t){var e;return e=document.createRange(),e.setStart(t.startContainer,t.startOffset),e.setEnd(t.endContainer,t.endOffset),e},u.prototype.withEvent=function(t,e){var n;this.event=t;try{n=e.call(this)}finally{this.event=null}return n},c=function(t){var e,n;return a.call(null!=(e=null!=(n=t.dataTransfer)?n.types:void 0)?e:[],\"Files\")>=0},h=function(t){var e;return(e=t.clipboardData)?a.call(e.types,\"Files\")>=0&&1===e.types.length&&e.files.length>=1:void 0},p=function(t){var e;return(e=t.clipboardData)?a.call(e.types,\"text/plain\")>=0&&1===e.types.length:void 0},l=function(t){var e;return e=[],t.altKey&&e.push(\"alt\"),t.shiftKey&&e.push(\"shift\"),e.push(t.key),e},d=function(t){return{x:t.clientX,y:t.clientY}},u}(e.InputController)}.call(this),function(){var t,n,i,o,r,s,a,u,c=function(t,e){return function(){return t.apply(e,arguments)}},l=function(t,e){function n(){this.constructor=t}for(var i in e)h.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty;n=e.defer,i=e.handleEvent,s=e.makeElement,u=e.tagName,a=e.config,r=a.lang,t=a.css,o=a.keyNames,e.AttachmentEditorController=function(a){function h(t,e,n,i){this.attachmentPiece=t,this.element=e,this.container=n,this.options=null!=i?i:{},this.didBlurCaption=c(this.didBlurCaption,this),this.didChangeCaption=c(this.didChangeCaption,this),this.didInputCaption=c(this.didInputCaption,this),this.didKeyDownCaption=c(this.didKeyDownCaption,this),this.didClickActionButton=c(this.didClickActionButton,this),this.didClickToolbar=c(this.didClickToolbar,this),this.attachment=this.attachmentPiece.attachment,\"a\"===u(this.element)&&(this.element=this.element.firstChild),this.install()}var p;return l(h,a),p=function(t){return function(){var e;return e=t.apply(this,arguments),e[\"do\"](),null==this.undos&&(this.undos=[]),this.undos.push(e.undo)}},h.prototype.install=function(){return this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()?this.installCaptionEditor():void 0},h.prototype.uninstall=function(){var t,e;for(this.savePendingCaption();e=this.undos.pop();)e();return null!=(t=this.delegate)?t.didUninstallAttachmentEditor(this):void 0},h.prototype.savePendingCaption=function(){var t,e,n;return null!=this.pendingCaption?(t=this.pendingCaption,this.pendingCaption=null,t?null!=(e=this.delegate)&&\"function\"==typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment?e.attachmentEditorDidRequestUpdatingAttributesForAttachment({caption:t},this.attachment):void 0:null!=(n=this.delegate)&&\"function\"==typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment?n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\",this.attachment):void 0):void 0},h.prototype.makeElementMutable=p(function(){return{\"do\":function(t){return function(){return t.element.dataset.trixMutable=!0}}(this),undo:function(t){return function(){return delete t.element.dataset.trixMutable}}(this)}}),h.prototype.addToolbar=p(function(){var n;return n=s({tagName:\"div\",className:t.attachmentToolbar,data:{trixMutable:!0},childNodes:s({tagName:\"div\",className:\"trix-button-row\",childNodes:s({tagName:\"span\",className:\"trix-button-group trix-button-group--actions\",childNodes:s({tagName:\"button\",className:\"trix-button trix-button--remove\",textContent:r.remove,attributes:{title:r.remove},data:{trixAction:\"remove\"}})})})}),this.attachment.isPreviewable()&&n.appendChild(s({tagName:\"div\",className:t.attachmentMetadataContainer,childNodes:s({tagName:\"span\",className:t.attachmentMetadata,childNodes:[s({tagName:\"span\",className:t.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),s({tagName:\"span\",className:t.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),i(\"click\",{onElement:n,withCallback:this.didClickToolbar}),i(\"click\",{onElement:n,matchingSelector:\"[data-trix-action]\",withCallback:this.didClickActionButton}),{\"do\":function(t){return function(){return t.element.appendChild(n)}}(this),undo:function(){return function(){return e.removeNode(n)}}(this)}}),h.prototype.installCaptionEditor=p(function(){var o,a,u,c,l;return c=s({tagName:\"textarea\",className:t.attachmentCaptionEditor,attributes:{placeholder:r.captionPlaceholder},data:{trixMutable:!0}}),c.value=this.attachmentPiece.getCaption(),l=c.cloneNode(),l.classList.add(\"trix-autoresize-clone\"),l.tabIndex=-1,o=function(){return l.value=c.value,c.style.height=l.scrollHeight+\"px\"},i(\"input\",{onElement:c,withCallback:o}),i(\"input\",{onElement:c,withCallback:this.didInputCaption}),i(\"keydown\",{onElement:c,withCallback:this.didKeyDownCaption}),i(\"change\",{onElement:c,withCallback:this.didChangeCaption}),i(\"blur\",{onElement:c,withCallback:this.didBlurCaption}),u=this.element.querySelector(\"figcaption\"),a=u.cloneNode(),{\"do\":function(e){return function(){return u.style.display=\"none\",a.appendChild(c),a.appendChild(l),a.classList.add(t.attachmentCaption+\"--editing\"),u.parentElement.insertBefore(a,u),o(),e.options.editCaption?n(function(){return c.focus()}):void 0}}(this),undo:function(){return e.removeNode(a),u.style.display=null}}}),h.prototype.didClickToolbar=function(t){return t.preventDefault(),t.stopPropagation()},h.prototype.didClickActionButton=function(t){var e,n;switch(e=t.target.getAttribute(\"data-trix-action\")){case\"remove\":return null!=(n=this.delegate)?n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment):void 0}},h.prototype.didKeyDownCaption=function(t){var e;return\"return\"===o[t.keyCode]?(t.preventDefault(),this.savePendingCaption(),null!=(e=this.delegate)&&\"function\"==typeof e.attachmentEditorDidRequestDeselectingAttachment?e.attachmentEditorDidRequestDeselectingAttachment(this.attachment):void 0):void 0},h.prototype.didInputCaption=function(t){return this.pendingCaption=t.target.value.replace(/\\s/g,\" \").trim()},h.prototype.didChangeCaption=function(){return this.savePendingCaption()},h.prototype.didBlurCaption=function(){return this.savePendingCaption()},h}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,t=e.config.css,e.AttachmentView=function(r){function s(){s.__super__.constructor.apply(this,arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}var a;return o(s,r),s.attachmentSelector=\"[data-trix-attachment]\",s.prototype.createContentNodes=function(){return[]},s.prototype.createNodes=function(){var e,n,o,r,s,u,c;if(e=r=i({tagName:\"figure\",className:this.getClassName(),data:this.getData(),editable:!1}),(n=this.getHref())&&(r=i({tagName:\"a\",editable:!1,attributes:{href:n,tabindex:-1}}),e.appendChild(r)),this.attachment.hasContent())r.innerHTML=this.attachment.getContent();else for(c=this.createContentNodes(),o=0,s=c.length;s>o;o++)u=c[o],r.appendChild(u);return r.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=i({tagName:\"progress\",attributes:{\"class\":t.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:[\"progressElement\",this.attachment.id].join(\"/\")}}),e.appendChild(this.progressElement)),[a(\"left\"),e,a(\"right\")]},s.prototype.createCaptionElement=function(){var e,n,o,r,s,a,u;return o=i({tagName:\"figcaption\",className:t.attachmentCaption}),(e=this.attachmentPiece.getCaption())?(o.classList.add(t.attachmentCaption+\"--edited\"),o.textContent=e):(n=this.getCaptionConfig(),n.name&&(r=this.attachment.getFilename()),n.size&&(a=this.attachment.getFormattedFilesize()),r&&(s=i({tagName:\"span\",className:t.attachmentName,textContent:r}),o.appendChild(s)),a&&(r&&o.appendChild(document.createTextNode(\" \")),u=i({tagName:\"span\",className:t.attachmentSize,textContent:a}),o.appendChild(u))),o},s.prototype.getClassName=function(){var e,n;return n=[t.attachment,t.attachment+\"--\"+this.attachment.getType()],(e=this.attachment.getExtension())&&n.push(t.attachment+\"--\"+e),n.join(\" \")},s.prototype.getData=function(){var t,e;return e={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},t=this.attachmentPiece.attributes,t.isEmpty()||(e.trixAttributes=JSON.stringify(t)),this.attachment.isPending()&&(e.trixSerialize=!1),e},s.prototype.getHref=function(){return n(this.attachment.getContent(),\"a\")?void 0:this.attachment.getHref()},s.prototype.getCaptionConfig=function(){var t,n,i;return i=this.attachment.getType(),t=e.copyObject(null!=(n=e.config.attachments[i])?n.caption:void 0),\"file\"===i&&(t.name=!0),t},s.prototype.findProgressElement=function(){var t;return null!=(t=this.findElement())?t.querySelector(\"progress\"):void 0},a=function(t){return i({tagName:\"span\",textContent:e.ZERO_WIDTH_SPACE,data:{trixCursorTarget:t,trixSerialize:!1}})},s.prototype.attachmentDidChangeUploadProgress=function(){var t,e;return e=this.attachment.getUploadProgress(),null!=(t=this.findProgressElement())?t.value=e:void 0},s}(e.ObjectView),n=function(t,e){var n;return n=i(\"div\"),n.innerHTML=null!=t?t:\"\",n.querySelector(e)}}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.makeElement,e.PreviewableAttachmentView=function(i){function o(){o.__super__.constructor.apply(this,arguments),this.attachment.previewDelegate=this}return n(o,i),o.prototype.createContentNodes=function(){return this.image=t({tagName:\"img\",attributes:{src:\"\"},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]},o.prototype.createCaptionElement=function(){var t;return t=o.__super__.createCaptionElement.apply(this,arguments),t.textContent||t.setAttribute(\"data-trix-placeholder\",e.config.lang.captionPlaceholder),t},o.prototype.refresh=function(t){var e;return null==t&&(t=null!=(e=this.findElement())?e.querySelector(\"img\"):void 0),t?this.updateAttributesForImage(t):void 0},o.prototype.updateAttributesForImage=function(t){var e,n,i,o,r,s;return r=this.attachment.getURL(),n=this.attachment.getPreviewURL(),t.src=n||r,n===r?t.removeAttribute(\"data-trix-serialized-attributes\"):(i=JSON.stringify({src:r}),t.setAttribute(\"data-trix-serialized-attributes\",i)),s=this.attachment.getWidth(),e=this.attachment.getHeight(),null!=s&&(t.width=s),null!=e&&(t.height=e),o=[\"imageElement\",this.attachment.id,t.src,t.width,t.height].join(\"/\"),t.dataset.trixStoreKey=o},o.prototype.attachmentDidChangeAttributes=function(){return this.refresh(this.image),this.refresh()},o}(e.AttachmentView)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,t=e.findInnerElement,n=e.getTextConfig,e.PieceView=function(r){function s(){var t;s.__super__.constructor.apply(this,arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),t=this.options,this.textConfig=t.textConfig,this.context=t.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}var a;return o(s,r),s.prototype.createNodes=function(){var e,n,i,o,r,s;if(s=this.attachment?this.createAttachmentNodes():this.createStringNodes(),e=this.createElement()){for(i=t(e),n=0,o=s.length;o>n;n++)r=s[n],i.appendChild(r);s=[e]}return s},s.prototype.createAttachmentNodes=function(){var t,n;return t=this.attachment.isPreviewable()?e.PreviewableAttachmentView:e.AttachmentView,n=this.createChildView(t,this.piece.attachment,{piece:this.piece}),n.getNodes()},s.prototype.createStringNodes=function(){var t,e,n,o,r,s,a,u,c,l;if(null!=(u=this.textConfig)?u.plaintext:void 0)return[document.createTextNode(this.string)];for(a=[],c=this.string.split(\"\\n\"),n=e=0,o=c.length;o>e;n=++e)l=c[n],n>0&&(t=i(\"br\"),a.push(t)),(r=l.length)&&(s=document.createTextNode(this.preserveSpaces(l)),a.push(s));return a},s.prototype.createElement=function(){var t,e,o,r,s,a,u,c,l;c={},a=this.attributes;for(r in a)if(l=a[r],(t=n(r))&&(t.tagName&&(s=i(t.tagName),o?(o.appendChild(s),o=s):e=o=s),t.styleProperty&&(c[t.styleProperty]=l),t.style)){u=t.style;for(r in u)l=u[r],c[r]=l}if(Object.keys(c).length){null==e&&(e=i(\"span\"));for(r in c)l=c[r],e.style[r]=l}return e},s.prototype.createContainerElement=function(){var t,e,o,r,s;r=this.attributes;for(o in r)if(s=r[o],(e=n(o))&&e.groupTagName)return t={},t[o]=s,i(e.groupTagName,t)},a=e.NON_BREAKING_SPACE,s.prototype.preserveSpaces=function(t){return this.context.isLast&&(t=t.replace(/\\ $/,a)),t=t.replace(/(\\S)\\ {3}(\\S)/g,\"$1 \"+a+\" $2\").replace(/\\ {2}/g,a+\" \").replace(/\\ {2}/g,\" \"+a),(this.context.isFirst||this.context.followsWhitespace)&&(t=t.replace(/^\\ /,a)),t},s}(e.ObjectView)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t\n}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.TextView=function(n){function i(){i.__super__.constructor.apply(this,arguments),this.text=this.object,this.textConfig=this.options.textConfig}var o;return t(i,n),i.prototype.createNodes=function(){var t,n,i,r,s,a,u,c,l,h;for(a=[],c=e.ObjectGroup.groupObjects(this.getPieces()),r=c.length-1,i=n=0,s=c.length;s>n;i=++n)u=c[i],t={},0===i&&(t.isFirst=!0),i===r&&(t.isLast=!0),o(l)&&(t.followsWhitespace=!0),h=this.findOrCreateCachedChildView(e.PieceView,u,{textConfig:this.textConfig,context:t}),a.push.apply(a,h.getNodes()),l=u;return a},i.prototype.getPieces=function(){var t,e,n,i,o;for(i=this.text.getPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],n.hasAttribute(\"blockBreak\")||o.push(n);return o},o=function(t){return/\\s$/.test(null!=t?t.toString():void 0)},i}(e.ObjectView)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,n=e.getBlockConfig,t=e.config.css,e.BlockView=function(r){function s(){s.__super__.constructor.apply(this,arguments),this.block=this.object,this.attributes=this.block.getAttributes()}return o(s,r),s.prototype.createNodes=function(){var t,o,r,s,a,u,c,l,h,p,d;if(o=document.createComment(\"block\"),c=[o],this.block.isEmpty()?c.push(i(\"br\")):(p=null!=(l=n(this.block.getLastAttribute()))?l.text:void 0,d=this.findOrCreateCachedChildView(e.TextView,this.block.text,{textConfig:p}),c.push.apply(c,d.getNodes()),this.shouldAddExtraNewlineElement()&&c.push(i(\"br\"))),this.attributes.length)return c;for(h=e.config.blockAttributes[\"default\"].tagName,this.block.isRTL()&&(t={dir:\"rtl\"}),r=i({tagName:h,attributes:t}),s=0,a=c.length;a>s;s++)u=c[s],r.appendChild(u);return[r]},s.prototype.createContainerElement=function(e){var o,r,s,a,u;return o=this.attributes[e],u=n(o).tagName,0===e&&this.block.isRTL()&&(r={dir:\"rtl\"}),\"attachmentGallery\"===o&&(a=this.block.getBlockBreakPosition(),s=t.attachmentGallery+\" \"+t.attachmentGallery+\"--\"+a),i({tagName:u,className:s,attributes:r})},s.prototype.shouldAddExtraNewlineElement=function(){return/\\n\\n$/.test(this.block.toString())},s}(e.ObjectView)}.call(this),function(){var t,n,i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty;t=e.defer,n=e.makeElement,e.DocumentView=function(o){function r(){r.__super__.constructor.apply(this,arguments),this.element=this.options.element,this.elementStore=new e.ElementStore,this.setDocument(this.object)}var s,a,u;return i(r,o),r.render=function(t){var e,i;return e=n(\"div\"),i=new this(t,{element:e}),i.render(),i.sync(),e},r.prototype.setDocument=function(t){return t.isEqualTo(this.document)?void 0:this.document=this.object=t},r.prototype.render=function(){var t,i,o,r,s,a,u;if(this.childViews=[],this.shadowElement=n(\"div\"),!this.document.isEmpty()){for(s=e.ObjectGroup.groupObjects(this.document.getBlocks(),{asTree:!0}),a=[],t=0,i=s.length;i>t;t++)r=s[t],u=this.findOrCreateCachedChildView(e.BlockView,r),a.push(function(){var t,e,n,i;for(n=u.getNodes(),i=[],t=0,e=n.length;e>t;t++)o=n[t],i.push(this.shadowElement.appendChild(o));return i}.call(this));return a}},r.prototype.isSynced=function(){return s(this.shadowElement,this.element)},r.prototype.sync=function(){var t;for(t=this.createDocumentFragmentForSync();this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(t),this.didSync()},r.prototype.didSync=function(){return this.elementStore.reset(a(this.element)),t(function(t){return function(){return t.garbageCollectCachedViews()}}(this))},r.prototype.createDocumentFragmentForSync=function(){var t,e,n,i,o,r,s,u,c,l;for(e=document.createDocumentFragment(),u=this.shadowElement.childNodes,n=0,o=u.length;o>n;n++)s=u[n],e.appendChild(s.cloneNode(!0));for(c=a(e),i=0,r=c.length;r>i;i++)t=c[i],(l=this.elementStore.remove(t))&&t.parentNode.replaceChild(l,t);return e},a=function(t){return t.querySelectorAll(\"[data-trix-store-key]\")},s=function(t,e){return u(t.innerHTML)===u(e.innerHTML)},u=function(t){return t.replace(/ /g,\" \")},r}(e.ObjectView)}.call(this),function(){var t,n,i,o,r,s=function(t,e){return function(){return t.apply(e,arguments)}},a=function(t,e){function n(){this.constructor=t}for(var i in e)u.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},u={}.hasOwnProperty;i=e.findClosestElementFromNode,o=e.handleEvent,r=e.innerElementIsActive,n=e.defer,t=e.AttachmentView.attachmentSelector,e.CompositionController=function(u){function c(n,i){this.element=n,this.composition=i,this.didClickAttachment=s(this.didClickAttachment,this),this.didBlur=s(this.didBlur,this),this.didFocus=s(this.didFocus,this),this.documentView=new e.DocumentView(this.composition.document,{element:this.element}),o(\"focus\",{onElement:this.element,withCallback:this.didFocus}),o(\"blur\",{onElement:this.element,withCallback:this.didBlur}),o(\"click\",{onElement:this.element,matchingSelector:\"a[contenteditable=false]\",preventDefault:!0}),o(\"mousedown\",{onElement:this.element,matchingSelector:t,withCallback:this.didClickAttachment}),o(\"click\",{onElement:this.element,matchingSelector:\"a\"+t,preventDefault:!0})}return a(c,u),c.prototype.didFocus=function(){var t,e,n;return t=function(t){return function(){var e;return t.focused?void 0:(t.focused=!0,null!=(e=t.delegate)&&\"function\"==typeof e.compositionControllerDidFocus?e.compositionControllerDidFocus():void 0)}}(this),null!=(e=null!=(n=this.blurPromise)?n.then(t):void 0)?e:t()},c.prototype.didBlur=function(){return this.blurPromise=new Promise(function(t){return function(e){return n(function(){var n;return r(t.element)||(t.focused=null,null!=(n=t.delegate)&&\"function\"==typeof n.compositionControllerDidBlur&&n.compositionControllerDidBlur()),t.blurPromise=null,e()})}}(this))},c.prototype.didClickAttachment=function(t,e){var n,o,r;return n=this.findAttachmentForElement(e),o=null!=i(t.target,{matchingSelector:\"figcaption\"}),null!=(r=this.delegate)&&\"function\"==typeof r.compositionControllerDidSelectAttachment?r.compositionControllerDidSelectAttachment(n,{editCaption:o}):void 0},c.prototype.getSerializableElement=function(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element},c.prototype.render=function(){var t,e,n;return this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced()&&(null!=(t=this.delegate)&&\"function\"==typeof t.compositionControllerWillSyncDocumentView&&t.compositionControllerWillSyncDocumentView(),this.documentView.sync(),null!=(e=this.delegate)&&\"function\"==typeof e.compositionControllerDidSyncDocumentView&&e.compositionControllerDidSyncDocumentView()),null!=(n=this.delegate)&&\"function\"==typeof n.compositionControllerDidRender?n.compositionControllerDidRender():void 0},c.prototype.rerenderViewForObject=function(t){return this.invalidateViewForObject(t),this.render()},c.prototype.invalidateViewForObject=function(t){return this.documentView.invalidateViewForObject(t)},c.prototype.isViewCachingEnabled=function(){return this.documentView.isViewCachingEnabled()},c.prototype.enableViewCaching=function(){return this.documentView.enableViewCaching()},c.prototype.disableViewCaching=function(){return this.documentView.disableViewCaching()},c.prototype.refreshViewCache=function(){return this.documentView.garbageCollectCachedViews()},c.prototype.isEditingAttachment=function(){return null!=this.attachmentEditor},c.prototype.installAttachmentEditorForAttachment=function(t,n){var i,o,r;if((null!=(r=this.attachmentEditor)?r.attachment:void 0)!==t&&(o=this.documentView.findElementForObject(t)))return this.uninstallAttachmentEditor(),i=this.composition.document.getAttachmentPieceForAttachment(t),this.attachmentEditor=new e.AttachmentEditorController(i,o,this.element,n),this.attachmentEditor.delegate=this},c.prototype.uninstallAttachmentEditor=function(){var t;return null!=(t=this.attachmentEditor)?t.uninstall():void 0},c.prototype.didUninstallAttachmentEditor=function(){return this.attachmentEditor=null,this.render()},c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment=function(t,e){var n;return null!=(n=this.delegate)&&\"function\"==typeof n.compositionControllerWillUpdateAttachment&&n.compositionControllerWillUpdateAttachment(e),this.composition.updateAttributesForAttachment(t,e)},c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment=function(t,e){var n;return null!=(n=this.delegate)&&\"function\"==typeof n.compositionControllerWillUpdateAttachment&&n.compositionControllerWillUpdateAttachment(e),this.composition.removeAttributeForAttachment(t,e)},c.prototype.attachmentEditorDidRequestRemovalOfAttachment=function(t){var e;return null!=(e=this.delegate)&&\"function\"==typeof e.compositionControllerDidRequestRemovalOfAttachment?e.compositionControllerDidRequestRemovalOfAttachment(t):void 0},c.prototype.attachmentEditorDidRequestDeselectingAttachment=function(t){var e;return null!=(e=this.delegate)&&\"function\"==typeof e.compositionControllerDidRequestDeselectingAttachment?e.compositionControllerDidRequestDeselectingAttachment(t):void 0},c.prototype.canSyncDocumentView=function(){return!this.isEditingAttachment()},c.prototype.findAttachmentForElement=function(t){return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId,10))},c}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty;n=e.handleEvent,i=e.triggerEvent,t=e.findClosestElementFromNode,e.ToolbarController=function(e){function s(t){this.element=t,this.didKeyDownDialogInput=o(this.didKeyDownDialogInput,this),this.didClickDialogButton=o(this.didClickDialogButton,this),this.didClickAttributeButton=o(this.didClickAttributeButton,this),this.didClickActionButton=o(this.didClickActionButton,this),this.attributes={},this.actions={},this.resetDialogInputs(),n(\"mousedown\",{onElement:this.element,matchingSelector:a,withCallback:this.didClickActionButton}),n(\"mousedown\",{onElement:this.element,matchingSelector:c,withCallback:this.didClickAttributeButton}),n(\"click\",{onElement:this.element,matchingSelector:v,preventDefault:!0}),n(\"click\",{onElement:this.element,matchingSelector:l,withCallback:this.didClickDialogButton}),n(\"keydown\",{onElement:this.element,matchingSelector:h,withCallback:this.didKeyDownDialogInput})}var a,u,c,l,h,p,d,f,g,m,v;return r(s,e),c=\"[data-trix-attribute]\",a=\"[data-trix-action]\",v=c+\", \"+a,p=\"[data-trix-dialog]\",u=p+\"[data-trix-active]\",l=p+\" [data-trix-method]\",h=p+\" [data-trix-input]\",s.prototype.didClickActionButton=function(t,e){var n,i,o;return null!=(i=this.delegate)&&i.toolbarDidClickButton(),t.preventDefault(),n=d(e),this.getDialog(n)?this.toggleDialog(n):null!=(o=this.delegate)?o.toolbarDidInvokeAction(n):void 0},s.prototype.didClickAttributeButton=function(t,e){var n,i,o;return null!=(i=this.delegate)&&i.toolbarDidClickButton(),t.preventDefault(),n=f(e),this.getDialog(n)?this.toggleDialog(n):null!=(o=this.delegate)&&o.toolbarDidToggleAttribute(n),this.refreshAttributeButtons()},s.prototype.didClickDialogButton=function(e,n){var i,o;return i=t(n,{matchingSelector:p}),o=n.getAttribute(\"data-trix-method\"),this[o].call(this,i)},s.prototype.didKeyDownDialogInput=function(t,e){var n,i;return 13===t.keyCode&&(t.preventDefault(),n=e.getAttribute(\"name\"),i=this.getDialog(n),this.setAttribute(i)),27===t.keyCode?(t.preventDefault(),this.hideDialog()):void 0},s.prototype.updateActions=function(t){return this.actions=t,this.refreshActionButtons()},s.prototype.refreshActionButtons=function(){return this.eachActionButton(function(t){return function(e,n){return e.disabled=t.actions[n]===!1}}(this))},s.prototype.eachActionButton=function(t){var e,n,i,o,r;for(o=this.element.querySelectorAll(a),r=[],n=0,i=o.length;i>n;n++)e=o[n],r.push(t(e,d(e)));return r},s.prototype.updateAttributes=function(t){return this.attributes=t,this.refreshAttributeButtons()},s.prototype.refreshAttributeButtons=function(){return this.eachAttributeButton(function(t){return function(e,n){return e.disabled=t.attributes[n]===!1,t.attributes[n]||t.dialogIsVisible(n)?(e.setAttribute(\"data-trix-active\",\"\"),e.classList.add(\"trix-active\")):(e.removeAttribute(\"data-trix-active\"),e.classList.remove(\"trix-active\"))}}(this))},s.prototype.eachAttributeButton=function(t){var e,n,i,o,r;for(o=this.element.querySelectorAll(c),r=[],n=0,i=o.length;i>n;n++)e=o[n],r.push(t(e,f(e)));return r},s.prototype.applyKeyboardCommand=function(t){var e,n,o,r,s,a,u;for(s=JSON.stringify(t.sort()),u=this.element.querySelectorAll(\"[data-trix-key]\"),r=0,a=u.length;a>r;r++)if(e=u[r],o=e.getAttribute(\"data-trix-key\").split(\"+\"),n=JSON.stringify(o.sort()),n===s)return i(\"mousedown\",{onElement:e}),!0;return!1},s.prototype.dialogIsVisible=function(t){var e;return(e=this.getDialog(t))?e.hasAttribute(\"data-trix-active\"):void 0},s.prototype.toggleDialog=function(t){return this.dialogIsVisible(t)?this.hideDialog():this.showDialog(t)},s.prototype.showDialog=function(t){var e,n,i,o,r,s,a,u,c,l;for(this.hideDialog(),null!=(a=this.delegate)&&a.toolbarWillShowDialog(),i=this.getDialog(t),i.setAttribute(\"data-trix-active\",\"\"),i.classList.add(\"trix-active\"),u=i.querySelectorAll(\"input[disabled]\"),o=0,s=u.length;s>o;o++)n=u[o],n.removeAttribute(\"disabled\");return(e=f(i))&&(r=m(i,t))&&(r.value=null!=(c=this.attributes[e])?c:\"\",r.select()),null!=(l=this.delegate)?l.toolbarDidShowDialog(t):void 0},s.prototype.setAttribute=function(t){var e,n,i;return e=f(t),n=m(t,e),n.willValidate&&!n.checkValidity()?(n.setAttribute(\"data-trix-validate\",\"\"),n.classList.add(\"trix-validate\"),n.focus()):(null!=(i=this.delegate)&&i.toolbarDidUpdateAttribute(e,n.value),this.hideDialog())},s.prototype.removeAttribute=function(t){var e,n;return e=f(t),null!=(n=this.delegate)&&n.toolbarDidRemoveAttribute(e),this.hideDialog()},s.prototype.hideDialog=function(){var t,e;return(t=this.element.querySelector(u))?(t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\"),this.resetDialogInputs(),null!=(e=this.delegate)?e.toolbarDidHideDialog(g(t)):void 0):void 0},s.prototype.resetDialogInputs=function(){var t,e,n,i,o;for(i=this.element.querySelectorAll(h),o=[],t=0,n=i.length;n>t;t++)e=i[t],e.setAttribute(\"disabled\",\"disabled\"),e.removeAttribute(\"data-trix-validate\"),o.push(e.classList.remove(\"trix-validate\"));return o},s.prototype.getDialog=function(t){return this.element.querySelector(\"[data-trix-dialog=\"+t+\"]\")},m=function(t,e){return null==e&&(e=f(t)),t.querySelector(\"[data-trix-input][name='\"+e+\"']\")},d=function(t){return t.getAttribute(\"data-trix-action\")},f=function(t){var e;return null!=(e=t.getAttribute(\"data-trix-attribute\"))?e:t.getAttribute(\"data-trix-dialog-attribute\")},g=function(t){return t.getAttribute(\"data-trix-dialog\")},s}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ImagePreloadOperation=function(e){function n(t){this.url=t}return t(n,e),n.prototype.perform=function(t){var e;return e=new Image,e.onload=function(n){return function(){return e.width=n.width=e.naturalWidth,e.height=n.height=e.naturalHeight,t(!0,e)}}(this),e.onerror=function(){return t(!1)},e.src=this.url},n}(e.Operation)}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}},n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;e.Attachment=function(i){function o(n){null==n&&(n={}),this.releaseFile=t(this.releaseFile,this),o.__super__.constructor.apply(this,arguments),this.attributes=e.Hash.box(n),this.didChangeAttributes()}return n(o,i),o.previewablePattern=/^image(\\/(gif|png|jpe?g)|$)/,o.attachmentForFile=function(t){var e,n;return n=this.attributesForFile(t),e=new this(n),e.setFile(t),e},o.attributesForFile=function(t){return new e.Hash({filename:t.name,filesize:t.size,contentType:t.type})},o.fromJSON=function(t){return new this(t)},o.prototype.getAttribute=function(t){return this.attributes.get(t)},o.prototype.hasAttribute=function(t){return this.attributes.has(t)},o.prototype.getAttributes=function(){return this.attributes.toObject()},o.prototype.setAttributes=function(t){var e,n,i;return null==t&&(t={}),e=this.attributes.merge(t),this.attributes.isEqualTo(e)?void 0:(this.attributes=e,this.didChangeAttributes(),null!=(n=this.previewDelegate)&&\"function\"==typeof n.attachmentDidChangeAttributes&&n.attachmentDidChangeAttributes(this),null!=(i=this.delegate)&&\"function\"==typeof i.attachmentDidChangeAttributes?i.attachmentDidChangeAttributes(this):void 0)},o.prototype.didChangeAttributes=function(){return this.isPreviewable()?this.preloadURL():void 0},o.prototype.isPending=function(){return null!=this.file&&!(this.getURL()||this.getHref())},o.prototype.isPreviewable=function(){return this.attributes.has(\"previewable\")?this.attributes.get(\"previewable\"):this.constructor.previewablePattern.test(this.getContentType())},o.prototype.getType=function(){return this.hasContent()?\"content\":this.isPreviewable()?\"preview\":\"file\"},o.prototype.getURL=function(){return this.attributes.get(\"url\")},o.prototype.getHref=function(){return this.attributes.get(\"href\")},o.prototype.getFilename=function(){var t;return null!=(t=this.attributes.get(\"filename\"))?t:\"\"},o.prototype.getFilesize=function(){return this.attributes.get(\"filesize\")},o.prototype.getFormattedFilesize=function(){var t;return t=this.attributes.get(\"filesize\"),\"number\"==typeof t?e.config.fileSize.formatter(t):\"\"},o.prototype.getExtension=function(){var t;return null!=(t=this.getFilename().match(/\\.(\\w+)$/))?t[1].toLowerCase():void 0},o.prototype.getContentType=function(){return this.attributes.get(\"contentType\")},o.prototype.hasContent=function(){return this.attributes.has(\"content\")},o.prototype.getContent=function(){return this.attributes.get(\"content\")},o.prototype.getWidth=function(){return this.attributes.get(\"width\")},o.prototype.getHeight=function(){return this.attributes.get(\"height\")},o.prototype.getFile=function(){return this.file},o.prototype.setFile=function(t){return this.file=t,this.isPreviewable()?this.preloadFile():void 0},o.prototype.releaseFile=function(){return this.releasePreloadedFile(),this.file=null},o.prototype.getUploadProgress=function(){var t;return null!=(t=this.uploadProgress)?t:0},o.prototype.setUploadProgress=function(t){var e;return this.uploadProgress!==t?(this.uploadProgress=t,null!=(e=this.uploadProgressDelegate)&&\"function\"==typeof e.attachmentDidChangeUploadProgress?e.attachmentDidChangeUploadProgress(this):void 0):void 0},o.prototype.toJSON=function(){return this.getAttributes()},o.prototype.getCacheKey=function(){return[o.__super__.getCacheKey.apply(this,arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join(\"/\")},o.prototype.getPreviewURL=function(){return this.previewURL||this.preloadingURL},o.prototype.setPreviewURL=function(t){var e,n;return t!==this.getPreviewURL()?(this.previewURL=t,null!=(e=this.previewDelegate)&&\"function\"==typeof e.attachmentDidChangeAttributes&&e.attachmentDidChangeAttributes(this),null!=(n=this.delegate)&&\"function\"==typeof n.attachmentDidChangePreviewURL?n.attachmentDidChangePreviewURL(this):void 0):void 0},o.prototype.preloadURL=function(){return this.preload(this.getURL(),this.releaseFile)},o.prototype.preloadFile=function(){return this.file?(this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)):void 0},o.prototype.releasePreloadedFile=function(){return this.fileObjectURL?(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null):void 0},o.prototype.preload=function(t,n){var i;return t&&t!==this.getPreviewURL()?(this.preloadingURL=t,i=new e.ImagePreloadOperation(t),i.then(function(e){return function(i){var o,r;return r=i.width,o=i.height,e.getWidth()&&e.getHeight()||e.setAttributes({width:r,height:o}),e.preloadingURL=null,e.setPreviewURL(t),\"function\"==typeof n?n():void 0}}(this))[\"catch\"](function(t){return function(){return t.preloadingURL=null,\"function\"==typeof n?n():void 0}}(this))):void 0},o}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Piece=function(n){function i(t,n){null==n&&(n={}),i.__super__.constructor.apply(this,arguments),this.attributes=e.Hash.box(n)}return t(i,n),i.types={},i.registerType=function(t,e){return e.type=t,this.types[t]=e},i.fromJSON=function(t){var e;return(e=this.types[t.type])?e.fromJSON(t):void 0},i.prototype.copyWithAttributes=function(t){return new this.constructor(this.getValue(),t)},i.prototype.copyWithAdditionalAttributes=function(t){return this.copyWithAttributes(this.attributes.merge(t))},i.prototype.copyWithoutAttribute=function(t){return this.copyWithAttributes(this.attributes.remove(t))},i.prototype.copy=function(){return this.copyWithAttributes(this.attributes)},i.prototype.getAttribute=function(t){return this.attributes.get(t)},i.prototype.getAttributesHash=function(){return this.attributes},i.prototype.getAttributes=function(){return this.attributes.toObject()},i.prototype.getCommonAttributes=function(){var t,e,n;return(n=pieceList.getPieceAtIndex(0))?(t=n.attributes,e=t.getKeys(),pieceList.eachPiece(function(n){return e=t.getKeysCommonToHash(n.attributes),t=t.slice(e)}),t.toObject()):{}},i.prototype.hasAttribute=function(t){return this.attributes.has(t)},i.prototype.hasSameStringValueAsPiece=function(t){return null!=t&&this.toString()===t.toString()},i.prototype.hasSameAttributesAsPiece=function(t){return null!=t&&(this.attributes===t.attributes||this.attributes.isEqualTo(t.attributes))},i.prototype.isBlockBreak=function(){return!1},i.prototype.isEqualTo=function(t){return i.__super__.isEqualTo.apply(this,arguments)||this.hasSameConstructorAs(t)&&this.hasSameStringValueAsPiece(t)&&this.hasSameAttributesAsPiece(t)},i.prototype.isEmpty=function(){return 0===this.length},i.prototype.isSerializable=function(){return!0},i.prototype.toJSON=function(){return{type:this.constructor.type,attributes:this.getAttributes()}},i.prototype.contentsForInspection=function(){return{type:this.constructor.type,attributes:this.attributes.inspect()}},i.prototype.canBeGrouped=function(){return this.hasAttribute(\"href\")},i.prototype.canBeGroupedWith=function(t){return this.getAttribute(\"href\")===t.getAttribute(\"href\")},i.prototype.getLength=function(){return this.length},i.prototype.canBeConsolidatedWith=function(){return!1},i}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Piece.registerType(\"attachment\",e.AttachmentPiece=function(n){function i(t){this.attachment=t,i.__super__.constructor.apply(this,arguments),this.length=1,this.ensureAttachmentExclusivelyHasAttribute(\"href\"),this.attachment.hasContent()||this.removeProhibitedAttributes()}return t(i,n),i.fromJSON=function(t){return new this(e.Attachment.fromJSON(t.attachment),t.attributes)},i.permittedAttributes=[\"caption\",\"presentation\"],i.prototype.ensureAttachmentExclusivelyHasAttribute=function(t){return this.hasAttribute(t)?(this.attachment.hasAttribute(t)||this.attachment.setAttributes(this.attributes.slice(t)),this.attributes=this.attributes.remove(t)):void 0},i.prototype.removeProhibitedAttributes=function(){var t;return t=this.attributes.slice(this.constructor.permittedAttributes),t.isEqualTo(this.attributes)?void 0:this.attributes=t},i.prototype.getValue=function(){return this.attachment},i.prototype.isSerializable=function(){return!this.attachment.isPending()},i.prototype.getCaption=function(){var t;return null!=(t=this.attributes.get(\"caption\"))?t:\"\"},i.prototype.isEqualTo=function(t){var e;return i.__super__.isEqualTo.apply(this,arguments)&&this.attachment.id===(null!=t&&null!=(e=t.attachment)?e.id:void 0)},i.prototype.toString=function(){return e.OBJECT_REPLACEMENT_CHARACTER},i.prototype.toJSON=function(){var t;return t=i.__super__.toJSON.apply(this,arguments),t.attachment=this.attachment,t},i.prototype.getCacheKey=function(){return[i.__super__.getCacheKey.apply(this,arguments),this.attachment.getCacheKey()].join(\"/\")},i.prototype.toConsole=function(){return JSON.stringify(this.toString())},i}(e.Piece))}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.normalizeNewlines,e.Piece.registerType(\"string\",e.StringPiece=function(e){function i(e){i.__super__.constructor.apply(this,arguments),this.string=t(e),this.length=this.string.length}return n(i,e),i.fromJSON=function(t){return new this(t.string,t.attributes)},i.prototype.getValue=function(){return this.string},i.prototype.toString=function(){return this.string.toString()},i.prototype.isBlockBreak=function(){return\"\\n\"===this.toString()&&this.getAttribute(\"blockBreak\")===!0},i.prototype.toJSON=function(){var t;return t=i.__super__.toJSON.apply(this,arguments),t.string=this.string,t},i.prototype.canBeConsolidatedWith=function(t){return null!=t&&this.hasSameConstructorAs(t)&&this.hasSameAttributesAsPiece(t)},i.prototype.consolidateWith=function(t){return new this.constructor(this.toString()+t.toString(),this.attributes)},i.prototype.splitAtOffset=function(t){var e,n;return 0===t?(e=null,n=this):t===this.length?(e=this,n=null):(e=new this.constructor(this.string.slice(0,t),this.attributes),n=new this.constructor(this.string.slice(t),this.attributes)),[e,n]},i.prototype.toConsole=function(){var t;return t=this.string,t.length>15&&(t=t.slice(0,14)+\"\\u2026\"),JSON.stringify(t.toString())},i}(e.Piece))}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].slice;t=e.spliceArray,e.SplittableList=function(e){function i(t){null==t&&(t=[]),i.__super__.constructor.apply(this,arguments),this.objects=t.slice(0),this.length=this.objects.length}var r,s,a;return n(i,e),i.box=function(t){return t instanceof this?t:new this(t)},i.prototype.indexOf=function(t){return this.objects.indexOf(t)},i.prototype.splice=function(){var e;return e=1<=arguments.length?o.call(arguments,0):[],new this.constructor(t.apply(null,[this.objects].concat(o.call(e))))},i.prototype.eachObject=function(t){var e,n,i,o,r,s;for(r=this.objects,s=[],n=e=0,i=r.length;i>e;n=++e)o=r[n],s.push(t(o,n));return s},i.prototype.insertObjectAtIndex=function(t,e){return this.splice(e,0,t)},i.prototype.insertSplittableListAtIndex=function(t,e){return this.splice.apply(this,[e,0].concat(o.call(t.objects)))},i.prototype.insertSplittableListAtPosition=function(t,e){var n,i,o;return o=this.splitObjectAtPosition(e),i=o[0],n=o[1],new this.constructor(i).insertSplittableListAtIndex(t,n)},i.prototype.editObjectAtIndex=function(t,e){return this.replaceObjectAtIndex(e(this.objects[t]),t)},i.prototype.replaceObjectAtIndex=function(t,e){return this.splice(e,1,t)},i.prototype.removeObjectAtIndex=function(t){return this.splice(t,1)},i.prototype.getObjectAtIndex=function(t){return this.objects[t]},i.prototype.getSplittableListInRange=function(t){var e,n,i,o;return i=this.splitObjectsAtRange(t),n=i[0],e=i[1],o=i[2],new this.constructor(n.slice(e,o+1))},i.prototype.selectSplittableList=function(t){var e,n;return n=function(){var n,i,o,r;for(o=this.objects,r=[],n=0,i=o.length;i>n;n++)e=o[n],t(e)&&r.push(e);return r}.call(this),new this.constructor(n)},i.prototype.removeObjectsInRange=function(t){var e,n,i,o;return i=this.splitObjectsAtRange(t),n=i[0],e=i[1],o=i[2],new this.constructor(n).splice(e,o-e+1)},i.prototype.transformObjectsInRange=function(t,e){var n,i,o,r,s,a,u;return s=this.splitObjectsAtRange(t),r=s[0],i=s[1],a=s[2],u=function(){var t,s,u;for(u=[],n=t=0,s=r.length;s>t;n=++t)o=r[n],u.push(n>=i&&a>=n?e(o):o);return u}(),new this.constructor(u)},i.prototype.splitObjectsAtRange=function(t){var e,n,i,o,s,u;return o=this.splitObjectAtPosition(a(t)),n=o[0],e=o[1],i=o[2],s=new this.constructor(n).splitObjectAtPosition(r(t)+i),n=s[0],u=s[1],[n,e,u-1]},i.prototype.getObjectAtPosition=function(t){var e,n,i;return i=this.findIndexAndOffsetAtPosition(t),e=i.index,n=i.offset,this.objects[e]},i.prototype.splitObjectAtPosition=function(t){var e,n,i,o,r,s,a,u,c,l;return s=this.findIndexAndOffsetAtPosition(t),e=s.index,r=s.offset,o=this.objects.slice(0),null!=e?0===r?(c=e,l=0):(i=this.getObjectAtIndex(e),a=i.splitAtOffset(r),n=a[0],u=a[1],o.splice(e,1,n,u),c=e+1,l=n.getLength()-r):(c=o.length,l=0),[o,c,l]},i.prototype.consolidate=function(){var t,e,n,i,o,r;for(i=[],o=this.objects[0],r=this.objects.slice(1),t=0,e=r.length;e>t;t++)n=r[t],(\"function\"==typeof o.canBeConsolidatedWith?o.canBeConsolidatedWith(n):void 0)?o=o.consolidateWith(n):(i.push(o),o=n);return null!=o&&i.push(o),new this.constructor(i)},i.prototype.consolidateFromIndexToIndex=function(t,e){var n,i,r;return i=this.objects.slice(0),r=i.slice(t,e+1),n=new this.constructor(r).consolidate().toArray(),this.splice.apply(this,[t,r.length].concat(o.call(n)))},i.prototype.findIndexAndOffsetAtPosition=function(t){var e,n,i,o,r,s,a;for(e=0,a=this.objects,i=n=0,o=a.length;o>n;i=++n){if(s=a[i],r=e+s.getLength(),t>=e&&r>t)return{index:i,offset:t-e};e=r}return{index:null,offset:null}},i.prototype.findPositionAtIndexAndOffset=function(t,e){var n,i,o,r,s,a;for(s=0,a=this.objects,n=i=0,o=a.length;o>i;n=++i)if(r=a[n],t>n)s+=r.getLength();else if(n===t){s+=e;break}return s},i.prototype.getEndPosition=function(){var t,e;return null!=this.endPosition?this.endPosition:this.endPosition=function(){var n,i,o;for(e=0,o=this.objects,n=0,i=o.length;i>n;n++)t=o[n],e+=t.getLength();return e}.call(this)},i.prototype.toString=function(){return this.objects.join(\"\")},i.prototype.toArray=function(){return this.objects.slice(0)},i.prototype.toJSON=function(){return this.toArray()},i.prototype.isEqualTo=function(t){return i.__super__.isEqualTo.apply(this,arguments)||s(this.objects,null!=t?t.objects:void 0)},s=function(t,e){var n,i,o,r,s;if(null==e&&(e=[]),t.length!==e.length)return!1;for(s=!0,i=n=0,o=t.length;o>n;i=++n)r=t[i],s&&!r.isEqualTo(e[i])&&(s=!1);return s},i.prototype.contentsForInspection=function(){var t;return{objects:\"[\"+function(){var e,n,i,o;for(i=this.objects,o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(t.inspect());return o}.call(this).join(\", \")+\"]\"}},a=function(t){return t[0]},r=function(t){return t[1]},i}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Text=function(n){function i(t){var n;null==t&&(t=[]),i.__super__.constructor.apply(this,arguments),this.pieceList=new e.SplittableList(function(){var e,i,o;for(o=[],e=0,i=t.length;i>e;e++)n=t[e],n.isEmpty()||o.push(n);return o}())}return t(i,n),i.textForAttachmentWithAttributes=function(t,n){var i;return i=new e.AttachmentPiece(t,n),new this([i])},i.textForStringWithAttributes=function(t,n){var i;return i=new e.StringPiece(t,n),new this([i])},i.fromJSON=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(e.Piece.fromJSON(n));return r}(),new this(i)},i.prototype.copy=function(){return this.copyWithPieceList(this.pieceList)},i.prototype.copyWithPieceList=function(t){return new this.constructor(t.consolidate().toArray())},i.prototype.copyUsingObjectMap=function(t){var e,n;return n=function(){var n,i,o,r,s;for(o=this.getPieces(),s=[],n=0,i=o.length;i>n;n++)e=o[n],s.push(null!=(r=t.find(e))?r:e);return s}.call(this),new this.constructor(n)},i.prototype.appendText=function(t){return this.insertTextAtPosition(t,this.getLength())},i.prototype.insertTextAtPosition=function(t,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList,e))\n},i.prototype.removeTextAtRange=function(t){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t))},i.prototype.replaceTextAtRange=function(t,e){return this.removeTextAtRange(e).insertTextAtPosition(t,e[0])},i.prototype.moveTextFromRangeToPosition=function(t,e){var n,i;if(!(t[0]<=e&&e<=t[1]))return i=this.getTextAtRange(t),n=i.getLength(),t[0]t;t++)n=i[t],o.push(n.getAttributes());return o}.call(this),e.Hash.fromCommonAttributesOfObjects(t).toObject()},i.prototype.getCommonAttributesAtRange=function(t){var e;return null!=(e=this.getTextAtRange(t).getCommonAttributes())?e:{}},i.prototype.getExpandedRangeForAttributeAtOffset=function(t,e){var n,i,o;for(n=o=e,i=this.getLength();n>0&&this.getCommonAttributesAtRange([n-1,o])[t];)n--;for(;i>o&&this.getCommonAttributesAtRange([e,o+1])[t];)o++;return[n,o]},i.prototype.getTextAtRange=function(t){return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t))},i.prototype.getStringAtRange=function(t){return this.pieceList.getSplittableListInRange(t).toString()},i.prototype.getStringAtPosition=function(t){return this.getStringAtRange([t,t+1])},i.prototype.startsWithString=function(t){return this.getStringAtRange([0,t.length])===t},i.prototype.endsWithString=function(t){var e;return e=this.getLength(),this.getStringAtRange([e-t.length,e])===t},i.prototype.getAttachmentPieces=function(){var t,e,n,i,o;for(i=this.pieceList.toArray(),o=[],t=0,e=i.length;e>t;t++)n=i[t],null!=n.attachment&&o.push(n);return o},i.prototype.getAttachments=function(){var t,e,n,i,o;for(i=this.getAttachmentPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.attachment);return o},i.prototype.getAttachmentAndPositionById=function(t){var e,n,i,o,r,s;for(o=0,r=this.pieceList.toArray(),e=0,n=r.length;n>e;e++){if(i=r[e],(null!=(s=i.attachment)?s.id:void 0)===t)return{attachment:i.attachment,position:o};o+=i.length}return{attachment:null,position:null}},i.prototype.getAttachmentById=function(t){var e,n,i;return i=this.getAttachmentAndPositionById(t),e=i.attachment,n=i.position,e},i.prototype.getRangeOfAttachment=function(t){var e,n;return n=this.getAttachmentAndPositionById(t.id),t=n.attachment,e=n.position,null!=t?[e,e+1]:void 0},i.prototype.updateAttributesForAttachment=function(t,e){var n;return(n=this.getRangeOfAttachment(e))?this.addAttributesAtRange(t,n):this},i.prototype.getLength=function(){return this.pieceList.getEndPosition()},i.prototype.isEmpty=function(){return 0===this.getLength()},i.prototype.isEqualTo=function(t){var e;return i.__super__.isEqualTo.apply(this,arguments)||(null!=t&&null!=(e=t.pieceList)?e.isEqualTo(this.pieceList):void 0)},i.prototype.isBlockBreak=function(){return 1===this.getLength()&&this.pieceList.getObjectAtIndex(0).isBlockBreak()},i.prototype.eachPiece=function(t){return this.pieceList.eachObject(t)},i.prototype.getPieces=function(){return this.pieceList.toArray()},i.prototype.getPieceAtPosition=function(t){return this.pieceList.getObjectAtPosition(t)},i.prototype.contentsForInspection=function(){return{pieceList:this.pieceList.inspect()}},i.prototype.toSerializableText=function(){var t;return t=this.pieceList.selectSplittableList(function(t){return t.isSerializable()}),this.copyWithPieceList(t)},i.prototype.toString=function(){return this.pieceList.toString()},i.prototype.toJSON=function(){return this.pieceList.toJSON()},i.prototype.toConsole=function(){var t;return JSON.stringify(function(){var e,n,i,o;for(i=this.pieceList.toArray(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(JSON.parse(t.toConsole()));return o}.call(this))},i.prototype.getDirection=function(){return e.getDirection(this.toString())},i.prototype.isRTL=function(){return\"rtl\"===this.getDirection()},i}(e.Object)}.call(this),function(){var t,n,i,o,r,s=function(t,e){function n(){this.constructor=t}for(var i in e)a.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},a={}.hasOwnProperty,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},c=[].slice;t=e.arraysAreEqual,r=e.spliceArray,i=e.getBlockConfig,n=e.getBlockAttributeNames,o=e.getListAttributeNames,e.Block=function(n){function a(t,n){null==t&&(t=new e.Text),null==n&&(n=[]),a.__super__.constructor.apply(this,arguments),this.text=h(t),this.attributes=n}var l,h,p,d,f,g,m,v,y;return s(a,n),a.fromJSON=function(t){var n;return n=e.Text.fromJSON(t.text),new this(n,t.attributes)},a.prototype.isEmpty=function(){return this.text.isBlockBreak()},a.prototype.isEqualTo=function(e){return a.__super__.isEqualTo.apply(this,arguments)||this.text.isEqualTo(null!=e?e.text:void 0)&&t(this.attributes,null!=e?e.attributes:void 0)},a.prototype.copyWithText=function(t){return new this.constructor(t,this.attributes)},a.prototype.copyWithoutText=function(){return this.copyWithText(null)},a.prototype.copyWithAttributes=function(t){return new this.constructor(this.text,t)},a.prototype.copyWithoutAttributes=function(){return this.copyWithAttributes(null)},a.prototype.copyUsingObjectMap=function(t){var e;return this.copyWithText((e=t.find(this.text))?e:this.text.copyUsingObjectMap(t))},a.prototype.addAttribute=function(t){var e;return e=this.attributes.concat(d(t)),this.copyWithAttributes(e)},a.prototype.removeAttribute=function(t){var e,n;return n=i(t).listAttribute,e=g(g(this.attributes,t),n),this.copyWithAttributes(e)},a.prototype.removeLastAttribute=function(){return this.removeAttribute(this.getLastAttribute())},a.prototype.getLastAttribute=function(){return f(this.attributes)},a.prototype.getAttributes=function(){return this.attributes.slice(0)},a.prototype.getAttributeLevel=function(){return this.attributes.length},a.prototype.getAttributeAtLevel=function(t){return this.attributes[t-1]},a.prototype.hasAttribute=function(t){return u.call(this.attributes,t)>=0},a.prototype.hasAttributes=function(){return this.getAttributeLevel()>0},a.prototype.getLastNestableAttribute=function(){return f(this.getNestableAttributes())},a.prototype.getNestableAttributes=function(){var t,e,n,o,r;for(o=this.attributes,r=[],e=0,n=o.length;n>e;e++)t=o[e],i(t).nestable&&r.push(t);return r},a.prototype.getNestingLevel=function(){return this.getNestableAttributes().length},a.prototype.decreaseNestingLevel=function(){var t;return(t=this.getLastNestableAttribute())?this.removeAttribute(t):this},a.prototype.increaseNestingLevel=function(){var t,e,n;return(t=this.getLastNestableAttribute())?(n=this.attributes.lastIndexOf(t),e=r.apply(null,[this.attributes,n+1,0].concat(c.call(d(t)))),this.copyWithAttributes(e)):this},a.prototype.getListItemAttributes=function(){var t,e,n,o,r;for(o=this.attributes,r=[],e=0,n=o.length;n>e;e++)t=o[e],i(t).listAttribute&&r.push(t);return r},a.prototype.isListItem=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.listAttribute:void 0},a.prototype.isTerminalBlock=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.terminal:void 0},a.prototype.breaksOnReturn=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.breakOnReturn:void 0},a.prototype.findLineBreakInDirectionFromPosition=function(t,e){var n,i;return i=this.toString(),n=function(){switch(t){case\"forward\":return i.indexOf(\"\\n\",e);case\"backward\":return i.slice(0,e).lastIndexOf(\"\\n\")}}(),-1!==n?n:void 0},a.prototype.contentsForInspection=function(){return{text:this.text.inspect(),attributes:this.attributes}},a.prototype.toString=function(){return this.text.toString()},a.prototype.toJSON=function(){return{text:this.text,attributes:this.attributes}},a.prototype.getDirection=function(){return this.text.getDirection()},a.prototype.isRTL=function(){return this.text.isRTL()},a.prototype.getLength=function(){return this.text.getLength()},a.prototype.canBeConsolidatedWith=function(t){return!this.hasAttributes()&&!t.hasAttributes()&&this.getDirection()===t.getDirection()},a.prototype.consolidateWith=function(t){var n,i;return n=e.Text.textForStringWithAttributes(\"\\n\"),i=this.getTextWithoutBlockBreak().appendText(n),this.copyWithText(i.appendText(t.text))},a.prototype.splitAtOffset=function(t){var e,n;return 0===t?(e=null,n=this):t===this.getLength()?(e=this,n=null):(e=this.copyWithText(this.text.getTextAtRange([0,t])),n=this.copyWithText(this.text.getTextAtRange([t,this.getLength()]))),[e,n]},a.prototype.getBlockBreakPosition=function(){return this.text.getLength()-1},a.prototype.getTextWithoutBlockBreak=function(){return m(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()},a.prototype.canBeGrouped=function(t){return this.attributes[t]},a.prototype.canBeGroupedWith=function(t,e){var n,r,s,a;return s=t.getAttributes(),r=s[e],n=this.attributes[e],!(n!==r||i(n).group===!1&&(a=s[e+1],u.call(o(),a)<0)||this.getDirection()!==t.getDirection()&&!t.isEmpty())},h=function(t){return t=y(t),t=l(t)},y=function(t){var n,i,o,r,s,a;return r=!1,a=t.getPieces(),i=2<=a.length?c.call(a,0,n=a.length-1):(n=0,[]),o=a[n++],null==o?t:(i=function(){var t,e,n;for(n=[],t=0,e=i.length;e>t;t++)s=i[t],s.isBlockBreak()?(r=!0,n.push(v(s))):n.push(s);return n}(),r?new e.Text(c.call(i).concat([o])):t)},p=e.Text.textForStringWithAttributes(\"\\n\",{blockBreak:!0}),l=function(t){return m(t)?t:t.appendText(p)},m=function(t){var e,n;return n=t.getLength(),0===n?!1:(e=t.getTextAtRange([n-1,n]),e.isBlockBreak())},v=function(t){return t.copyWithoutAttribute(\"blockBreak\")},d=function(t){var e;return e=i(t).listAttribute,null!=e?[e,t]:[t]},f=function(t){return t.slice(-1)[0]},g=function(t,e){var n;return n=t.lastIndexOf(e),-1===n?t:r(t,n,1)},a}(e.Object)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty,s=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},a=[].slice;n=e.tagName,i=e.walkTree,t=e.nodeIsAttachmentElement,e.HTMLSanitizer=function(r){function u(t,e){var n;n=null!=e?e:{},this.allowedAttributes=n.allowedAttributes,this.forbiddenProtocols=n.forbiddenProtocols,this.forbiddenElements=n.forbiddenElements,null==this.allowedAttributes&&(this.allowedAttributes=c),null==this.forbiddenProtocols&&(this.forbiddenProtocols=h),null==this.forbiddenElements&&(this.forbiddenElements=l),this.body=p(t)}var c,l,h,p;return o(u,r),c=\"style href src width height class\".split(\" \"),h=\"javascript:\".split(\" \"),l=\"script iframe\".split(\" \"),u.sanitize=function(t,e){var n;return n=new this(t,e),n.sanitize(),n},u.prototype.sanitize=function(){return this.sanitizeElements(),this.normalizeListElementNesting()},u.prototype.getHTML=function(){return this.body.innerHTML},u.prototype.getBody=function(){return this.body},u.prototype.sanitizeElements=function(){var t,n,o,r,s;for(s=i(this.body),r=[];s.nextNode();)switch(o=s.currentNode,o.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(o)?r.push(o):this.sanitizeElement(o);break;case Node.COMMENT_NODE:r.push(o)}for(t=0,n=r.length;n>t;t++)o=r[t],e.removeNode(o);return this.body},u.prototype.sanitizeElement=function(t){var e,n,i,o,r;for(t.hasAttribute(\"href\")&&(o=t.protocol,s.call(this.forbiddenProtocols,o)>=0&&t.removeAttribute(\"href\")),r=a.call(t.attributes),e=0,n=r.length;n>e;e++)i=r[e].name,s.call(this.allowedAttributes,i)>=0||0===i.indexOf(\"data-trix\")||t.removeAttribute(i);return t},u.prototype.normalizeListElementNesting=function(){var t,e,i,o,r;for(r=a.call(this.body.querySelectorAll(\"ul,ol\")),t=0,e=r.length;e>t;t++)i=r[t],(o=i.previousElementSibling)&&\"li\"===n(o)&&o.appendChild(i);return this.body},u.prototype.elementIsRemovable=function(t){return(null!=t?t.nodeType:void 0)===Node.ELEMENT_NODE?this.elementIsForbidden(t)||this.elementIsntSerializable(t):void 0},u.prototype.elementIsForbidden=function(t){var e;return e=n(t),s.call(this.forbiddenElements,e)>=0},u.prototype.elementIsntSerializable=function(e){return\"false\"===e.getAttribute(\"data-trix-serialize\")&&!t(e)},p=function(t){var e,n,i,o,r;for(null==t&&(t=\"\"),t=t.replace(/<\\/html[^>]*>[^]*$/i,\"\"),e=document.implementation.createHTMLDocument(\"\"),e.documentElement.innerHTML=t,r=e.head.querySelectorAll(\"style\"),i=0,o=r.length;o>i;i++)n=r[i],e.body.appendChild(n);return e.body},u}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h,p=function(t,e){function n(){this.constructor=t}for(var i in e)d.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},d={}.hasOwnProperty,f=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.arraysAreEqual,s=e.makeElement,l=e.tagName,r=e.getBlockTagNames,h=e.walkTree,o=e.findClosestElementFromNode,i=e.elementContainsNode,a=e.nodeIsAttachmentElement,u=e.normalizeSpaces,n=e.breakableWhitespacePattern,c=e.squishBreakableWhitespace,e.HTMLParser=function(d){function g(t,e){this.html=t,this.referenceElement=(null!=e?e:{}).referenceElement,this.blocks=[],this.blockElements=[],this.processedElements=[]}var m,v,y,b,A,C,x,w,E,S,R,k;return p(g,d),g.parse=function(t,e){var n;return n=new this(t,e),n.parse(),n},g.prototype.getDocument=function(){return e.Document.fromJSON(this.blocks)},g.prototype.parse=function(){var t,n;try{for(this.createHiddenContainer(),t=e.HTMLSanitizer.sanitize(this.html).getHTML(),this.containerElement.innerHTML=t,n=h(this.containerElement,{usingFilter:x});n.nextNode();)this.processNode(n.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}},g.prototype.createHiddenContainer=function(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute(\"id\"),this.containerElement.setAttribute(\"data-trix-internal\",\"\"),this.containerElement.style.display=\"none\",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=s({tagName:\"div\",style:{display:\"none\"}}),document.body.appendChild(this.containerElement))},g.prototype.removeHiddenContainer=function(){return e.removeNode(this.containerElement)},x=function(t){return\"style\"===l(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},g.prototype.processNode=function(t){switch(t.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(t))return this.appendBlockForTextNode(t),this.processTextNode(t);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(t),this.processElement(t)}},g.prototype.appendBlockForTextNode=function(e){var n,i,o;return i=e.parentNode,i===this.currentBlockElement&&this.isBlockElement(e.previousSibling)?this.appendStringWithAttributes(\"\\n\"):i!==this.containerElement&&!this.isBlockElement(i)||(n=this.getBlockAttributes(i),t(n,null!=(o=this.currentBlock)?o.attributes:void 0))?void 0:(this.currentBlock=this.appendBlockForAttributesWithElement(n,i),this.currentBlockElement=i)},g.prototype.appendBlockForElement=function(e){var n,o,r,s;if(r=this.isBlockElement(e),o=i(this.currentBlockElement,e),r&&!this.isBlockElement(e.firstChild)){if((!this.isInsignificantTextNode(e.firstChild)||!this.isBlockElement(e.firstElementChild))&&(n=this.getBlockAttributes(e),e.firstChild))return o&&t(n,this.currentBlock.attributes)?this.appendStringWithAttributes(\"\\n\"):(this.currentBlock=this.appendBlockForAttributesWithElement(n,e),this.currentBlockElement=e)}else if(this.currentBlockElement&&!o&&!r)return(s=this.findParentBlockElement(e))?this.appendBlockForElement(s):(this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null)},g.prototype.findParentBlockElement=function(t){var e;for(e=t.parentElement;e&&e!==this.containerElement;){if(this.isBlockElement(e)&&f.call(this.blockElements,e)>=0)return e;e=e.parentElement}return null},g.prototype.processTextNode=function(t){var e,n;return n=t.data,v(t.parentNode)||(n=c(n),R(null!=(e=t.previousSibling)?e.textContent:void 0)&&(n=A(n))),this.appendStringWithAttributes(n,this.getTextAttributes(t.parentNode))},g.prototype.processElement=function(t){var e,n,i,o,r;if(a(t))return e=w(t,\"attachment\"),Object.keys(e).length&&(o=this.getTextAttributes(t),this.appendAttachmentWithAttributes(e,o),t.innerHTML=\"\"),this.processedElements.push(t);switch(l(t)){case\"br\":return this.isExtraBR(t)||this.isBlockElement(t.nextSibling)||this.appendStringWithAttributes(\"\\n\",this.getTextAttributes(t)),this.processedElements.push(t);case\"img\":e={url:t.getAttribute(\"src\"),contentType:\"image\"},i=b(t);for(n in i)r=i[n],e[n]=r;return this.appendAttachmentWithAttributes(e,this.getTextAttributes(t)),this.processedElements.push(t);case\"tr\":if(t.parentNode.firstChild!==t)return this.appendStringWithAttributes(\"\\n\");break;case\"td\":if(t.parentNode.firstChild!==t)return this.appendStringWithAttributes(\" | \")}},g.prototype.appendBlockForAttributesWithElement=function(t,e){var n;return this.blockElements.push(e),n=m(t),this.blocks.push(n),n},g.prototype.appendEmptyBlock=function(){return this.appendBlockForAttributesWithElement([],null)},g.prototype.appendStringWithAttributes=function(t,e){return this.appendPiece(S(t,e))},g.prototype.appendAttachmentWithAttributes=function(t,e){return this.appendPiece(E(t,e))},g.prototype.appendPiece=function(t){return 0===this.blocks.length&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(t)},g.prototype.appendStringToTextAtIndex=function(t,e){var n,i;return i=this.blocks[e].text,n=i[i.length-1],\"string\"===(null!=n?n.type:void 0)?n.string+=t:i.push(S(t))},g.prototype.prependStringToTextAtIndex=function(t,e){var n,i;return i=this.blocks[e].text,n=i[0],\"string\"===(null!=n?n.type:void 0)?n.string=t+n.string:i.unshift(S(t))},S=function(t,e){var n;return null==e&&(e={}),n=\"string\",t=u(t),{string:t,attributes:e,type:n}},E=function(t,e){var n;return null==e&&(e={}),n=\"attachment\",{attachment:t,attributes:e,type:n}},m=function(t){var e;return null==t&&(t={}),e=[],{text:e,attributes:t}},g.prototype.getTextAttributes=function(t){var n,i,r,s,u,c,l,h,p,d,f,g;r={},p=e.config.textAttributes;for(n in p)if(u=p[n],u.tagName&&o(t,{matchingSelector:u.tagName,untilNode:this.containerElement}))r[n]=!0;else if(u.parser){if(g=u.parser(t)){for(i=!1,d=this.findBlockElementAncestors(t),c=0,h=d.length;h>c;c++)if(s=d[c],u.parser(s)===g){i=!0;break}i||(r[n]=g)}}else u.styleProperty&&(g=t.style[u.styleProperty])&&(r[n]=g);if(a(t)){f=w(t,\"attributes\");for(l in f)g=f[l],r[l]=g}return r},g.prototype.getBlockAttributes=function(t){var n,i,o,r;for(i=[];t&&t!==this.containerElement;){r=e.config.blockAttributes;for(n in r)o=r[n],o.parse!==!1&&l(t)===o.tagName&&((\"function\"==typeof o.test?o.test(t):void 0)||!o.test)&&(i.push(n),o.listAttribute&&i.push(o.listAttribute));t=t.parentNode}return i.reverse()},g.prototype.findBlockElementAncestors=function(t){var e,n;for(e=[];t&&t!==this.containerElement;)n=l(t),f.call(r(),n)>=0&&e.push(t),t=t.parentNode;return e},w=function(t,e){try{return JSON.parse(t.getAttribute(\"data-trix-\"+e))}catch(n){return{}}},b=function(t){var e,n,i;return i=t.getAttribute(\"width\"),n=t.getAttribute(\"height\"),e={},i&&(e.width=parseInt(i,10)),n&&(e.height=parseInt(n,10)),e},g.prototype.isBlockElement=function(t){var e;if((null!=t?t.nodeType:void 0)===Node.ELEMENT_NODE&&!a(t)&&!o(t,{matchingSelector:\"td\",untilNode:this.containerElement}))return e=l(t),f.call(r(),e)>=0||\"block\"===window.getComputedStyle(t).display},g.prototype.isInsignificantTextNode=function(t){var e,n,i;if((null!=t?t.nodeType:void 0)===Node.TEXT_NODE&&k(t.data)&&(n=t.parentNode,i=t.previousSibling,e=t.nextSibling,(!C(n.previousSibling)||this.isBlockElement(n.previousSibling))&&!v(n)))return!i||this.isBlockElement(i)||!e||this.isBlockElement(e)},g.prototype.isExtraBR=function(t){return\"br\"===l(t)&&this.isBlockElement(t.parentNode)&&t.parentNode.lastChild===t},v=function(t){var e;return e=window.getComputedStyle(t).whiteSpace,\"pre\"===e||\"pre-wrap\"===e||\"pre-line\"===e},C=function(t){return t&&!R(t.textContent)},g.prototype.translateBlockElementMarginsToNewlines=function(){var t,e,n,i,o,r,s,a;for(e=this.getMarginOfDefaultBlockElement(),s=this.blocks,a=[],i=n=0,o=s.length;o>n;i=++n)t=s[i],(r=this.getMarginOfBlockElementAtIndex(i))&&(r.top>2*e.top&&this.prependStringToTextAtIndex(\"\\n\",i),a.push(r.bottom>2*e.bottom?this.appendStringToTextAtIndex(\"\\n\",i):void 0));return a},g.prototype.getMarginOfBlockElementAtIndex=function(t){var e,n;return!(e=this.blockElements[t])||!e.textContent||(n=l(e),f.call(r(),n)>=0||f.call(this.processedElements,e)>=0)?void 0:y(e)},g.prototype.getMarginOfDefaultBlockElement=function(){var t;return t=s(e.config.blockAttributes[\"default\"].tagName),this.containerElement.appendChild(t),y(t)},y=function(t){var e;return e=window.getComputedStyle(t),\"block\"===e.display?{top:parseInt(e.marginTop),bottom:parseInt(e.marginBottom)}:void 0},A=function(t){return t.replace(RegExp(\"^\"+n.source+\"+\"),\"\")},k=function(t){return RegExp(\"^\"+n.source+\"*$\").test(t)},R=function(t){return/\\s$/.test(t)},g}(e.BasicObject)}.call(this),function(){var t,n,i,o,r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].slice,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.arraysAreEqual,i=e.normalizeRange,o=e.rangeIsCollapsed,n=e.getBlockConfig,e.Document=function(s){function c(t){null==t&&(t=[]),c.__super__.constructor.apply(this,arguments),0===t.length&&(t=[new e.Block]),this.blockList=e.SplittableList.box(t)}var l;return r(c,s),c.fromJSON=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(e.Block.fromJSON(n));return r}(),new this(i)},c.fromHTML=function(t,n){return e.HTMLParser.parse(t,n).getDocument()},c.fromString=function(t,n){var i;return i=e.Text.textForStringWithAttributes(t,n),new this([new e.Block(i)])},c.prototype.isEmpty=function(){var t;return 1===this.blockList.length&&(t=this.getBlockAtIndex(0),t.isEmpty()&&!t.hasAttributes())},c.prototype.copy=function(t){var e;return null==t&&(t={}),e=t.consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray(),new this.constructor(e)},c.prototype.copyUsingObjectsFromDocument=function(t){var n;return n=new e.ObjectMap(t.getObjects()),this.copyUsingObjectMap(n)},c.prototype.copyUsingObjectMap=function(t){var e,n,i;return n=function(){var n,o,r,s;for(r=this.getBlocks(),s=[],n=0,o=r.length;o>n;n++)e=r[n],s.push((i=t.find(e))?i:e.copyUsingObjectMap(t));return s}.call(this),new this.constructor(n)},c.prototype.copyWithBaseBlockAttributes=function(t){var e,n,i;return null==t&&(t=[]),i=function(){var i,o,r,s;for(r=this.getBlocks(),s=[],i=0,o=r.length;o>i;i++)n=r[i],e=t.concat(n.getAttributes()),s.push(n.copyWithAttributes(e));return s}.call(this),new this.constructor(i)},c.prototype.replaceBlock=function(t,e){var n;return n=this.blockList.indexOf(t),-1===n?this:new this.constructor(this.blockList.replaceObjectAtIndex(e,n))},c.prototype.insertDocumentAtRange=function(t,e){var n,r,s,a,u,c,l;return r=t.blockList,u=(e=i(e))[0],c=this.locationFromPosition(u),s=c.index,a=c.offset,l=this,n=this.getBlockAtPosition(u),o(e)&&n.isEmpty()&&!n.hasAttributes()?l=new this.constructor(l.blockList.removeObjectAtIndex(s)):n.getBlockBreakPosition()===a&&u++,l=l.removeTextAtRange(e),new this.constructor(l.blockList.insertSplittableListAtPosition(r,u))},c.prototype.mergeDocumentAtRange=function(e,n){var o,r,s,a,u,c,l,h,p,d,f,g;return f=(n=i(n))[0],d=this.locationFromPosition(f),r=this.getBlockAtIndex(d.index).getAttributes(),o=e.getBaseBlockAttributes(),g=r.slice(-o.length),t(o,g)?(l=r.slice(0,-o.length),c=e.copyWithBaseBlockAttributes(l)):c=e.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(r),s=c.getBlockCount(),a=c.getBlockAtIndex(0),t(r,a.getAttributes())?(u=a.getTextWithoutBlockBreak(),p=this.insertTextAtRange(u,n),s>1&&(c=new this.constructor(c.getBlocks().slice(1)),h=f+u.getLength(),p=p.insertDocumentAtRange(c,h))):p=this.insertDocumentAtRange(c,n),p},c.prototype.insertTextAtRange=function(t,e){var n,o,r,s,a;return a=(e=i(e))[0],s=this.locationFromPosition(a),o=s.index,r=s.offset,n=this.removeTextAtRange(e),new this.constructor(n.blockList.editObjectAtIndex(o,function(e){return e.copyWithText(e.text.insertTextAtPosition(t,r))}))},c.prototype.removeTextAtRange=function(t){var e,n,r,s,a,u,c,l,h,p,d,f,g,m,v,y,b,A,C,x,w;return p=t=i(t),l=p[0],A=p[1],o(t)?this:(d=this.locationRangeFromRange(t),u=d[0],y=d[1],a=u.index,c=u.offset,s=this.getBlockAtIndex(a),v=y.index,b=y.offset,m=this.getBlockAtIndex(v),f=A-l===1&&s.getBlockBreakPosition()===c&&m.getBlockBreakPosition()!==b&&\"\\n\"===m.text.getStringAtPosition(b),f?r=this.blockList.editObjectAtIndex(v,function(t){return t.copyWithText(t.text.removeTextAtRange([b,b+1]))}):(h=s.text.getTextAtRange([0,c]),C=m.text.getTextAtRange([b,m.getLength()]),x=h.appendText(C),g=a!==v&&0===c,w=g&&s.getAttributeLevel()>=m.getAttributeLevel(),n=w?m.copyWithText(x):s.copyWithText(x),e=v+1-a,r=this.blockList.splice(a,e,n)),new this.constructor(r))},c.prototype.moveTextFromRangeToPosition=function(t,e){var n,o,r,s,u,c,l,h,p,d;return c=t=i(t),p=c[0],r=c[1],e>=p&&r>=e?this:(o=this.getDocumentAtRange(t),h=this.removeTextAtRange(t),u=e>p,u&&(e-=o.getLength()),l=o.getBlocks(),s=l[0],n=2<=l.length?a.call(l,1):[],0===n.length?(d=s.getTextWithoutBlockBreak(),u&&(e+=1)):d=s.text,h=h.insertTextAtRange(d,e),0===n.length?h:(o=new this.constructor(n),e+=d.getLength(),h.insertDocumentAtRange(o,e)))},c.prototype.addAttributeAtRange=function(t,e,i){var o;return o=this.blockList,this.eachBlockAtRange(i,function(i,r,s){return o=o.editObjectAtIndex(s,function(){return n(t)?i.addAttribute(t,e):r[0]===r[1]?i:i.copyWithText(i.text.addAttributeAtRange(t,e,r))})}),new this.constructor(o)},c.prototype.addAttribute=function(t,e){var n;return n=this.blockList,this.eachBlock(function(i,o){return n=n.editObjectAtIndex(o,function(){return i.addAttribute(t,e)})}),new this.constructor(n)},c.prototype.removeAttributeAtRange=function(t,e){var i;return i=this.blockList,this.eachBlockAtRange(e,function(e,o,r){return n(t)?i=i.editObjectAtIndex(r,function(){return e.removeAttribute(t)}):o[0]!==o[1]?i=i.editObjectAtIndex(r,function(){return e.copyWithText(e.text.removeAttributeAtRange(t,o))}):void 0}),new this.constructor(i)},c.prototype.updateAttributesForAttachment=function(t,e){var n,i,o,r;return o=(i=this.getRangeOfAttachment(e))[0],n=this.locationFromPosition(o).index,r=this.getTextAtIndex(n),new this.constructor(this.blockList.editObjectAtIndex(n,function(n){return n.copyWithText(r.updateAttributesForAttachment(t,e))}))},c.prototype.removeAttributeForAttachment=function(t,e){var n;return n=this.getRangeOfAttachment(e),this.removeAttributeAtRange(t,n)},c.prototype.insertBlockBreakAtRange=function(t){var n,o,r,s;return s=(t=i(t))[0],r=this.locationFromPosition(s).offset,o=this.removeTextAtRange(t),0===r&&(n=[new e.Block]),new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n),s))},c.prototype.applyBlockAttributeAtRange=function(t,e,i){var o,r,s,a;return s=this.expandRangeToLineBreaksAndSplitBlocks(i),r=s.document,i=s.range,o=n(t),o.listAttribute?(r=r.removeLastListAttributeAtRange(i,{exceptAttributeName:t}),a=r.convertLineBreaksToBlockBreaksInRange(i),r=a.document,i=a.range):r=o.exclusive?r.removeBlockAttributesAtRange(i):o.terminal?r.removeLastTerminalAttributeAtRange(i):r.consolidateBlocksAtRange(i),r.addAttributeAtRange(t,e,i)},c.prototype.removeLastListAttributeAtRange=function(t,e){var i;return null==e&&(e={}),i=this.blockList,this.eachBlockAtRange(t,function(t,o,r){var s;if((s=t.getLastAttribute())&&n(s).listAttribute&&s!==e.exceptAttributeName)return i=i.editObjectAtIndex(r,function(){return t.removeAttribute(s)})}),new this.constructor(i)},c.prototype.removeLastTerminalAttributeAtRange=function(t){var e;return e=this.blockList,this.eachBlockAtRange(t,function(t,i,o){var r;if((r=t.getLastAttribute())&&n(r).terminal)return e=e.editObjectAtIndex(o,function(){return t.removeAttribute(r)})}),new this.constructor(e)},c.prototype.removeBlockAttributesAtRange=function(t){var e;return e=this.blockList,this.eachBlockAtRange(t,function(t,n,i){return t.hasAttributes()?e=e.editObjectAtIndex(i,function(){return t.copyWithoutAttributes()}):void 0}),new this.constructor(e)},c.prototype.expandRangeToLineBreaksAndSplitBlocks=function(t){var e,n,o,r,s,a,u,c,l;return a=t=i(t),l=a[0],r=a[1],c=this.locationFromPosition(l),o=this.locationFromPosition(r),e=this,u=e.getBlockAtIndex(c.index),null!=(c.offset=u.findLineBreakInDirectionFromPosition(\"backward\",c.offset))&&(s=e.positionFromLocation(c),e=e.insertBlockBreakAtRange([s,s+1]),o.index+=1,o.offset-=e.getBlockAtIndex(c.index).getLength(),c.index+=1),c.offset=0,0===o.offset&&o.index>c.index?(o.index-=1,o.offset=e.getBlockAtIndex(o.index).getBlockBreakPosition()):(n=e.getBlockAtIndex(o.index),\"\\n\"===n.text.getStringAtRange([o.offset-1,o.offset])?o.offset-=1:o.offset=n.findLineBreakInDirectionFromPosition(\"forward\",o.offset),o.offset!==n.getBlockBreakPosition()&&(s=e.positionFromLocation(o),e=e.insertBlockBreakAtRange([s,s+1]))),l=e.positionFromLocation(c),r=e.positionFromLocation(o),t=i([l,r]),{document:e,range:t}},c.prototype.convertLineBreaksToBlockBreaksInRange=function(t){var e,n,o;return n=(t=i(t))[0],o=this.getStringAtRange(t).slice(0,-1),e=this,o.replace(/.*?\\n/g,function(t){return n+=t.length,e=e.insertBlockBreakAtRange([n-1,n])}),{document:e,range:t}},c.prototype.consolidateBlocksAtRange=function(t){var e,n,o,r,s;return o=t=i(t),s=o[0],n=o[1],r=this.locationFromPosition(s).index,e=this.locationFromPosition(n).index,new this.constructor(this.blockList.consolidateFromIndexToIndex(r,e))},c.prototype.getDocumentAtRange=function(t){var e;return t=i(t),e=this.blockList.getSplittableListInRange(t).toArray(),new this.constructor(e)},c.prototype.getStringAtRange=function(t){var e,n,o;return o=t=i(t),n=o[o.length-1],n!==this.getLength()&&(e=-1),this.getDocumentAtRange(t).toString().slice(0,e)},c.prototype.getBlockAtIndex=function(t){return this.blockList.getObjectAtIndex(t)},c.prototype.getBlockAtPosition=function(t){var e;return e=this.locationFromPosition(t).index,this.getBlockAtIndex(e)},c.prototype.getTextAtIndex=function(t){var e;return null!=(e=this.getBlockAtIndex(t))?e.text:void 0},c.prototype.getTextAtPosition=function(t){var e;return e=this.locationFromPosition(t).index,this.getTextAtIndex(e)},c.prototype.getPieceAtPosition=function(t){var e,n,i;return i=this.locationFromPosition(t),e=i.index,n=i.offset,this.getTextAtIndex(e).getPieceAtPosition(n)},c.prototype.getCharacterAtPosition=function(t){var e,n,i;return i=this.locationFromPosition(t),e=i.index,n=i.offset,this.getTextAtIndex(e).getStringAtRange([n,n+1])},c.prototype.getLength=function(){return this.blockList.getEndPosition()},c.prototype.getBlocks=function(){return this.blockList.toArray()},c.prototype.getBlockCount=function(){return this.blockList.length},c.prototype.getEditCount=function(){return this.editCount},c.prototype.eachBlock=function(t){return this.blockList.eachObject(t)},c.prototype.eachBlockAtRange=function(t,e){var n,o,r,s,a,u,c,l,h,p,d,f;if(u=t=i(t),d=u[0],r=u[1],p=this.locationFromPosition(d),o=this.locationFromPosition(r),p.index===o.index)return n=this.getBlockAtIndex(p.index),f=[p.offset,o.offset],e(n,f,p.index);for(h=[],a=s=c=p.index,l=o.index;l>=c?l>=s:s>=l;a=l>=c?++s:--s)(n=this.getBlockAtIndex(a))?(f=function(){switch(a){case p.index:return[p.offset,n.text.getLength()];case o.index:return[0,o.offset];default:return[0,n.text.getLength()]}}(),h.push(e(n,f,a))):h.push(void 0);return h},c.prototype.getCommonAttributesAtRange=function(t){var n,r,s;return r=(t=i(t))[0],o(t)?this.getCommonAttributesAtPosition(r):(s=[],n=[],this.eachBlockAtRange(t,function(t,e){return e[0]!==e[1]?(s.push(t.text.getCommonAttributesAtRange(e)),n.push(l(t))):void 0\n}),e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject())},c.prototype.getCommonAttributesAtPosition=function(t){var n,i,o,r,s,a,c,h,p,d;if(p=this.locationFromPosition(t),s=p.index,h=p.offset,o=this.getBlockAtIndex(s),!o)return{};r=l(o),n=o.text.getAttributesAtPosition(h),i=o.text.getAttributesAtPosition(h-1),a=function(){var t,n;t=e.config.textAttributes,n=[];for(c in t)d=t[c],d.inheritable&&n.push(c);return n}();for(c in i)d=i[c],(d===n[c]||u.call(a,c)>=0)&&(r[c]=d);return r},c.prototype.getRangeOfCommonAttributeAtPosition=function(t,e){var n,o,r,s,a,u,c,l,h;return a=this.locationFromPosition(e),r=a.index,s=a.offset,h=this.getTextAtIndex(r),u=h.getExpandedRangeForAttributeAtOffset(t,s),l=u[0],o=u[1],c=this.positionFromLocation({index:r,offset:l}),n=this.positionFromLocation({index:r,offset:o}),i([c,n])},c.prototype.getBaseBlockAttributes=function(){var t,e,n,i,o,r,s;for(t=this.getBlockAtIndex(0).getAttributes(),n=i=1,s=this.getBlockCount();s>=1?s>i:i>s;n=s>=1?++i:--i)e=this.getBlockAtIndex(n).getAttributes(),r=Math.min(t.length,e.length),t=function(){var n,i,s;for(s=[],o=n=0,i=r;(i>=0?i>n:n>i)&&e[o]===t[o];o=i>=0?++n:--n)s.push(e[o]);return s}();return t},l=function(t){var e,n;return n={},(e=t.getLastAttribute())&&(n[e]=!0),n},c.prototype.getAttachmentById=function(t){var e,n,i,o;for(o=this.getAttachments(),n=0,i=o.length;i>n;n++)if(e=o[n],e.id===t)return e},c.prototype.getAttachmentPieces=function(){var t;return t=[],this.blockList.eachObject(function(e){var n;return n=e.text,t=t.concat(n.getAttachmentPieces())}),t},c.prototype.getAttachments=function(){var t,e,n,i,o;for(i=this.getAttachmentPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.attachment);return o},c.prototype.getRangeOfAttachment=function(t){var e,n,o,r,s,a,u;for(r=0,s=this.blockList.toArray(),n=e=0,o=s.length;o>e;n=++e){if(a=s[n].text,u=a.getRangeOfAttachment(t))return i([r+u[0],r+u[1]]);r+=a.getLength()}},c.prototype.getLocationRangeOfAttachment=function(t){var e;return e=this.getRangeOfAttachment(t),this.locationRangeFromRange(e)},c.prototype.getAttachmentPieceForAttachment=function(t){var e,n,i,o;for(o=this.getAttachmentPieces(),e=0,n=o.length;n>e;e++)if(i=o[e],i.attachment===t)return i},c.prototype.findRangesForBlockAttribute=function(t){var e,n,i,o,r,s,a;for(r=0,s=[],a=this.getBlocks(),n=0,i=a.length;i>n;n++)e=a[n],o=e.getLength(),e.hasAttribute(t)&&s.push([r,r+o]),r+=o;return s},c.prototype.findRangesForTextAttribute=function(t,e){var n,i,o,r,s,a,u,c,l,h;for(h=(null!=e?e:{}).withValue,a=0,u=[],c=[],r=function(e){return null!=h?e.getAttribute(t)===h:e.hasAttribute(t)},l=this.getPieces(),n=0,i=l.length;i>n;n++)s=l[n],o=s.getLength(),r(s)&&(u[1]===a?u[1]=a+o:c.push(u=[a,a+o])),a+=o;return c},c.prototype.locationFromPosition=function(t){var e,n;return n=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,t)),null!=n.index?n:(e=this.getBlocks(),{index:e.length-1,offset:e[e.length-1].getLength()})},c.prototype.positionFromLocation=function(t){return this.blockList.findPositionAtIndexAndOffset(t.index,t.offset)},c.prototype.locationRangeFromPosition=function(t){return i(this.locationFromPosition(t))},c.prototype.locationRangeFromRange=function(t){var e,n,o,r;if(t=i(t))return r=t[0],n=t[1],o=this.locationFromPosition(r),e=this.locationFromPosition(n),i([o,e])},c.prototype.rangeFromLocationRange=function(t){var e,n;return t=i(t),e=this.positionFromLocation(t[0]),o(t)||(n=this.positionFromLocation(t[1])),i([e,n])},c.prototype.isEqualTo=function(t){return this.blockList.isEqualTo(null!=t?t.blockList:void 0)},c.prototype.getTexts=function(){var t,e,n,i,o;for(i=this.getBlocks(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(t.text);return o},c.prototype.getPieces=function(){var t,e,n,i,o;for(n=[],i=this.getTexts(),t=0,e=i.length;e>t;t++)o=i[t],n.push.apply(n,o.getPieces());return n},c.prototype.getObjects=function(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())},c.prototype.toSerializableDocument=function(){var t;return t=[],this.blockList.eachObject(function(e){return t.push(e.copyWithText(e.text.toSerializableText()))}),new this.constructor(t)},c.prototype.toString=function(){return this.blockList.toString()},c.prototype.toJSON=function(){return this.blockList.toJSON()},c.prototype.toConsole=function(){var t;return JSON.stringify(function(){var e,n,i,o;for(i=this.blockList.toArray(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(JSON.parse(t.text.toConsole()));return o}.call(this))},c}(e.Object)}.call(this),function(){e.LineBreakInsertion=function(){function t(t){var e;this.composition=t,this.document=this.composition.document,e=this.composition.getSelectedRange(),this.startPosition=e[0],this.endPosition=e[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}return t.prototype.shouldInsertBlockBreak=function(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?0!==this.startLocation.offset:this.breaksOnReturn&&\"\\n\"!==this.nextCharacter},t.prototype.shouldBreakFormattedBlock=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&\"\\n\"===this.nextCharacter||\"\\n\"===this.previousCharacter)},t.prototype.shouldDecreaseListLevel=function(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()},t.prototype.shouldPrependListItem=function(){return this.block.isListItem()&&0===this.startLocation.offset&&!this.block.isEmpty()},t.prototype.shouldRemoveLastBlockAttribute=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()},t}()}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h=function(t,e){function n(){this.constructor=t}for(var i in e)p.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},p={}.hasOwnProperty;s=e.normalizeRange,c=e.rangesAreEqual,u=e.rangeIsCollapsed,a=e.objectsAreEqual,t=e.arrayStartsWith,l=e.summarizeArrayChange,i=e.getAllAttributeNames,o=e.getBlockConfig,r=e.getTextConfig,n=e.extend,e.Composition=function(p){function d(){this.document=new e.Document,this.attachments=[],this.currentAttributes={},this.revision=0}var f;return h(d,p),d.prototype.setDocument=function(t){var e;return t.isEqualTo(this.document)?void 0:(this.document=t,this.refreshAttachments(),this.revision++,null!=(e=this.delegate)&&\"function\"==typeof e.compositionDidChangeDocument?e.compositionDidChangeDocument(t):void 0)},d.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.getSelectedRange()}},d.prototype.loadSnapshot=function(t){var n,i,o,r;return n=t.document,r=t.selectedRange,null!=(i=this.delegate)&&\"function\"==typeof i.compositionWillLoadSnapshot&&i.compositionWillLoadSnapshot(),this.setDocument(null!=n?n:new e.Document),this.setSelection(null!=r?r:[0,0]),null!=(o=this.delegate)&&\"function\"==typeof o.compositionDidLoadSnapshot?o.compositionDidLoadSnapshot():void 0},d.prototype.insertText=function(t,e){var n,i,o,r;return r=(null!=e?e:{updatePosition:!0}).updatePosition,i=this.getSelectedRange(),this.setDocument(this.document.insertTextAtRange(t,i)),o=i[0],n=o+t.getLength(),r&&this.setSelection(n),this.notifyDelegateOfInsertionAtRange([o,n])},d.prototype.insertBlock=function(t){var n;return null==t&&(t=new e.Block),n=new e.Document([t]),this.insertDocument(n)},d.prototype.insertDocument=function(t){var n,i,o;return null==t&&(t=new e.Document),i=this.getSelectedRange(),this.setDocument(this.document.insertDocumentAtRange(t,i)),o=i[0],n=o+t.getLength(),this.setSelection(n),this.notifyDelegateOfInsertionAtRange([o,n])},d.prototype.insertString=function(t,n){var i,o;return i=this.getCurrentTextAttributes(),o=e.Text.textForStringWithAttributes(t,i),this.insertText(o,n)},d.prototype.insertBlockBreak=function(){var t,e,n;return e=this.getSelectedRange(),this.setDocument(this.document.insertBlockBreakAtRange(e)),n=e[0],t=n+1,this.setSelection(t),this.notifyDelegateOfInsertionAtRange([n,t])},d.prototype.insertLineBreak=function(){var t,n;return n=new e.LineBreakInsertion(this),n.shouldDecreaseListLevel()?(this.decreaseListLevel(),this.setSelection(n.startPosition)):n.shouldPrependListItem()?(t=new e.Document([n.block.copyWithoutText()]),this.insertDocument(t)):n.shouldInsertBlockBreak()?this.insertBlockBreak():n.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():n.shouldBreakFormattedBlock()?this.breakFormattedBlock(n):this.insertString(\"\\n\")},d.prototype.insertHTML=function(t){var n,i,o,r;return n=e.Document.fromHTML(t),o=this.getSelectedRange(),this.setDocument(this.document.mergeDocumentAtRange(n,o)),r=o[0],i=r+n.getLength()-1,this.setSelection(i),this.notifyDelegateOfInsertionAtRange([r,i])},d.prototype.replaceHTML=function(t){var n,i,o;return n=e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document),i=this.getLocationRange({strict:!1}),o=this.document.rangeFromLocationRange(i),this.setDocument(n),this.setSelection(o)},d.prototype.insertFile=function(t){return this.insertFiles([t])},d.prototype.insertFiles=function(t){var n,i,o,r,s,a;for(i=[],r=0,s=t.length;s>r;r++)o=t[r],(null!=(a=this.delegate)?a.compositionShouldAcceptFile(o):void 0)&&(n=e.Attachment.attachmentForFile(o),i.push(n));return this.insertAttachments(i)},d.prototype.insertAttachment=function(t){return this.insertAttachments([t])},d.prototype.insertAttachments=function(t){var n,i,o,r,s,a,u,c,l;for(c=new e.Text,r=0,s=t.length;s>r;r++)n=t[r],l=n.getType(),a=null!=(u=e.config.attachments[l])?u.presentation:void 0,o=this.getCurrentTextAttributes(),a&&(o.presentation=a),i=e.Text.textForAttachmentWithAttributes(n,o),c=c.appendText(i);return this.insertText(c)},d.prototype.shouldManageDeletingInDirection=function(t){var e;if(e=this.getLocationRange(),u(e)){if(\"backward\"===t&&0===e[0].offset)return!0;if(this.shouldManageMovingCursorInDirection(t))return!0}else if(e[0].index!==e[1].index)return!0;return!1},d.prototype.deleteInDirection=function(t,e){var n,i,o,r,s,a,c,l;return r=(null!=e?e:{}).length,s=this.getLocationRange(),a=this.getSelectedRange(),c=u(a),c?o=\"backward\"===t&&0===s[0].offset:l=s[0].index!==s[1].index,o&&this.canDecreaseBlockAttributeLevel()&&(i=this.getBlock(),i.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(a[0]),i.isEmpty())?!1:(c&&(a=this.getExpandedRangeInDirection(t,{length:r}),\"backward\"===t&&(n=this.getAttachmentAtRange(a))),n?(this.editAttachment(n),!1):(this.setDocument(this.document.removeTextAtRange(a)),this.setSelection(a[0]),o||l?!1:void 0))},d.prototype.moveTextFromRange=function(t){var e;return e=this.getSelectedRange()[0],this.setDocument(this.document.moveTextFromRangeToPosition(t,e)),this.setSelection(e)},d.prototype.removeAttachment=function(t){var e;return(e=this.document.getRangeOfAttachment(t))?(this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(e)),this.setSelection(e[0])):void 0},d.prototype.removeLastBlockAttribute=function(){var t,e,n,i;return n=this.getSelectedRange(),i=n[0],e=n[1],t=this.document.getBlockAtPosition(e),this.removeCurrentAttribute(t.getLastAttribute()),this.setSelection(i)},f=\" \",d.prototype.insertPlaceholder=function(){return this.placeholderPosition=this.getPosition(),this.insertString(f)},d.prototype.selectPlaceholder=function(){return null!=this.placeholderPosition?(this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+f.length]),this.getSelectedRange()):void 0},d.prototype.forgetPlaceholder=function(){return this.placeholderPosition=null},d.prototype.hasCurrentAttribute=function(t){var e;return e=this.currentAttributes[t],null!=e&&e!==!1},d.prototype.toggleCurrentAttribute=function(t){var e;return(e=!this.currentAttributes[t])?this.setCurrentAttribute(t,e):this.removeCurrentAttribute(t)},d.prototype.canSetCurrentAttribute=function(t){return o(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)},d.prototype.canSetCurrentTextAttribute=function(){var t,e,n,i,o;if(e=this.getSelectedDocument()){for(o=e.getAttachments(),n=0,i=o.length;i>n;n++)if(t=o[n],!t.hasContent())return!1;return!0}},d.prototype.canSetCurrentBlockAttribute=function(){var t;if(t=this.getBlock())return!t.isTerminalBlock()},d.prototype.setCurrentAttribute=function(t,e){return o(t)?this.setBlockAttribute(t,e):(this.setTextAttribute(t,e),this.currentAttributes[t]=e,this.notifyDelegateOfCurrentAttributesChange())},d.prototype.setTextAttribute=function(t,n){var i,o,r,s;if(o=this.getSelectedRange())return r=o[0],i=o[1],r!==i?this.setDocument(this.document.addAttributeAtRange(t,n,o)):\"href\"===t?(s=e.Text.textForStringWithAttributes(n,{href:n}),this.insertText(s)):void 0},d.prototype.setBlockAttribute=function(t,e){var n,i;if(i=this.getSelectedRange())return this.canSetCurrentAttribute(t)?(n=this.getBlock(),this.setDocument(this.document.applyBlockAttributeAtRange(t,e,i)),this.setSelection(i)):void 0},d.prototype.removeCurrentAttribute=function(t){return o(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())},d.prototype.removeTextAttribute=function(t){var e;if(e=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,e))},d.prototype.removeBlockAttribute=function(t){var e;if(e=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,e))},d.prototype.canDecreaseNestingLevel=function(){var t;return(null!=(t=this.getBlock())?t.getNestingLevel():void 0)>0},d.prototype.canIncreaseNestingLevel=function(){var e,n,i;if(e=this.getBlock())return(null!=(i=o(e.getLastNestableAttribute()))?i.listAttribute:0)?(n=this.getPreviousBlock())?t(n.getListItemAttributes(),e.getListItemAttributes()):void 0:e.getNestingLevel()>0},d.prototype.decreaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))},d.prototype.increaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))},d.prototype.canDecreaseBlockAttributeLevel=function(){var t;return(null!=(t=this.getBlock())?t.getAttributeLevel():void 0)>0},d.prototype.decreaseBlockAttributeLevel=function(){var t,e;return(t=null!=(e=this.getBlock())?e.getLastAttribute():void 0)?this.removeCurrentAttribute(t):void 0},d.prototype.decreaseListLevel=function(){var t,e,n,i,o,r;for(r=this.getSelectedRange()[0],o=this.document.locationFromPosition(r).index,n=o,t=this.getBlock().getAttributeLevel();(e=this.document.getBlockAtIndex(n+1))&&e.isListItem()&&e.getAttributeLevel()>t;)n++;return r=this.document.positionFromLocation({index:o,offset:0}),i=this.document.positionFromLocation({index:n,offset:0}),this.setDocument(this.document.removeLastListAttributeAtRange([r,i]))},d.prototype.updateCurrentAttributes=function(){var t,e,n,o,r,s;if(s=this.getSelectedRange({ignoreLock:!0})){for(e=this.document.getCommonAttributesAtRange(s),r=i(),n=0,o=r.length;o>n;n++)t=r[n],e[t]||this.canSetCurrentAttribute(t)||(e[t]=!1);if(!a(e,this.currentAttributes))return this.currentAttributes=e,this.notifyDelegateOfCurrentAttributesChange()}},d.prototype.getCurrentAttributes=function(){return n.call({},this.currentAttributes)},d.prototype.getCurrentTextAttributes=function(){var t,e,n,i;t={},n=this.currentAttributes;for(e in n)i=n[e],i!==!1&&r(e)&&(t[e]=i);return t},d.prototype.freezeSelection=function(){return this.setCurrentAttribute(\"frozen\",!0)},d.prototype.thawSelection=function(){return this.removeCurrentAttribute(\"frozen\")},d.prototype.hasFrozenSelection=function(){return this.hasCurrentAttribute(\"frozen\")},d.proxyMethod(\"getSelectionManager().getPointRange\"),d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"),d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"),d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"),d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"),d.proxyMethod(\"delegate?.getSelectionManager\"),d.prototype.setSelection=function(t){var e,n;return e=this.document.locationRangeFromRange(t),null!=(n=this.delegate)?n.compositionDidRequestChangingSelectionToLocationRange(e):void 0},d.prototype.getSelectedRange=function(){var t;return(t=this.getLocationRange())?this.document.rangeFromLocationRange(t):void 0},d.prototype.setSelectedRange=function(t){var e;return e=this.document.locationRangeFromRange(t),this.getSelectionManager().setLocationRange(e)},d.prototype.getPosition=function(){var t;return(t=this.getLocationRange())?this.document.positionFromLocation(t[0]):void 0},d.prototype.getLocationRange=function(t){var e,n;return null!=(e=null!=(n=this.targetLocationRange)?n:this.getSelectionManager().getLocationRange(t))?e:s({index:0,offset:0})},d.prototype.withTargetLocationRange=function(t,e){var n;this.targetLocationRange=t;try{n=e()}finally{this.targetLocationRange=null}return n},d.prototype.withTargetRange=function(t,e){var n;return n=this.document.locationRangeFromRange(t),this.withTargetLocationRange(n,e)},d.prototype.withTargetDOMRange=function(t,e){var n;return n=this.createLocationRangeFromDOMRange(t,{strict:!1}),this.withTargetLocationRange(n,e)},d.prototype.getExpandedRangeInDirection=function(t,e){var n,i,o,r;return i=(null!=e?e:{}).length,o=this.getSelectedRange(),r=o[0],n=o[1],\"backward\"===t?i?r-=i:r=this.translateUTF16PositionFromOffset(r,-1):i?n+=i:n=this.translateUTF16PositionFromOffset(n,1),s([r,n])},d.prototype.shouldManageMovingCursorInDirection=function(t){var e;return this.editingAttachment?!0:(e=this.getExpandedRangeInDirection(t),null!=this.getAttachmentAtRange(e))},d.prototype.moveCursorInDirection=function(t){var e,n,i,o;return this.editingAttachment?i=this.document.getRangeOfAttachment(this.editingAttachment):(o=this.getSelectedRange(),i=this.getExpandedRangeInDirection(t),n=!c(o,i)),this.setSelectedRange(\"backward\"===t?i[0]:i[1]),n&&(e=this.getAttachmentAtRange(i))?this.editAttachment(e):void 0},d.prototype.expandSelectionInDirection=function(t,e){var n,i;return n=(null!=e?e:{}).length,i=this.getExpandedRangeInDirection(t,{length:n}),this.setSelectedRange(i)},d.prototype.expandSelectionForEditing=function(){return this.hasCurrentAttribute(\"href\")?this.expandSelectionAroundCommonAttribute(\"href\"):void 0},d.prototype.expandSelectionAroundCommonAttribute=function(t){var e,n;return e=this.getPosition(),n=this.document.getRangeOfCommonAttributeAtPosition(t,e),this.setSelectedRange(n)},d.prototype.selectionContainsAttachments=function(){var t;return(null!=(t=this.getSelectedAttachments())?t.length:void 0)>0},d.prototype.selectionIsInCursorTarget=function(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())},d.prototype.positionIsCursorTarget=function(t){var e;return(e=this.document.locationFromPosition(t))?this.locationIsCursorTarget(e):void 0},d.prototype.positionIsBlockBreak=function(t){var e;return null!=(e=this.document.getPieceAtPosition(t))?e.isBlockBreak():void 0},d.prototype.getSelectedDocument=function(){var t;return(t=this.getSelectedRange())?this.document.getDocumentAtRange(t):void 0},d.prototype.getSelectedAttachments=function(){var t;return null!=(t=this.getSelectedDocument())?t.getAttachments():void 0},d.prototype.getAttachments=function(){return this.attachments.slice(0)},d.prototype.refreshAttachments=function(){var t,e,n,i,o,r,s,a,u,c,h,p;for(n=this.document.getAttachments(),a=l(this.attachments,n),t=a.added,h=a.removed,this.attachments=n,i=0,r=h.length;r>i;i++)e=h[i],e.delegate=null,null!=(u=this.delegate)&&\"function\"==typeof u.compositionDidRemoveAttachment&&u.compositionDidRemoveAttachment(e);for(p=[],o=0,s=t.length;s>o;o++)e=t[o],e.delegate=this,p.push(null!=(c=this.delegate)&&\"function\"==typeof c.compositionDidAddAttachment?c.compositionDidAddAttachment(e):void 0);return p},d.prototype.attachmentDidChangeAttributes=function(t){var e;return this.revision++,null!=(e=this.delegate)&&\"function\"==typeof e.compositionDidEditAttachment?e.compositionDidEditAttachment(t):void 0},d.prototype.attachmentDidChangePreviewURL=function(t){var e;return this.revision++,null!=(e=this.delegate)&&\"function\"==typeof e.compositionDidChangeAttachmentPreviewURL?e.compositionDidChangeAttachmentPreviewURL(t):void 0},d.prototype.editAttachment=function(t,e){var n;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,null!=(n=this.delegate)&&\"function\"==typeof n.compositionDidStartEditingAttachment?n.compositionDidStartEditingAttachment(this.editingAttachment,e):void 0},d.prototype.stopEditingAttachment=function(){var t;if(this.editingAttachment)return null!=(t=this.delegate)&&\"function\"==typeof t.compositionDidStopEditingAttachment&&t.compositionDidStopEditingAttachment(this.editingAttachment),this.editingAttachment=null},d.prototype.updateAttributesForAttachment=function(t,e){return this.setDocument(this.document.updateAttributesForAttachment(t,e))},d.prototype.removeAttributeForAttachment=function(t,e){return this.setDocument(this.document.removeAttributeForAttachment(t,e))},d.prototype.breakFormattedBlock=function(t){var n,i,o,r,s;return i=t.document,n=t.block,r=t.startPosition,s=[r-1,r],n.getBlockBreakPosition()===t.startLocation.offset?(n.breaksOnReturn()&&\"\\n\"===t.nextCharacter?r+=1:i=i.removeTextAtRange(s),s=[r,r]):\"\\n\"===t.nextCharacter?\"\\n\"===t.previousCharacter?s=[r-1,r+1]:(s=[r,r+1],r+=1):t.startLocation.offset-1!==0&&(r+=1),o=new e.Document([n.removeLastAttribute().copyWithoutText()]),this.setDocument(i.insertDocumentAtRange(o,s)),this.setSelection(r)},d.prototype.getPreviousBlock=function(){var t,e;return(e=this.getLocationRange())&&(t=e[0].index,t>0)?this.document.getBlockAtIndex(t-1):void 0},d.prototype.getBlock=function(){var t;return(t=this.getLocationRange())?this.document.getBlockAtIndex(t[0].index):void 0},d.prototype.getAttachmentAtRange=function(t){var n;return n=this.document.getDocumentAtRange(t),n.toString()===e.OBJECT_REPLACEMENT_CHARACTER+\"\\n\"?n.getAttachments()[0]:void 0},d.prototype.notifyDelegateOfCurrentAttributesChange=function(){var t;return null!=(t=this.delegate)&&\"function\"==typeof t.compositionDidChangeCurrentAttributes?t.compositionDidChangeCurrentAttributes(this.currentAttributes):void 0},d.prototype.notifyDelegateOfInsertionAtRange=function(t){var e;return null!=(e=this.delegate)&&\"function\"==typeof e.compositionDidPerformInsertionAtRange?e.compositionDidPerformInsertionAtRange(t):void 0},d.prototype.translateUTF16PositionFromOffset=function(t,e){var n,i;return i=this.document.toUTF16String(),n=i.offsetFromUCS2Offset(t),i.offsetToUCS2Offset(n+e)},d}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.UndoManager=function(e){function n(t){this.composition=t,this.undoEntries=[],this.redoEntries=[]}var i;return t(n,e),n.prototype.recordUndoEntry=function(t,e){var n,o,r,s,a;return s=null!=e?e:{},o=s.context,n=s.consolidatable,r=this.undoEntries.slice(-1)[0],n&&i(r,t,o)?void 0:(a=this.createEntry({description:t,context:o}),this.undoEntries.push(a),this.redoEntries=[])},n.prototype.undo=function(){var t,e;return(e=this.undoEntries.pop())?(t=this.createEntry(e),this.redoEntries.push(t),this.composition.loadSnapshot(e.snapshot)):void 0},n.prototype.redo=function(){var t,e;return(t=this.redoEntries.pop())?(e=this.createEntry(t),this.undoEntries.push(e),this.composition.loadSnapshot(t.snapshot)):void 0},n.prototype.canUndo=function(){return this.undoEntries.length>0},n.prototype.canRedo=function(){return this.redoEntries.length>0},n.prototype.createEntry=function(t){var e,n,i;return i=null!=t?t:{},n=i.description,e=i.context,{description:null!=n?n.toString():void 0,context:JSON.stringify(e),snapshot:this.composition.getSnapshot()}},i=function(t,e,n){return(null!=t?t.description:void 0)===(null!=e?e.toString():void 0)&&(null!=t?t.context:void 0)===JSON.stringify(n)},n}(e.BasicObject)}.call(this),function(){var t;e.attachmentGalleryFilter=function(e){var n;return n=new t(e),n.perform(),n.getSnapshot()},t=function(){function t(t){this.document=t.document,this.selectedRange=t.selectedRange}var e,n,i;return e=\"attachmentGallery\",n=\"presentation\",i=\"gallery\",t.prototype.perform=function(){return this.removeBlockAttribute(),this.applyBlockAttribute()},t.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.selectedRange}},t.prototype.removeBlockAttribute=function(){var t,n,i,o,r;for(o=this.findRangesOfBlocks(),r=[],t=0,n=o.length;n>t;t++)i=o[t],r.push(this.document=this.document.removeAttributeAtRange(e,i));return r},t.prototype.applyBlockAttribute=function(){var t,n,i,o,r,s;for(i=0,r=this.findRangesOfPieces(),s=[],t=0,n=r.length;n>t;t++)o=r[t],o[1]-o[0]>1&&(o[0]+=i,o[1]+=i,\"\\n\"!==this.document.getCharacterAtPosition(o[1])&&(this.document=this.document.insertBlockBreakAtRange(o[1]),o[1]n;n++)e=t[n],this.manageAttachment(e)}return t(i,n),i.prototype.getAttachments=function(){var t,e,n,i;n=this.managedAttachments,i=[];for(e in n)t=n[e],i.push(t);return i},i.prototype.manageAttachment=function(t){var n,i;return null!=(n=this.managedAttachments)[i=t.id]?n[i]:n[i]=new e.ManagedAttachment(this,t)},i.prototype.attachmentIsManaged=function(t){return t.id in this.managedAttachments},i.prototype.requestRemovalOfAttachment=function(t){var e;return this.attachmentIsManaged(t)&&null!=(e=this.delegate)&&\"function\"==typeof e.attachmentManagerDidRequestRemovalOfAttachment?e.attachmentManagerDidRequestRemovalOfAttachment(t):void 0},i.prototype.unmanageAttachment=function(t){var e;return e=this.managedAttachments[t.id],delete this.managedAttachments[t.id],e},i}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h;t=e.elementContainsNode,n=e.findChildIndexOfNode,r=e.nodeIsBlockStart,s=e.nodeIsBlockStartComment,o=e.nodeIsBlockContainer,a=e.nodeIsCursorTarget,u=e.nodeIsEmptyTextNode,c=e.nodeIsTextNode,i=e.nodeIsAttachmentElement,l=e.tagName,h=e.walkTree,e.LocationMapper=function(){function e(t){this.element=t}var p,d,f,g;return e.prototype.findLocationFromContainerAndOffset=function(e,i,o){var s,u,l,p,g,m,v;for(m=(null!=o?o:{strict:!0}).strict,u=0,l=!1,p={index:0,offset:0},(s=this.findAttachmentElementParentForNode(e))&&(e=s.parentNode,i=n(s)),v=h(this.element,{usingFilter:f});v.nextNode();){if(g=v.currentNode,g===e&&c(e)){a(g)||(p.offset+=i);\nbreak}if(g.parentNode===e){if(u++===i)break}else if(!t(e,g)&&u>0)break;r(g,{strict:m})?(l&&p.index++,p.offset=0,l=!0):p.offset+=d(g)}return p},e.prototype.findContainerAndOffsetFromLocation=function(t){var e,i,s,u,l;if(0===t.index&&0===t.offset){for(e=this.element,u=0;e.firstChild;)if(e=e.firstChild,o(e)){u=1;break}return[e,u]}if(l=this.findNodeAndOffsetFromLocation(t),i=l[0],s=l[1],i){if(c(i))0===d(i)?(e=i.parentNode.parentNode,u=n(i.parentNode),a(i,{name:\"right\"})&&u++):(e=i,u=t.offset-s);else{if(e=i.parentNode,!r(i.previousSibling)&&!o(e))for(;i===e.lastChild&&(i=e,e=e.parentNode,!o(e)););u=n(i),0!==t.offset&&u++}return[e,u]}},e.prototype.findNodeAndOffsetFromLocation=function(t){var e,n,i,o,r,s,u,l;for(u=0,l=this.getSignificantNodesForIndex(t.index),n=0,i=l.length;i>n;n++){if(e=l[n],o=d(e),t.offset<=u+o)if(c(e)){if(r=e,s=u,t.offset===s&&a(r))break}else r||(r=e,s=u);if(u+=o,u>t.offset)break}return[r,s]},e.prototype.findAttachmentElementParentForNode=function(t){for(;t&&t!==this.element;){if(i(t))return t;t=t.parentNode}},e.prototype.getSignificantNodesForIndex=function(t){var e,n,i,o,r;for(i=[],r=h(this.element,{usingFilter:p}),o=!1;r.nextNode();)if(n=r.currentNode,s(n)){if(\"undefined\"!=typeof e&&null!==e?e++:e=0,e===t)o=!0;else if(o)break}else o&&i.push(n);return i},d=function(t){var e;return t.nodeType===Node.TEXT_NODE?a(t)?0:(e=t.textContent,e.length):\"br\"===l(t)||i(t)?1:0},p=function(t){return g(t)===NodeFilter.FILTER_ACCEPT?f(t):NodeFilter.FILTER_REJECT},g=function(t){return u(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},f=function(t){return i(t.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},e}()}.call(this),function(){var t,n,i=[].slice;t=e.getDOMRange,n=e.setDOMRange,e.PointMapper=function(){function e(){}return e.prototype.createDOMRangeFromPoint=function(e){var i,o,r,s,a,u,c,l;if(c=e.x,l=e.y,document.caretPositionFromPoint)return a=document.caretPositionFromPoint(c,l),r=a.offsetNode,o=a.offset,i=document.createRange(),i.setStart(r,o),i;if(document.caretRangeFromPoint)return document.caretRangeFromPoint(c,l);if(document.body.createTextRange){s=t();try{u=document.body.createTextRange(),u.moveToPoint(c,l),u.select()}catch(h){}return i=t(),n(s),i}},e.prototype.getClientRectsForDOMRange=function(t){var e,n,o;return n=i.call(t.getClientRects()),o=n[0],e=n[n.length-1],[o,e]},e}()}.call(this),function(){var t,n=function(t,e){return function(){return t.apply(e,arguments)}},i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty,r=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.getDOMRange,e.SelectionChangeObserver=function(e){function o(){this.run=n(this.run,this),this.update=n(this.update,this),this.selectionManagers=[]}var s;return i(o,e),o.prototype.start=function(){return this.started?void 0:(this.started=!0,\"onselectionchange\"in document?document.addEventListener(\"selectionchange\",this.update,!0):this.run())},o.prototype.stop=function(){return this.started?(this.started=!1,document.removeEventListener(\"selectionchange\",this.update,!0)):void 0},o.prototype.registerSelectionManager=function(t){return r.call(this.selectionManagers,t)<0?(this.selectionManagers.push(t),this.start()):void 0},o.prototype.unregisterSelectionManager=function(t){var e;return this.selectionManagers=function(){var n,i,o,r;for(o=this.selectionManagers,r=[],n=0,i=o.length;i>n;n++)e=o[n],e!==t&&r.push(e);return r}.call(this),0===this.selectionManagers.length?this.stop():void 0},o.prototype.notifySelectionManagersOfSelectionChange=function(){var t,e,n,i,o;for(n=this.selectionManagers,i=[],t=0,e=n.length;e>t;t++)o=n[t],i.push(o.selectionDidChange());return i},o.prototype.update=function(){var e;return e=t(),s(e,this.domRange)?void 0:(this.domRange=e,this.notifySelectionManagersOfSelectionChange())},o.prototype.reset=function(){return this.domRange=null,this.update()},o.prototype.run=function(){return this.started?(this.update(),requestAnimationFrame(this.run)):void 0},s=function(t,e){return(null!=t?t.startContainer:void 0)===(null!=e?e.startContainer:void 0)&&(null!=t?t.startOffset:void 0)===(null!=e?e.startOffset:void 0)&&(null!=t?t.endContainer:void 0)===(null!=e?e.endContainer:void 0)&&(null!=t?t.endOffset:void 0)===(null!=e?e.endOffset:void 0)},o}(e.BasicObject),null==e.selectionChangeObserver&&(e.selectionChangeObserver=new e.SelectionChangeObserver)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h=function(t,e){return function(){return t.apply(e,arguments)}},p=function(t,e){function n(){this.constructor=t}for(var i in e)d.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},d={}.hasOwnProperty;i=e.getDOMSelection,n=e.getDOMRange,l=e.setDOMRange,t=e.elementContainsNode,s=e.nodeIsCursorTarget,r=e.innerElementIsActive,o=e.handleEvent,a=e.normalizeRange,u=e.rangeIsCollapsed,c=e.rangesAreEqual,e.SelectionManager=function(d){function f(t){this.element=t,this.selectionDidChange=h(this.selectionDidChange,this),this.didMouseDown=h(this.didMouseDown,this),this.locationMapper=new e.LocationMapper(this.element),this.pointMapper=new e.PointMapper,this.lockCount=0,o(\"mousedown\",{onElement:this.element,withCallback:this.didMouseDown})}return p(f,d),f.prototype.getLocationRange=function(t){var e,i;return null==t&&(t={}),e=t.strict===!1?this.createLocationRangeFromDOMRange(n(),{strict:!1}):t.ignoreLock?this.currentLocationRange:null!=(i=this.lockedLocationRange)?i:this.currentLocationRange},f.prototype.setLocationRange=function(t){var e;if(!this.lockedLocationRange)return t=a(t),(e=this.createDOMRangeFromLocationRange(t))?(l(e),this.updateCurrentLocationRange(t)):void 0},f.prototype.setLocationRangeFromPointRange=function(t){var e,n;return t=a(t),n=this.getLocationAtPoint(t[0]),e=this.getLocationAtPoint(t[1]),this.setLocationRange([n,e])},f.prototype.getClientRectAtLocationRange=function(t){var e;return(e=this.createDOMRangeFromLocationRange(t))?this.getClientRectsForDOMRange(e)[1]:void 0},f.prototype.locationIsCursorTarget=function(t){var e,n,i;return i=this.findNodeAndOffsetFromLocation(t),e=i[0],n=i[1],s(e)},f.prototype.lock=function(){return 0===this.lockCount++?(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange()):void 0},f.prototype.unlock=function(){var t;return 0===--this.lockCount&&(t=this.lockedLocationRange,this.lockedLocationRange=null,null!=t)?this.setLocationRange(t):void 0},f.prototype.clearSelection=function(){var t;return null!=(t=i())?t.removeAllRanges():void 0},f.prototype.selectionIsCollapsed=function(){var t;return(null!=(t=n())?t.collapsed:void 0)===!0},f.prototype.selectionIsExpanded=function(){return!this.selectionIsCollapsed()},f.prototype.createLocationRangeFromDOMRange=function(t,e){var n,i;if(null!=t&&this.domRangeWithinElement(t)&&(i=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,e)))return t.collapsed||(n=this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,e)),a([i,n])},f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"),f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"),f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"),f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"),f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"),f.prototype.didMouseDown=function(){return this.pauseTemporarily()},f.prototype.pauseTemporarily=function(){var e,n,i,r;return this.paused=!0,n=function(e){return function(){var n,o,s;for(e.paused=!1,clearTimeout(r),o=0,s=i.length;s>o;o++)n=i[o],n.destroy();return t(document,e.element)?e.selectionDidChange():void 0}}(this),r=setTimeout(n,200),i=function(){var t,i,r,s;for(r=[\"mousemove\",\"keydown\"],s=[],t=0,i=r.length;i>t;t++)e=r[t],s.push(o(e,{onElement:document,withCallback:n}));return s}()},f.prototype.selectionDidChange=function(){return this.paused||r(this.element)?void 0:this.updateCurrentLocationRange()},f.prototype.updateCurrentLocationRange=function(t){var e;return(null!=t?t:t=this.createLocationRangeFromDOMRange(n()))&&!c(t,this.currentLocationRange)?(this.currentLocationRange=t,null!=(e=this.delegate)&&\"function\"==typeof e.locationRangeDidChange?e.locationRangeDidChange(this.currentLocationRange.slice(0)):void 0):void 0},f.prototype.createDOMRangeFromLocationRange=function(t){var e,n,i,o;return i=this.findContainerAndOffsetFromLocation(t[0]),n=u(t)?i:null!=(o=this.findContainerAndOffsetFromLocation(t[1]))?o:i,null!=i&&null!=n?(e=document.createRange(),e.setStart.apply(e,i),e.setEnd.apply(e,n),e):void 0},f.prototype.getLocationAtPoint=function(t){var e,n;return(e=this.createDOMRangeFromPoint(t))&&null!=(n=this.createLocationRangeFromDOMRange(e))?n[0]:void 0},f.prototype.domRangeWithinElement=function(e){return e.collapsed?t(this.element,e.startContainer):t(this.element,e.startContainer)&&t(this.element,e.endContainer)},f}(e.BasicObject)}.call(this),function(){var t,n,i,o,r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].slice;i=e.rangeIsCollapsed,o=e.rangesAreEqual,n=e.objectsAreEqual,t=e.getBlockConfig,e.EditorController=function(s){function u(t){var n,i;this.editorElement=t.editorElement,n=t.document,i=t.html,this.selectionManager=new e.SelectionManager(this.editorElement),this.selectionManager.delegate=this,this.composition=new e.Composition,this.composition.delegate=this,this.attachmentManager=new e.AttachmentManager(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=new(e[\"Level\"+e.config.input.getLevel()+\"InputController\"])(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new e.CompositionController(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new e.ToolbarController(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new e.Editor(this.composition,this.selectionManager,this.editorElement),null!=n?this.editor.loadDocument(n):this.editor.loadHTML(i)}var c;return r(u,s),u.prototype.registerSelectionManager=function(){return e.selectionChangeObserver.registerSelectionManager(this.selectionManager)},u.prototype.unregisterSelectionManager=function(){return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager)},u.prototype.render=function(){return this.compositionController.render()},u.prototype.reparse=function(){return this.composition.replaceHTML(this.editorElement.innerHTML)},u.prototype.compositionDidChangeDocument=function(){return this.notifyEditorElement(\"document-change\"),this.handlingInput?void 0:this.render()},u.prototype.compositionDidChangeCurrentAttributes=function(t){return this.currentAttributes=t,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement(\"attributes-change\",{attributes:this.currentAttributes})},u.prototype.compositionDidPerformInsertionAtRange=function(t){return this.pasting?this.pastedRange=t:void 0},u.prototype.compositionShouldAcceptFile=function(t){return this.notifyEditorElement(\"file-accept\",{file:t})},u.prototype.compositionDidAddAttachment=function(t){var e;return e=this.attachmentManager.manageAttachment(t),this.notifyEditorElement(\"attachment-add\",{attachment:e})},u.prototype.compositionDidEditAttachment=function(t){var e;return this.compositionController.rerenderViewForObject(t),e=this.attachmentManager.manageAttachment(t),this.notifyEditorElement(\"attachment-edit\",{attachment:e}),this.notifyEditorElement(\"change\")},u.prototype.compositionDidChangeAttachmentPreviewURL=function(t){return this.compositionController.invalidateViewForObject(t),this.notifyEditorElement(\"change\")},u.prototype.compositionDidRemoveAttachment=function(t){var e;return e=this.attachmentManager.unmanageAttachment(t),this.notifyEditorElement(\"attachment-remove\",{attachment:e})},u.prototype.compositionDidStartEditingAttachment=function(t,e){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(t),this.compositionController.installAttachmentEditorForAttachment(t,e),this.selectionManager.setLocationRange(this.attachmentLocationRange)},u.prototype.compositionDidStopEditingAttachment=function(){return this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null},u.prototype.compositionDidRequestChangingSelectionToLocationRange=function(t){return!this.loadingSnapshot||this.isFocused()?(this.requestedLocationRange=t,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()):void 0},u.prototype.compositionWillLoadSnapshot=function(){return this.loadingSnapshot=!0},u.prototype.compositionDidLoadSnapshot=function(){return this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1},u.prototype.getSelectionManager=function(){return this.selectionManager},u.proxyMethod(\"getSelectionManager().setLocationRange\"),u.proxyMethod(\"getSelectionManager().getLocationRange\"),u.prototype.attachmentManagerDidRequestRemovalOfAttachment=function(t){return this.removeAttachment(t)},u.prototype.compositionControllerWillSyncDocumentView=function(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()},u.prototype.compositionControllerDidSyncDocumentView=function(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement(\"sync\")},u.prototype.compositionControllerDidRender=function(){return null!=this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement(\"render\")),this.renderedCompositionRevision=this.composition.revision},u.prototype.compositionControllerDidFocus=function(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement(\"focus\")},u.prototype.compositionControllerDidBlur=function(){return this.notifyEditorElement(\"blur\")},u.prototype.compositionControllerDidSelectAttachment=function(t,e){return this.toolbarController.hideDialog(),this.composition.editAttachment(t,e)},u.prototype.compositionControllerDidRequestDeselectingAttachment=function(t){var e,n;return e=null!=(n=this.attachmentLocationRange)?n:this.composition.document.getLocationRangeOfAttachment(t),this.selectionManager.setLocationRange(e[1])},u.prototype.compositionControllerWillUpdateAttachment=function(t){return this.editor.recordUndoEntry(\"Edit Attachment\",{context:t.id,consolidatable:!0})},u.prototype.compositionControllerDidRequestRemovalOfAttachment=function(t){return this.removeAttachment(t)},u.prototype.inputControllerWillHandleInput=function(){return this.handlingInput=!0,this.requestedRender=!1},u.prototype.inputControllerDidRequestRender=function(){return this.requestedRender=!0},u.prototype.inputControllerDidHandleInput=function(){return this.handlingInput=!1,this.requestedRender?(this.requestedRender=!1,this.render()):void 0},u.prototype.inputControllerDidAllowUnhandledInput=function(){return this.notifyEditorElement(\"change\")},u.prototype.inputControllerDidRequestReparse=function(){return this.reparse()},u.prototype.inputControllerWillPerformTyping=function(){return this.recordTypingUndoEntry()},u.prototype.inputControllerWillPerformFormatting=function(t){return this.recordFormattingUndoEntry(t)},u.prototype.inputControllerWillCutText=function(){return this.editor.recordUndoEntry(\"Cut\")},u.prototype.inputControllerWillPaste=function(t){return this.editor.recordUndoEntry(\"Paste\"),this.pasting=!0,this.notifyEditorElement(\"before-paste\",{paste:t})},u.prototype.inputControllerDidPaste=function(t){return t.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement(\"paste\",{paste:t})},u.prototype.inputControllerWillMoveText=function(){return this.editor.recordUndoEntry(\"Move\")},u.prototype.inputControllerWillAttachFiles=function(){return this.editor.recordUndoEntry(\"Drop Files\")},u.prototype.inputControllerWillPerformUndo=function(){return this.editor.undo()},u.prototype.inputControllerWillPerformRedo=function(){return this.editor.redo()},u.prototype.inputControllerDidReceiveKeyboardCommand=function(t){return this.toolbarController.applyKeyboardCommand(t)},u.prototype.inputControllerDidStartDrag=function(){return this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()},u.prototype.inputControllerDidReceiveDragOverPoint=function(t){return this.selectionManager.setLocationRangeFromPointRange(t)},u.prototype.inputControllerDidCancelDrag=function(){return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null},u.prototype.locationRangeDidChange=function(t){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!o(this.attachmentLocationRange,t)&&this.composition.stopEditingAttachment(),this.notifyEditorElement(\"selection-change\")},u.prototype.toolbarDidClickButton=function(){return this.getLocationRange()?void 0:this.setLocationRange({index:0,offset:0})},u.prototype.toolbarDidInvokeAction=function(t){return this.invokeAction(t)},u.prototype.toolbarDidToggleAttribute=function(t){return this.recordFormattingUndoEntry(t),this.composition.toggleCurrentAttribute(t),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarDidUpdateAttribute=function(t,e){return this.recordFormattingUndoEntry(t),this.composition.setCurrentAttribute(t,e),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarDidRemoveAttribute=function(t){return this.recordFormattingUndoEntry(t),this.composition.removeCurrentAttribute(t),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarWillShowDialog=function(){return this.composition.expandSelectionForEditing(),this.freezeSelection()},u.prototype.toolbarDidShowDialog=function(t){return this.notifyEditorElement(\"toolbar-dialog-show\",{dialogName:t})},u.prototype.toolbarDidHideDialog=function(t){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement(\"toolbar-dialog-hide\",{dialogName:t})},u.prototype.freezeSelection=function(){return this.selectionFrozen?void 0:(this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render())},u.prototype.thawSelection=function(){return this.selectionFrozen?(this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()):void 0},u.prototype.actions={undo:{test:function(){return this.editor.canUndo()},perform:function(){return this.editor.undo()}},redo:{test:function(){return this.editor.canRedo()},perform:function(){return this.editor.redo()}},link:{test:function(){return this.editor.canActivateAttribute(\"href\")}},increaseNestingLevel:{test:function(){return this.editor.canIncreaseNestingLevel()},perform:function(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test:function(){return this.editor.canDecreaseNestingLevel()},perform:function(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:function(){return!0},perform:function(){return e.config.input.pickFiles(this.editor.insertFiles)}}},u.prototype.canInvokeAction=function(t){var e,n;return this.actionIsExternal(t)?!0:!!(null!=(e=this.actions[t])&&null!=(n=e.test)?n.call(this):void 0)},u.prototype.invokeAction=function(t){var e,n;return this.actionIsExternal(t)?this.notifyEditorElement(\"action-invoke\",{actionName:t}):null!=(e=this.actions[t])&&null!=(n=e.perform)?n.call(this):void 0},u.prototype.actionIsExternal=function(t){return/^x-./.test(t)},u.prototype.getCurrentActions=function(){var t,e;e={};for(t in this.actions)e[t]=this.canInvokeAction(t);return e},u.prototype.updateCurrentActions=function(){var t;return t=this.getCurrentActions(),n(t,this.currentActions)?void 0:(this.currentActions=t,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement(\"actions-change\",{actions:this.currentActions}))},u.prototype.runEditorFilters=function(){var t,e,n,i,o,r,s,a;for(a=this.composition.getSnapshot(),o=this.editor.filters,n=0,i=o.length;i>n;n++)e=o[n],t=a.document,s=a.selectedRange,a=null!=(r=e.call(this.editor,a))?r:{},null==a.document&&(a.document=t),null==a.selectedRange&&(a.selectedRange=s);return c(a,this.composition.getSnapshot())?void 0:this.composition.loadSnapshot(a)},c=function(t,e){return o(t.selectedRange,e.selectedRange)&&t.document.isEqualTo(e.document)},u.prototype.updateInputElement=function(){var t,n;return t=this.compositionController.getSerializableElement(),n=e.serializeToContentType(t,\"text/html\"),this.editorElement.setInputElementValue(n)},u.prototype.notifyEditorElement=function(t,e){switch(t){case\"document-change\":this.documentChangedSinceLastRender=!0;break;case\"render\":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement(\"change\"));break;case\"change\":case\"attachment-add\":case\"attachment-edit\":case\"attachment-remove\":this.updateInputElement()}return this.editorElement.notify(t,e)},u.prototype.removeAttachment=function(t){return this.editor.recordUndoEntry(\"Delete Attachment\"),this.composition.removeAttachment(t),this.render()},u.prototype.recordFormattingUndoEntry=function(e){var n,o;return n=t(e),o=this.selectionManager.getLocationRange(),n||!i(o)?this.editor.recordUndoEntry(\"Formatting\",{context:this.getUndoContext(),consolidatable:!0}):void 0},u.prototype.recordTypingUndoEntry=function(){return this.editor.recordUndoEntry(\"Typing\",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})},u.prototype.getUndoContext=function(){var t;return t=1<=arguments.length?a.call(arguments,0):[],[this.getLocationContext(),this.getTimeContext()].concat(a.call(t))},u.prototype.getLocationContext=function(){var t;return t=this.selectionManager.getLocationRange(),i(t)?t[0].index:t},u.prototype.getTimeContext=function(){return e.config.undoInterval>0?Math.floor((new Date).getTime()/e.config.undoInterval):0},u.prototype.isFocused=function(){var t;return this.editorElement===(null!=(t=this.editorElement.ownerDocument)?t.activeElement:void 0)},u.prototype.isFocusedInvisibly=function(){return this.isFocused()&&!this.getLocationRange()},u}(e.Controller)}.call(this),function(){var t,n,i,o,r,s,a,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};n=e.browser,s=e.makeElement,a=e.triggerEvent,o=e.handleEvent,r=e.handleEventOnce,i=e.findClosestElementFromNode,t=e.AttachmentView.attachmentSelector,e.registerElement(\"trix-editor\",function(){var c,l,h,p,d,f,g,m,v;return g=0,l=function(t){return!document.querySelector(\":focus\")&&t.hasAttribute(\"autofocus\")&&document.querySelector(\"[autofocus]\")===t?t.focus():void 0},m=function(t){return t.hasAttribute(\"contenteditable\")?void 0:(t.setAttribute(\"contenteditable\",\"\"),r(\"focus\",{onElement:t,withCallback:function(){return h(t)}}))},h=function(t){return d(t),v(t)},d=function(t){return(\"function\"==typeof document.queryCommandSupported?document.queryCommandSupported(\"enableObjectResizing\"):void 0)?(document.execCommand(\"enableObjectResizing\",!1,!1),o(\"mscontrolselect\",{onElement:t,preventDefault:!0})):void 0},v=function(){var t;return(\"function\"==typeof document.queryCommandSupported?document.queryCommandSupported(\"DefaultParagraphSeparator\"):void 0)&&(t=e.config.blockAttributes[\"default\"].tagName,\"div\"===t||\"p\"===t)?document.execCommand(\"DefaultParagraphSeparator\",!1,t):void 0},c=function(t){return t.hasAttribute(\"role\")?void 0:t.setAttribute(\"role\",\"textbox\")},f=function(t){var e;if(!t.hasAttribute(\"aria-label\")&&!t.hasAttribute(\"aria-labelledby\"))return(e=function(){var e,n,i;return i=function(){var n,i,o,r;for(o=t.labels,r=[],n=0,i=o.length;i>n;n++)e=o[n],e.contains(t)||r.push(e.textContent);return r}(),(n=i.join(\" \"))?t.setAttribute(\"aria-label\",n):t.removeAttribute(\"aria-label\")})(),o(\"focus\",{onElement:t,withCallback:e})},p=function(){return n.forcesObjectResizing?{display:\"inline\",width:\"auto\"}:{display:\"inline-block\",width:\"1px\"}}(),{defaultCSS:\"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \"+t+\" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \"+t+\" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \"+t+\" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \"+p.display+\" !important;\\n width: \"+p.width+\" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\",trixId:{get:function(){return this.hasAttribute(\"trix-id\")?this.getAttribute(\"trix-id\"):(this.setAttribute(\"trix-id\",++g),this.trixId)}},labels:{get:function(){var t,e,n;return e=[],this.id&&this.ownerDocument&&e.push.apply(e,this.ownerDocument.querySelectorAll(\"label[for='\"+this.id+\"']\")),(t=i(this,{matchingSelector:\"label\"}))&&((n=t.control)===this||null===n)&&e.push(t),e}},toolbarElement:{get:function(){var t,e,n;return this.hasAttribute(\"toolbar\")?null!=(e=this.ownerDocument)?e.getElementById(this.getAttribute(\"toolbar\")):void 0:this.parentNode?(n=\"trix-toolbar-\"+this.trixId,this.setAttribute(\"toolbar\",n),t=s(\"trix-toolbar\",{id:n}),this.parentNode.insertBefore(t,this),t):void 0}},inputElement:{get:function(){var t,e,n;return this.hasAttribute(\"input\")?null!=(n=this.ownerDocument)?n.getElementById(this.getAttribute(\"input\")):void 0:this.parentNode?(e=\"trix-input-\"+this.trixId,this.setAttribute(\"input\",e),t=s(\"input\",{type:\"hidden\",id:e}),this.parentNode.insertBefore(t,this.nextElementSibling),t):void 0}},editor:{get:function(){var t;return null!=(t=this.editorController)?t.editor:void 0}},name:{get:function(){var t;return null!=(t=this.inputElement)?t.name:void 0}},value:{get:function(){var t;return null!=(t=this.inputElement)?t.value:void 0},set:function(t){var e;return this.defaultValue=t,null!=(e=this.editor)?e.loadHTML(this.defaultValue):void 0}},notify:function(t,e){return this.editorController?a(\"trix-\"+t,{onElement:this,attributes:e}):void 0},setInputElementValue:function(t){var e;return null!=(e=this.inputElement)?e.value=t:void 0},initialize:function(){return this.hasAttribute(\"data-trix-internal\")?void 0:(m(this),c(this),f(this))},connect:function(){return this.hasAttribute(\"data-trix-internal\")?void 0:(this.editorController||(a(\"trix-before-initialize\",{onElement:this}),this.editorController=new e.EditorController({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(function(t){return function(){return a(\"trix-initialize\",{onElement:t})}}(this))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),l(this))},disconnect:function(){var t;return null!=(t=this.editorController)&&t.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()},registerResetListener:function(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener(\"reset\",this.resetListener,!1)},unregisterResetListener:function(){return window.removeEventListener(\"reset\",this.resetListener,!1)},registerClickListener:function(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener(\"click\",this.clickListener,!1)},unregisterClickListener:function(){return window.removeEventListener(\"click\",this.clickListener,!1)},resetBubbled:function(t){var e;if(!t.defaultPrevented&&t.target===(null!=(e=this.inputElement)?e.form:void 0))return this.reset()},clickBubbled:function(t){var e;if(!(t.defaultPrevented||this.contains(t.target)||!(e=i(t.target,{matchingSelector:\"label\"}))||u.call(this.labels,e)<0))return this.focus()},reset:function(){return this.value=this.defaultValue}}}())}.call(this),function(){}.call(this)}).call(this),\"object\"==typeof module&&module.exports?module.exports=e:\"function\"==typeof define&&define.amd&&define(e)}.call(this);","/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function(){var t=this;(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState&&null!=window.requestAnimationFrame&&null!=window.addEventListener}(),visit:function(t,r){return e.controller.visit(t,r)},clearCache:function(){return e.controller.clearCache()},setProgressBarDelay:function(t){return e.controller.setProgressBarDelay(t)}}}).call(this)}).call(t);var e=t.Turbolinks;(function(){(function(){var t,r,n,o=[].slice;e.copyObject=function(t){var e,r,n;r={};for(e in t)n=t[e],r[e]=n;return r},e.closest=function(e,r){return t.call(e,r)},t=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE&&r.call(e,t))return e;e=e.parentNode}}}(),e.defer=function(t){return setTimeout(t,1)},e.throttle=function(t){var e;return e=null,function(){var r;return r=1<=arguments.length?o.call(arguments,0):[],null!=e?e:e=requestAnimationFrame(function(n){return function(){return e=null,t.apply(n,r)}}(this))}},e.dispatch=function(t,e){var r,o,i,s,a,u;return a=null!=e?e:{},u=a.target,r=a.cancelable,o=a.data,i=document.createEvent(\"Events\"),i.initEvent(t,!0,r===!0),i.data=null!=o?o:{},i.cancelable&&!n&&(s=i.preventDefault,i.preventDefault=function(){return this.defaultPrevented||Object.defineProperty(this,\"defaultPrevented\",{get:function(){return!0}}),s.call(this)}),(null!=u?u:document).dispatchEvent(i),i},n=function(){var t;return t=document.createEvent(\"Events\"),t.initEvent(\"test\",!0,!0),t.preventDefault(),t.defaultPrevented}(),e.match=function(t,e){return r.call(t,e)},r=function(){var t,e,r,n;return t=document.documentElement,null!=(e=null!=(r=null!=(n=t.matchesSelector)?n:t.webkitMatchesSelector)?r:t.msMatchesSelector)?e:t.mozMatchesSelector}(),e.uuid=function(){var t,e,r;for(r=\"\",t=e=1;36>=e;t=++e)r+=9===t||14===t||19===t||24===t?\"-\":15===t?\"4\":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return r}}).call(this),function(){e.Location=function(){function t(t){var e,r;null==t&&(t=\"\"),r=document.createElement(\"a\"),r.href=t.toString(),this.absoluteURL=r.href,e=r.hash.length,2>e?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=r.hash.slice(1))}var e,r,n,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split(\"/\",3).join(\"/\")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/))?e[1]:void 0)?t:\"/\"},t.prototype.getPathComponents=function(){return this.getPath().split(\"/\").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\\.[^.]*$/))?e[0]:void 0)?t:\"\"},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=r(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},r=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return n(t,\"/\")?t:t+\"/\"},o=function(t,e){return t.slice(0,e.length)===e},n=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.HttpRequest=function(){function r(r,n,o){this.delegate=r,this.requestCanceled=t(this.requestCanceled,this),this.requestTimedOut=t(this.requestTimedOut,this),this.requestFailed=t(this.requestFailed,this),this.requestLoaded=t(this.requestLoaded,this),this.requestProgressed=t(this.requestProgressed,this),this.url=e.Location.wrap(n).requestURL,this.referrer=e.Location.wrap(o).absoluteURL,this.createXHR()}return r.NETWORK_FAILURE=0,r.TIMEOUT_FAILURE=-1,r.timeout=60,r.prototype.send=function(){var t;return this.xhr&&!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,\"function\"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},r.prototype.cancel=function(){return this.xhr&&this.sent?this.xhr.abort():void 0},r.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},r.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200<=(e=t.xhr.status)&&300>e?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader(\"Turbolinks-Location\")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},r.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},r.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},r.prototype.requestCanceled=function(){return this.endRequest()},r.prototype.notifyApplicationBeforeRequestStart=function(){return e.dispatch(\"turbolinks:request-start\",{data:{url:this.url,xhr:this.xhr}})},r.prototype.notifyApplicationAfterRequestEnd=function(){return e.dispatch(\"turbolinks:request-end\",{data:{url:this.url,xhr:this.xhr}})},r.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open(\"GET\",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader(\"Accept\",\"text/html, application/xhtml+xml\"),this.xhr.setRequestHeader(\"Turbolinks-Referrer\",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},r.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t&&t.call(this),this.destroy()):void 0},r.prototype.setProgress=function(t){var e;return this.progress=t,\"function\"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},r.prototype.destroy=function(){var t;return this.setProgress(1),\"function\"==typeof(t=this.delegate).requestFinished&&t.requestFinished(),this.delegate=null,this.xhr=null},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ProgressBar=function(){function e(){this.trickle=t(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var r;return r=300,e.defaultCSS=\".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \"+r+\"ms ease-out, opacity \"+r/2+\"ms \"+r/2+\"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\",e.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},e.prototype.hide=function(){return this.visible&&!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},e.prototype.setValue=function(t){return this.value=t,this.refresh()},e.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},e.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},e.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*r)},e.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},e.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,r)},e.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},e.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},e.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+\"%\"}}(this))},e.prototype.createStylesheetElement=function(){var t;return t=document.createElement(\"style\"),t.type=\"text/css\",t.textContent=this.constructor.defaultCSS,t},e.prototype.createProgressElement=function(){var t;return t=document.createElement(\"div\"),t.className=\"turbolinks-progress-bar\",t},e}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.BrowserAdapter=function(){function r(r){this.controller=r,this.showProgressBar=t(this.showProgressBar,this),this.progressBar=new e.ProgressBar}var n,o,i;return i=e.HttpRequest,n=i.NETWORK_FAILURE,o=i.TIMEOUT_FAILURE,r.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},r.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},r.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||\"restore\"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},r.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},r.prototype.visitRequestCompleted=function(t){return t.loadResponse()},r.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case n:case o:return this.reload();default:return t.loadResponse()}},r.prototype.visitRequestFinished=function(t){return this.hideProgressBar()},r.prototype.visitCompleted=function(t){return t.followRedirect()},r.prototype.pageInvalidated=function(){return this.reload()},r.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,this.controller.progressBarDelay)},r.prototype.showProgressBar=function(){return this.progressBar.show()},r.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},r.prototype.reload=function(){return window.location.reload()},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.History=function(){function r(e){this.delegate=e,this.onPageLoad=t(this.onPageLoad,this),this.onPopState=t(this.onPopState,this)}return r.prototype.start=function(){return this.started?void 0:(addEventListener(\"popstate\",this.onPopState,!1),addEventListener(\"load\",this.onPageLoad,!1),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener(\"popstate\",this.onPopState,!1),removeEventListener(\"load\",this.onPageLoad,!1),this.started=!1):void 0},r.prototype.push=function(t,r){return t=e.Location.wrap(t),this.update(\"push\",t,r)},r.prototype.replace=function(t,r){return t=e.Location.wrap(t),this.update(\"replace\",t,r)},r.prototype.onPopState=function(t){var r,n,o,i;return this.shouldHandlePopState()&&(i=null!=(n=t.state)?n.turbolinks:void 0)?(r=e.Location.wrap(window.location),o=i.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(r,o)):void 0},r.prototype.onPageLoad=function(t){return e.defer(function(t){return function(){return t.pageLoaded=!0}}(this))},r.prototype.shouldHandlePopState=function(){return this.pageIsLoaded()},r.prototype.pageIsLoaded=function(){return this.pageLoaded||\"complete\"===document.readyState},r.prototype.update=function(t,e,r){var n;return n={turbolinks:{restorationIdentifier:r}},history[t+\"State\"](n,null,e)},r}()}.call(this),function(){e.HeadDetails=function(){function t(t){var e,r,n,s,a,u;for(this.elements={},n=0,a=t.length;a>n;n++)u=t[n],u.nodeType===Node.ELEMENT_NODE&&(s=u.outerHTML,r=null!=(e=this.elements)[s]?e[s]:e[s]={type:i(u),tracked:o(u),elements:[]},r.elements.push(u))}var e,r,n,o,i;return t.fromHeadElement=function(t){var e;return new this(null!=(e=null!=t?t.childNodes:void 0)?e:[])},t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var r,n;r=this.elements,n=[];for(t in r)e=r[t].tracked,e&&n.push(t);return n}.call(this).join(\"\")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails(\"script\",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails(\"stylesheet\",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var r,n,o,i,s,a;o=this.elements,s=[];for(n in o)i=o[n],a=i.type,r=i.elements,a!==t||e.hasElementWithKey(n)||s.push(r[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,r,n,o,i,s;r=[],n=this.elements;for(e in n)o=n[e],s=o.type,i=o.tracked,t=o.elements,null!=s||i?t.length>1&&r.push.apply(r,t.slice(1)):r.push.apply(r,t);return r},t.prototype.getMetaValue=function(t){var e;return null!=(e=this.findMetaElementByName(t))?e.getAttribute(\"content\"):void 0},t.prototype.findMetaElementByName=function(t){var r,n,o,i;r=void 0,i=this.elements;for(o in i)n=i[o].elements,e(n[0],t)&&(r=n[0]);return r},i=function(t){return r(t)?\"script\":n(t)?\"stylesheet\":void 0},o=function(t){return\"reload\"===t.getAttribute(\"data-turbolinks-track\")},r=function(t){var e;return e=t.tagName.toLowerCase(),\"script\"===e},n=function(t){var e;return e=t.tagName.toLowerCase(),\"style\"===e||\"link\"===e&&\"stylesheet\"===t.getAttribute(\"rel\")},e=function(t,e){var r;return r=t.tagName.toLowerCase(),\"meta\"===r&&t.getAttribute(\"name\")===e},t}()}.call(this),function(){e.Snapshot=function(){function t(t,e){this.headDetails=t,this.bodyElement=e}return t.wrap=function(t){return t instanceof this?t:\"string\"==typeof t?this.fromHTMLString(t):this.fromHTMLElement(t)},t.fromHTMLString=function(t){var e;return e=document.createElement(\"html\"),e.innerHTML=t,this.fromHTMLElement(e)},t.fromHTMLElement=function(t){var r,n,o,i;return o=t.querySelector(\"head\"),r=null!=(i=t.querySelector(\"body\"))?i:document.createElement(\"body\"),n=e.HeadDetails.fromHeadElement(o),new this(n,r)},t.prototype.clone=function(){return new this.constructor(this.headDetails,this.bodyElement.cloneNode(!0))},t.prototype.getRootLocation=function(){var t,r;return r=null!=(t=this.getSetting(\"root\"))?t:\"/\",new e.Location(r)},t.prototype.getCacheControlValue=function(){return this.getSetting(\"cache-control\")},t.prototype.getElementForAnchor=function(t){try{return this.bodyElement.querySelector(\"[id='\"+t+\"'], a[name='\"+t+\"']\")}catch(e){}},t.prototype.getPermanentElements=function(){return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\")},t.prototype.getPermanentElementById=function(t){return this.bodyElement.querySelector(\"#\"+t+\"[data-turbolinks-permanent]\")},t.prototype.getPermanentElementsPresentInSnapshot=function(t){var e,r,n,o,i;for(o=this.getPermanentElements(),i=[],r=0,n=o.length;n>r;r++)e=o[r],t.getPermanentElementById(e.id)&&i.push(e);return i},t.prototype.findFirstAutofocusableElement=function(){return this.bodyElement.querySelector(\"[autofocus]\")},t.prototype.hasAnchor=function(t){return null!=this.getElementForAnchor(t)},t.prototype.isPreviewable=function(){return\"no-preview\"!==this.getCacheControlValue()},t.prototype.isCacheable=function(){return\"no-cache\"!==this.getCacheControlValue()},t.prototype.isVisitable=function(){return\"reload\"!==this.getSetting(\"visit-control\")},t.prototype.getSetting=function(t){return this.headDetails.getMetaValue(\"turbolinks-\"+t)},t}()}.call(this),function(){var t=[].slice;e.Renderer=function(){function e(){}var r;return e.render=function(){var e,r,n,o;return n=arguments[0],r=arguments[1],e=3<=arguments.length?t.call(arguments,2):[],o=function(t,e,r){r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return Object(o)===o?o:n}(this,e,function(){}),o.delegate=n,o.render(r),o},e.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},e.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},e.prototype.createScriptElement=function(t){var e;return\"false\"===t.getAttribute(\"data-turbolinks-eval\")?t:(e=document.createElement(\"script\"),e.textContent=t.textContent,e.async=!1,r(e,t),e)},r=function(t,e){var r,n,o,i,s,a,u;for(i=e.attributes,a=[],r=0,n=i.length;n>r;r++)s=i[r],o=s.name,u=s.value,a.push(t.setAttribute(o,u));return a},e}()}.call(this),function(){var t,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;e.SnapshotRenderer=function(e){function o(t,e,r){this.currentSnapshot=t,this.newSnapshot=e,this.isPreview=r,this.currentHeadDetails=this.currentSnapshot.headDetails,this.newHeadDetails=this.newSnapshot.headDetails,this.currentBody=this.currentSnapshot.bodyElement,this.newBody=this.newSnapshot.bodyElement}return n(o,e),o.prototype.render=function(t){return this.shouldRender()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.isPreview||e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},o.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},o.prototype.replaceBody=function(){var t;return t=this.relocateCurrentBodyPermanentElements(),this.activateNewBodyScriptElements(),this.assignNewBody(),this.replacePlaceholderElementsWithClonedPermanentElements(t)},o.prototype.shouldRender=function(){return this.newSnapshot.isVisitable()&&this.trackedElementsAreIdentical()},o.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},o.prototype.copyNewHeadStylesheetElements=function(){var t,e,r,n,o;for(n=this.getNewHeadStylesheetElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.copyNewHeadScriptElements=function(){var t,e,r,n,o;for(n=this.getNewHeadScriptElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},o.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getCurrentHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.removeChild(t));return o},o.prototype.copyNewHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getNewHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.relocateCurrentBodyPermanentElements=function(){var e,n,o,i,s,a,u;for(a=this.getCurrentBodyPermanentElements(),u=[],e=0,n=a.length;n>e;e++)i=a[e],s=t(i),o=this.newSnapshot.getPermanentElementById(i.id),r(i,s.element),r(o,i),u.push(s);return u},o.prototype.replacePlaceholderElementsWithClonedPermanentElements=function(t){var e,n,o,i,s,a,u;for(u=[],o=0,i=t.length;i>o;o++)a=t[o],n=a.element,s=a.permanentElement,e=s.cloneNode(!0),u.push(r(n,e));return u},o.prototype.activateNewBodyScriptElements=function(){var t,e,n,o,i,s;for(i=this.getNewBodyScriptElements(),s=[],e=0,o=i.length;o>e;e++)n=i[e],t=this.createScriptElement(n),s.push(r(n,t));return s},o.prototype.assignNewBody=function(){return document.body=this.newBody},o.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.newSnapshot.findFirstAutofocusableElement())?t.focus():void 0},o.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},o.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},o.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},o.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},o.prototype.getCurrentBodyPermanentElements=function(){return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot)},o.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll(\"script\")},o}(e.Renderer),t=function(t){var e;return e=document.createElement(\"meta\"),e.setAttribute(\"name\",\"turbolinks-permanent-placeholder\"),e.setAttribute(\"content\",t.id),{element:e,permanentElement:t}},r=function(t,e){var r;return(r=t.parentNode)?r.replaceChild(e,t):void 0}}.call(this),function(){var t=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;e.ErrorRenderer=function(e){function r(t){var e;e=document.createElement(\"html\"),e.innerHTML=t,this.newHead=e.querySelector(\"head\"),this.newBody=e.querySelector(\"body\")}return t(r,e),r.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceHeadAndBody(),e.activateBodyScriptElements(),t()}}(this))},r.prototype.replaceHeadAndBody=function(){var t,e;return e=document.head,t=document.body,e.parentNode.replaceChild(this.newHead,e),t.parentNode.replaceChild(this.newBody,t)},r.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getScriptElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},r.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll(\"script\")},r}(e.Renderer)}.call(this),function(){e.View=function(){function t(t){this.delegate=t,this.htmlElement=document.documentElement}return t.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},t.prototype.getElementForAnchor=function(t){return this.getSnapshot().getElementForAnchor(t)},t.prototype.getSnapshot=function(){return e.Snapshot.fromHTMLElement(this.htmlElement)},t.prototype.render=function(t,e){var r,n,o;return o=t.snapshot,r=t.error,n=t.isPreview,this.markAsPreview(n),null!=o?this.renderSnapshot(o,n,e):this.renderError(r,e)},t.prototype.markAsPreview=function(t){return t?this.htmlElement.setAttribute(\"data-turbolinks-preview\",\"\"):this.htmlElement.removeAttribute(\"data-turbolinks-preview\")},t.prototype.renderSnapshot=function(t,r,n){return e.SnapshotRenderer.render(this.delegate,n,this.getSnapshot(),e.Snapshot.wrap(t),r)},t.prototype.renderError=function(t,r){return e.ErrorRenderer.render(this.delegate,r,t)},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ScrollManager=function(){function r(r){this.delegate=r,this.onScroll=t(this.onScroll,this),this.onScroll=e.throttle(this.onScroll)}return r.prototype.start=function(){return this.started?void 0:(addEventListener(\"scroll\",this.onScroll,!1),this.onScroll(),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener(\"scroll\",this.onScroll,!1),this.started=!1):void 0},r.prototype.scrollToElement=function(t){return t.scrollIntoView()},r.prototype.scrollToPosition=function(t){var e,r;return e=t.x,r=t.y,window.scrollTo(e,r)},r.prototype.onScroll=function(t){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},r.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},r}()}.call(this),function(){e.SnapshotCache=function(){function t(t){this.size=t,this.keys=[],this.snapshots={}}var r;return t.prototype.has=function(t){var e;return e=r(t),e in this.snapshots},t.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},t.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},t.prototype.read=function(t){var e;return e=r(t),this.snapshots[e]},t.prototype.write=function(t,e){var n;return n=r(t),this.snapshots[n]=e},t.prototype.touch=function(t){var e,n;return n=r(t),e=this.keys.indexOf(n),e>-1&&this.keys.splice(e,1),this.keys.unshift(n),this.trim()},t.prototype.trim=function(){var t,e,r,n,o;for(n=this.keys.splice(this.size),o=[],t=0,r=n.length;r>t;t++)e=n[t],o.push(delete this.snapshots[e]);return o},r=function(t){return e.Location.wrap(t).toCacheKey()},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Visit=function(){function r(r,n,o){this.controller=r,this.action=o,this.performScroll=t(this.performScroll,this),this.identifier=e.uuid(),this.location=e.Location.wrap(n),this.adapter=this.controller.adapter,this.state=\"initialized\",this.timingMetrics={}}var n;return r.prototype.start=function(){return\"initialized\"===this.state?(this.recordTimingMetric(\"visitStart\"),this.state=\"started\",this.adapter.visitStarted(this)):void 0},r.prototype.cancel=function(){var t;return\"started\"===this.state?(null!=(t=this.request)&&t.cancel(),this.cancelRender(),this.state=\"canceled\"):void 0},r.prototype.complete=function(){var t;return\"started\"===this.state?(this.recordTimingMetric(\"visitEnd\"),this.state=\"completed\",\"function\"==typeof(t=this.adapter).visitCompleted&&t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},r.prototype.fail=function(){var t;return\"started\"===this.state?(this.state=\"failed\",\"function\"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},r.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?\"replace\":this.action,e=n(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},r.prototype.issueRequest=function(){return this.shouldIssueRequest()&&null==this.request?(this.progress=0,this.request=new e.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},r.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor&&!t.hasAnchor(this.location.anchor)||\"restore\"!==this.action&&!t.isPreviewable()?void 0:t},r.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},r.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var r;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),\"function\"==typeof(r=this.adapter).visitRendered&&r.visitRendered(this),t?void 0:this.complete()})):void 0},r.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),\"function\"==typeof(t=this.adapter).visitRendered&&t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),\"function\"==typeof(e=this.adapter).visitRendered&&e.visitRendered(this),this.complete())}):void 0},r.prototype.followRedirect=function(){return this.redirectedToLocation&&!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},r.prototype.requestStarted=function(){var t;return this.recordTimingMetric(\"requestStart\"),\"function\"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},r.prototype.requestProgressed=function(t){var e;return this.progress=t,\"function\"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},r.prototype.requestCompletedWithResponse=function(t,r){return this.response=t,null!=r&&(this.redirectedToLocation=e.Location.wrap(r)),this.adapter.visitRequestCompleted(this)},r.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},r.prototype.requestFinished=function(){var t;return this.recordTimingMetric(\"requestEnd\"),\"function\"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},r.prototype.performScroll=function(){return this.scrolled?void 0:(\"restore\"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},r.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},r.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},r.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},r.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},r.prototype.getTimingMetrics=function(){return e.copyObject(this.timingMetrics)},n=function(t){switch(t){case\"replace\":return\"replaceHistoryWithLocationAndRestorationIdentifier\";case\"advance\":case\"restore\":return\"pushHistoryWithLocationAndRestorationIdentifier\"}},r.prototype.shouldIssueRequest=function(){return\"restore\"===this.action?!this.hasCachedSnapshot():!0},r.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},r.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},r.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Controller=function(){function r(){this.clickBubbled=t(this.clickBubbled,this),this.clickCaptured=t(this.clickCaptured,this),this.pageLoaded=t(this.pageLoaded,this),this.history=new e.History(this),this.view=new e.View(this),this.scrollManager=new e.ScrollManager(this),this.restorationData={},this.clearCache(),this.setProgressBarDelay(500)}return r.prototype.start=function(){return e.supported&&!this.started?(addEventListener(\"click\",this.clickCaptured,!0),addEventListener(\"DOMContentLoaded\",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},r.prototype.disable=function(){return this.enabled=!1},r.prototype.stop=function(){return this.started?(removeEventListener(\"click\",this.clickCaptured,!0),removeEventListener(\"DOMContentLoaded\",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},r.prototype.clearCache=function(){return this.cache=new e.SnapshotCache(10)},r.prototype.visit=function(t,r){var n,o;return null==r&&(r={}),t=e.Location.wrap(t),this.applicationAllowsVisitingLocation(t)?this.locationIsVisitable(t)?(n=null!=(o=r.action)?o:\"advance\",this.adapter.visitProposedToLocationWithAction(t,n)):window.location=t:void 0},r.prototype.startVisitToLocationWithAction=function(t,r,n){var o;return e.supported?(o=this.getRestorationDataForIdentifier(n),this.startVisit(t,r,{restorationData:o})):window.location=t},r.prototype.setProgressBarDelay=function(t){return this.progressBarDelay=t},r.prototype.startHistory=function(){return this.location=e.Location.wrap(window.location),this.restorationIdentifier=e.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.stopHistory=function(){return this.history.stop()},r.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.push(this.location,this.restorationIdentifier)},r.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.historyPoppedToLocationWithRestorationIdentifier=function(t,r){var n;return this.restorationIdentifier=r,this.enabled?(n=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(t,\"restore\",{restorationIdentifier:this.restorationIdentifier,restorationData:n,historyChanged:!0}),this.location=e.Location.wrap(t)):this.adapter.pageInvalidated()},r.prototype.getCachedSnapshotForLocation=function(t){var e;return null!=(e=this.cache.get(t))?e.clone():void 0},r.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable();\n},r.prototype.cacheSnapshot=function(){var t,r;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),r=this.view.getSnapshot(),t=this.lastRenderedLocation,e.defer(function(e){return function(){return e.cache.put(t,r.clone())}}(this))):void 0},r.prototype.scrollToAnchor=function(t){var e;return(e=this.view.getElementForAnchor(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},r.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},r.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},r.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},r.prototype.render=function(t,e){return this.view.render(t,e)},r.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},r.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},r.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},r.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},r.prototype.clickCaptured=function(){return removeEventListener(\"click\",this.clickBubbled,!1),addEventListener(\"click\",this.clickBubbled,!1)},r.prototype.clickBubbled=function(t){var e,r,n;return this.enabled&&this.clickEventIsSignificant(t)&&(r=this.getVisitableLinkForNode(t.target))&&(n=this.getVisitableLocationForLink(r))&&this.applicationAllowsFollowingLinkToLocation(r,n)?(t.preventDefault(),e=this.getActionForLink(r),this.visit(n,{action:e})):void 0},r.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var r;return r=this.notifyApplicationAfterClickingLinkToLocation(t,e),!r.defaultPrevented},r.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},r.prototype.notifyApplicationAfterClickingLinkToLocation=function(t,r){return e.dispatch(\"turbolinks:click\",{target:t,data:{url:r.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationBeforeVisitingLocation=function(t){return e.dispatch(\"turbolinks:before-visit\",{data:{url:t.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationAfterVisitingLocation=function(t){return e.dispatch(\"turbolinks:visit\",{data:{url:t.absoluteURL}})},r.prototype.notifyApplicationBeforeCachingSnapshot=function(){return e.dispatch(\"turbolinks:before-cache\")},r.prototype.notifyApplicationBeforeRender=function(t){return e.dispatch(\"turbolinks:before-render\",{data:{newBody:t}})},r.prototype.notifyApplicationAfterRender=function(){return e.dispatch(\"turbolinks:render\")},r.prototype.notifyApplicationAfterPageLoad=function(t){return null==t&&(t={}),e.dispatch(\"turbolinks:load\",{data:{url:this.location.absoluteURL,timing:t}})},r.prototype.startVisit=function(t,e,r){var n;return null!=(n=this.currentVisit)&&n.cancel(),this.currentVisit=this.createVisit(t,e,r),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},r.prototype.createVisit=function(t,r,n){var o,i,s,a,u;return i=null!=n?n:{},a=i.restorationIdentifier,s=i.restorationData,o=i.historyChanged,u=new e.Visit(this,t,r),u.restorationIdentifier=null!=a?a:e.uuid(),u.restorationData=e.copyObject(s),u.historyChanged=o,u.referrer=this.location,u},r.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},r.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which>1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},r.prototype.getVisitableLinkForNode=function(t){return this.nodeIsVisitable(t)?e.closest(t,\"a[href]:not([target]):not([download])\"):void 0},r.prototype.getVisitableLocationForLink=function(t){var r;return r=new e.Location(t.getAttribute(\"href\")),this.locationIsVisitable(r)?r:void 0},r.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute(\"data-turbolinks-action\"))?e:\"advance\"},r.prototype.nodeIsVisitable=function(t){var r;return(r=e.closest(t,\"[data-turbolinks]\"))?\"false\"!==r.getAttribute(\"data-turbolinks\"):!0},r.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())&&t.isHTML()},r.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},r.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},r}()}.call(this),function(){!function(){var t,e;if((t=e=document.currentScript)&&!e.hasAttribute(\"data-turbolinks-suppress-warning\"))for(;t=t.parentNode;)if(t===document.body)return console.warn(\"You are loading Turbolinks from a