\n// Get the document root in which the editor exists. This will\n// usually be the top-level `document`, but might be a [shadow\n// DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM)\n// root if the editor is inside one.\n\n\nprototypeAccessors$2.root.get = function () {\n var cached = this._root;\n\n if (cached == null) {\n for (var search = this.dom.parentNode; search; search = search.parentNode) {\n if (search.nodeType == 9 || search.nodeType == 11 && search.host) {\n if (!search.getSelection) {\n Object.getPrototypeOf(search).getSelection = function () {\n return document.getSelection();\n };\n }\n\n return this._root = search;\n }\n }\n }\n\n return cached || document;\n}; // :: ({left: number, top: number}) → ?{pos: number, inside: number}\n// Given a pair of viewport coordinates, return the document\n// position that corresponds to them. May return null if the given\n// coordinates aren't inside of the editor. When an object is\n// returned, its `pos` property is the position nearest to the\n// coordinates, and its `inside` property holds the position of the\n// inner node that the position falls inside of, or -1 if it is at\n// the top level, not in any node.\n\n\nEditorView.prototype.posAtCoords = function posAtCoords$1(coords) {\n return posAtCoords(this, coords);\n}; // :: (number, number) → {left: number, right: number, top: number, bottom: number}\n// Returns the viewport rectangle at a given document position.\n// `left` and `right` will be the same number, as this returns a\n// flat cursor-ish rectangle. If the position is between two things\n// that aren't directly adjacent, `side` determines which element is\n// used. When < 0, the element before the position is used,\n// otherwise the element after.\n\n\nEditorView.prototype.coordsAtPos = function coordsAtPos$1(pos, side) {\n if (side === void 0) side = 1;\n return coordsAtPos(this, pos, side);\n}; // :: (number, number) → {node: dom.Node, offset: number}\n// Find the DOM position that corresponds to the given document\n// position. When `side` is negative, find the position as close as\n// possible to the content before the position. When positive,\n// prefer positions close to the content after the position. When\n// zero, prefer as shallow a position as possible.\n//\n// Note that you should **not** mutate the editor's internal DOM,\n// only inspect it (and even that is usually not necessary).\n\n\nEditorView.prototype.domAtPos = function domAtPos(pos, side) {\n if (side === void 0) side = 0;\n return this.docView.domFromPos(pos, side);\n}; // :: (number) → ?dom.Node\n// Find the DOM node that represents the document node after the\n// given position. May return `null` when the position doesn't point\n// in front of a node or if the node is inside an opaque node view.\n//\n// This is intended to be able to call things like\n// `getBoundingClientRect` on that DOM node. Do **not** mutate the\n// editor DOM directly, or add styling this way, since that will be\n// immediately overriden by the editor as it redraws the node.\n\n\nEditorView.prototype.nodeDOM = function nodeDOM(pos) {\n var desc = this.docView.descAt(pos);\n return desc ? desc.nodeDOM : null;\n}; // :: (dom.Node, number, ?number) → number\n// Find the document position that corresponds to a given DOM\n// position. (Whenever possible, it is preferable to inspect the\n// document structure directly, rather than poking around in the\n// DOM, but sometimes—for example when interpreting an event\n// target—you don't have a choice.)\n//\n// The `bias` parameter can be used to influence which side of a DOM\n// node to use when the position is inside a leaf node.\n\n\nEditorView.prototype.posAtDOM = function posAtDOM(node, offset, bias) {\n if (bias === void 0) bias = -1;\n var pos = this.docView.posFromDOM(node, offset, bias);\n\n if (pos == null) {\n throw new RangeError(\"DOM position not inside the editor\");\n }\n\n return pos;\n}; // :: (union<\"up\", \"down\", \"left\", \"right\", \"forward\", \"backward\">, ?EditorState) → bool\n// Find out whether the selection is at the end of a textblock when\n// moving in a given direction. When, for example, given `\"left\"`,\n// it will return true if moving left from the current cursor\n// position would leave that position's parent textblock. Will apply\n// to the view's current state by default, but it is possible to\n// pass a different state.\n\n\nEditorView.prototype.endOfTextblock = function endOfTextblock$1(dir, state) {\n return endOfTextblock(this, state || this.state, dir);\n}; // :: ()\n// Removes the editor from the DOM and destroys all [node\n// views](#view.NodeView).\n\n\nEditorView.prototype.destroy = function destroy() {\n if (!this.docView) {\n return;\n }\n\n destroyInput(this);\n this.destroyPluginViews();\n\n if (this.mounted) {\n this.docView.update(this.state.doc, [], viewDecorations(this), this);\n this.dom.textContent = \"\";\n } else if (this.dom.parentNode) {\n this.dom.parentNode.removeChild(this.dom);\n }\n\n this.docView.destroy();\n this.docView = null;\n}; // Used for testing.\n\n\nEditorView.prototype.dispatchEvent = function dispatchEvent$1(event) {\n return dispatchEvent(this, event);\n}; // :: (Transaction)\n// Dispatch a transaction. Will call\n// [`dispatchTransaction`](#view.DirectEditorProps.dispatchTransaction)\n// when given, and otherwise defaults to applying the transaction to\n// the current state and calling\n// [`updateState`](#view.EditorView.updateState) with the result.\n// This method is bound to the view instance, so that it can be\n// easily passed around.\n\n\nEditorView.prototype.dispatch = function dispatch(tr) {\n var dispatchTransaction = this._props.dispatchTransaction;\n\n if (dispatchTransaction) {\n dispatchTransaction.call(this, tr);\n } else {\n this.updateState(this.state.apply(tr));\n }\n};\n\nObject.defineProperties(EditorView.prototype, prototypeAccessors$2);\n\nfunction computeDocDeco(view) {\n var attrs = Object.create(null);\n attrs.class = \"ProseMirror\";\n attrs.contenteditable = String(view.editable);\n view.someProp(\"attributes\", function (value) {\n if (typeof value == \"function\") {\n value = value(view.state);\n }\n\n if (value) {\n for (var attr in value) {\n if (attr == \"class\") {\n attrs.class += \" \" + value[attr];\n } else if (!attrs[attr] && attr != \"contenteditable\" && attr != \"nodeName\") {\n attrs[attr] = String(value[attr]);\n }\n }\n }\n });\n return [Decoration.node(0, view.state.doc.content.size, attrs)];\n}\n\nfunction updateCursorWrapper(view) {\n if (view.markCursor) {\n var dom = document.createElement(\"img\");\n dom.setAttribute(\"mark-placeholder\", \"true\");\n view.cursorWrapper = {\n dom: dom,\n deco: Decoration.widget(view.state.selection.head, dom, {\n raw: true,\n marks: view.markCursor\n })\n };\n } else {\n view.cursorWrapper = null;\n }\n}\n\nfunction getEditable(view) {\n return !view.someProp(\"editable\", function (value) {\n return value(view.state) === false;\n });\n}\n\nfunction selectionContextChanged(sel1, sel2) {\n var depth = Math.min(sel1.$anchor.sharedDepth(sel1.head), sel2.$anchor.sharedDepth(sel2.head));\n return sel1.$anchor.start(depth) != sel2.$anchor.start(depth);\n}\n\nfunction buildNodeViews(view) {\n var result = {};\n view.someProp(\"nodeViews\", function (obj) {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(result, prop)) {\n result[prop] = obj[prop];\n }\n }\n });\n return result;\n}\n\nfunction changedNodeViews(a, b) {\n var nA = 0,\n nB = 0;\n\n for (var prop in a) {\n if (a[prop] != b[prop]) {\n return true;\n }\n\n nA++;\n }\n\n for (var _ in b) {\n nB++;\n }\n\n return nA != nB;\n} // EditorProps:: interface\n//\n// Props are configuration values that can be passed to an editor view\n// or included in a plugin. This interface lists the supported props.\n//\n// The various event-handling functions may all return `true` to\n// indicate that they handled the given event. The view will then take\n// care to call `preventDefault` on the event, except with\n// `handleDOMEvents`, where the handler itself is responsible for that.\n//\n// How a prop is resolved depends on the prop. Handler functions are\n// called one at a time, starting with the base props and then\n// searching through the plugins (in order of appearance) until one of\n// them returns true. For some props, the first plugin that yields a\n// value gets precedence.\n//\n// handleDOMEvents:: ?Object<(view: EditorView, event: dom.Event) → bool>\n// Can be an object mapping DOM event type names to functions that\n// handle them. Such functions will be called before any handling\n// ProseMirror does of events fired on the editable DOM element.\n// Contrary to the other event handling props, when returning true\n// from such a function, you are responsible for calling\n// `preventDefault` yourself (or not, if you want to allow the\n// default behavior).\n//\n// handleKeyDown:: ?(view: EditorView, event: dom.KeyboardEvent) → bool\n// Called when the editor receives a `keydown` event.\n//\n// handleKeyPress:: ?(view: EditorView, event: dom.KeyboardEvent) → bool\n// Handler for `keypress` events.\n//\n// handleTextInput:: ?(view: EditorView, from: number, to: number, text: string) → bool\n// Whenever the user directly input text, this handler is called\n// before the input is applied. If it returns `true`, the default\n// behavior of actually inserting the text is suppressed.\n//\n// handleClickOn:: ?(view: EditorView, pos: number, node: Node, nodePos: number, event: dom.MouseEvent, direct: bool) → bool\n// Called for each node around a click, from the inside out. The\n// `direct` flag will be true for the inner node.\n//\n// handleClick:: ?(view: EditorView, pos: number, event: dom.MouseEvent) → bool\n// Called when the editor is clicked, after `handleClickOn` handlers\n// have been called.\n//\n// handleDoubleClickOn:: ?(view: EditorView, pos: number, node: Node, nodePos: number, event: dom.MouseEvent, direct: bool) → bool\n// Called for each node around a double click.\n//\n// handleDoubleClick:: ?(view: EditorView, pos: number, event: dom.MouseEvent) → bool\n// Called when the editor is double-clicked, after `handleDoubleClickOn`.\n//\n// handleTripleClickOn:: ?(view: EditorView, pos: number, node: Node, nodePos: number, event: dom.MouseEvent, direct: bool) → bool\n// Called for each node around a triple click.\n//\n// handleTripleClick:: ?(view: EditorView, pos: number, event: dom.MouseEvent) → bool\n// Called when the editor is triple-clicked, after `handleTripleClickOn`.\n//\n// handlePaste:: ?(view: EditorView, event: dom.ClipboardEvent, slice: Slice) → bool\n// Can be used to override the behavior of pasting. `slice` is the\n// pasted content parsed by the editor, but you can directly access\n// the event to get at the raw content.\n//\n// handleDrop:: ?(view: EditorView, event: dom.Event, slice: Slice, moved: bool) → bool\n// Called when something is dropped on the editor. `moved` will be\n// true if this drop moves from the current selection (which should\n// thus be deleted).\n//\n// handleScrollToSelection:: ?(view: EditorView) → bool\n// Called when the view, after updating its state, tries to scroll\n// the selection into view. A handler function may return false to\n// indicate that it did not handle the scrolling and further\n// handlers or the default behavior should be tried.\n//\n// createSelectionBetween:: ?(view: EditorView, anchor: ResolvedPos, head: ResolvedPos) → ?Selection\n// Can be used to override the way a selection is created when\n// reading a DOM selection between the given anchor and head.\n//\n// domParser:: ?DOMParser\n// The [parser](#model.DOMParser) to use when reading editor changes\n// from the DOM. Defaults to calling\n// [`DOMParser.fromSchema`](#model.DOMParser^fromSchema) on the\n// editor's schema.\n//\n// transformPastedHTML:: ?(html: string) → string\n// Can be used to transform pasted HTML text, _before_ it is parsed,\n// for example to clean it up.\n//\n// clipboardParser:: ?DOMParser\n// The [parser](#model.DOMParser) to use when reading content from\n// the clipboard. When not given, the value of the\n// [`domParser`](#view.EditorProps.domParser) prop is used.\n//\n// transformPastedText:: ?(text: string, plain: bool) → string\n// Transform pasted plain text. The `plain` flag will be true when\n// the text is pasted as plain text.\n//\n// clipboardTextParser:: ?(text: string, $context: ResolvedPos, plain: bool) → Slice\n// A function to parse text from the clipboard into a document\n// slice. Called after\n// [`transformPastedText`](#view.EditorProps.transformPastedText).\n// The default behavior is to split the text into lines, wrap them\n// in `` tags, and call\n// [`clipboardParser`](#view.EditorProps.clipboardParser) on it.\n// The `plain` flag will be true when the text is pasted as plain text.\n//\n// transformPasted:: ?(Slice) → Slice\n// Can be used to transform pasted content before it is applied to\n// the document.\n//\n// nodeViews:: ?Object<(node: Node, view: EditorView, getPos: () → number, decorations: [Decoration], innerDecorations: DecorationSource) → NodeView>\n// Allows you to pass custom rendering and behavior logic for nodes\n// and marks. Should map node and mark names to constructor\n// functions that produce a [`NodeView`](#view.NodeView) object\n// implementing the node's display behavior. For nodes, the third\n// argument `getPos` is a function that can be called to get the\n// node's current position, which can be useful when creating\n// transactions to update it. For marks, the third argument is a\n// boolean that indicates whether the mark's content is inline.\n//\n// `decorations` is an array of node or inline decorations that are\n// active around the node. They are automatically drawn in the\n// normal way, and you will usually just want to ignore this, but\n// they can also be used as a way to provide context information to\n// the node view without adding it to the document itself.\n//\n// `innerDecorations` holds the decorations for the node's content.\n// You can safely ignore this if your view has no content or a\n// `contentDOM` property, since the editor will draw the decorations\n// on the content. But if you, for example, want to create a nested\n// editor with the content, it may make sense to provide it with the\n// inner decorations.\n//\n// clipboardSerializer:: ?DOMSerializer\n// The DOM serializer to use when putting content onto the\n// clipboard. If not given, the result of\n// [`DOMSerializer.fromSchema`](#model.DOMSerializer^fromSchema)\n// will be used.\n//\n// clipboardTextSerializer:: ?(Slice) → string\n// A function that will be called to get the text for the current\n// selection when copying text to the clipboard. By default, the\n// editor will use [`textBetween`](#model.Node.textBetween) on the\n// selected range.\n//\n// decorations:: ?(state: EditorState) → ?DecorationSource\n// A set of [document decorations](#view.Decoration) to show in the\n// view.\n//\n// editable:: ?(state: EditorState) → bool\n// When this returns false, the content of the view is not directly\n// editable.\n//\n// attributes:: ?union
\n\n\n\n","import { render, staticRenderFns } from \"./LoadingState.vue?vue&type=template&id=58151544&\"\nimport script from \"./LoadingState.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingState.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\n\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner flex items-center h-12 gap-4 text-white dark:text-white text-sm py-3 px-4 justify-center\",class:_vm.bannerClasses},[_c('span',{staticClass:\"banner-message\"},[_vm._v(\"\\n \"+_vm._s(_vm.bannerMessage)+\"\\n \"),(_vm.hrefLink)?_c('a',{attrs:{\"href\":_vm.hrefLink,\"rel\":\"noopener noreferrer nofollow\",\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.hrefLinkText)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[(_vm.hasActionButton)?_c('woot-button',{attrs:{\"size\":\"tiny\",\"icon\":\"arrow-right\",\"variant\":_vm.actionButtonVariant,\"color-scheme\":\"primary\",\"class-names\":\"banner-action__button\"},on:{\"click\":_vm.onClick}},[_vm._v(\"\\n \"+_vm._s(_vm.actionButtonLabel)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.hasCloseButton)?_c('woot-button',{attrs:{\"size\":\"tiny\",\"color-scheme\":_vm.colorScheme,\"icon\":\"dismiss-circle\",\"class-names\":\"banner-action__button\"},on:{\"click\":_vm.onClickClose}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('GENERAL_SETTINGS.DISMISS'))+\"\\n \")]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"","\n \n
\n {{ bannerMessage }}\n \n {{ hrefLinkText }}\n \n \n
\n \n {{ actionButtonLabel }}\n \n \n {{ $t('GENERAL_SETTINGS.DISMISS') }}\n \n
\n
\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Banner.vue?vue&type=template&id=3b81ffa0&scoped=true&\"\nimport script from \"./Banner.vue?vue&type=script&lang=js&\"\nexport * from \"./Banner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Banner.vue?vue&type=style&index=0&id=3b81ffa0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b81ffa0\",\n null\n \n)\n\nexport default component.exports","function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e48) { throw _e48; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e49) { didErr = true; err = _e49; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (e) {\n var t = {};\n\n function n(o) {\n if (t[o]) return t[o].exports;\n var i = t[o] = {\n i: o,\n l: !1,\n exports: {}\n };\n return e[o].call(i.exports, i, i.exports, n), i.l = !0, i.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, o) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: o\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == _typeof(e) && e && e.__esModule) return e;\n var o = Object.create(null);\n if (n.r(o), Object.defineProperty(o, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var i in e) {\n n.d(o, i, function (t) {\n return e[t];\n }.bind(null, i));\n }\n return o;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 70);\n}([function (e, t) {\n e.exports = require(\"vue-easytable/libs/ve-icon\");\n}, function (e, t, n) {\n (function (t) {\n var n = function n(e) {\n return e && e.Math == Math && e;\n };\n\n e.exports = n(\"object\" == (typeof globalThis === \"undefined\" ? \"undefined\" : _typeof(globalThis)) && globalThis) || n(\"object\" == (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) && window) || n(\"object\" == (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) && self) || n(\"object\" == _typeof(t) && t) || function () {\n return this;\n }() || Function(\"return this\")();\n }).call(this, n(40));\n}, function (e, t) {\n e.exports = function (e) {\n try {\n return !!e();\n } catch (e) {\n return !0;\n }\n };\n}, function (e, t) {\n e.exports = require(\"vue\");\n}, function (e, t, n) {\n var o = n(1),\n i = n(29),\n r = n(6),\n l = n(44),\n s = n(45),\n a = n(76),\n c = i(\"wks\"),\n u = o.Symbol,\n d = a ? u : u && u.withoutSetter || l;\n\n e.exports = function (e) {\n return r(c, e) && (s || \"string\" == typeof c[e]) || (s && r(u, e) ? c[e] = u[e] : c[e] = d(\"Symbol.\" + e)), c[e];\n };\n}, function (e, t, n) {\n var o = n(11);\n\n e.exports = function (e) {\n if (!o(e)) throw TypeError(String(e) + \" is not an object\");\n return e;\n };\n}, function (e, t, n) {\n var o = n(16),\n i = {}.hasOwnProperty;\n\n e.exports = function (e, t) {\n return i.call(o(e), t);\n };\n}, function (e, t, n) {\n var o = n(10),\n i = n(15),\n r = n(32);\n e.exports = o ? function (e, t, n) {\n return i.f(e, t, r(1, n));\n } : function (e, t, n) {\n return e[t] = n, e;\n };\n}, function (e, t, n) {\n \"use strict\";\n\n var o = n(12),\n i = n(57),\n r = n(9);\n o({\n target: \"String\",\n proto: !0,\n forced: !n(59)(\"includes\")\n }, {\n includes: function includes(e) {\n return !!~String(r(this)).indexOf(i(e), arguments.length > 1 ? arguments[1] : void 0);\n }\n });\n}, function (e, t) {\n e.exports = function (e) {\n if (null == e) throw TypeError(\"Can't call method on \" + e);\n return e;\n };\n}, function (e, t, n) {\n var o = n(2);\n e.exports = !o(function () {\n return 7 != Object.defineProperty({}, 1, {\n get: function get() {\n return 7;\n }\n })[1];\n });\n}, function (e, t) {\n e.exports = function (e) {\n return \"object\" == _typeof(e) ? null !== e : \"function\" == typeof e;\n };\n}, function (e, t, n) {\n var o = n(1),\n i = n(38).f,\n r = n(7),\n l = n(39),\n s = n(31),\n a = n(83),\n c = n(86);\n\n e.exports = function (e, t) {\n var n,\n u,\n d,\n h,\n p,\n f = e.target,\n y = e.global,\n g = e.stat;\n if (n = y ? o : g ? o[f] || s(f, {}) : (o[f] || {}).prototype) for (u in t) {\n if (h = t[u], d = e.noTargetGet ? (p = i(n, u)) && p.value : n[u], !c(y ? u : f + (g ? \".\" : \"#\") + u, e.forced) && void 0 !== d) {\n if (_typeof(h) == _typeof(d)) continue;\n a(h, d);\n }\n\n (e.sham || d && d.sham) && r(h, \"sham\", !0), l(n, u, h, e);\n }\n };\n}, function (e, t) {\n e.exports = require(\"vue-easytable/libs/ve-checkbox\");\n}, function (e, t) {\n e.exports = require(\"vue-easytable/libs/ve-dropdown\");\n}, function (e, t, n) {\n var o = n(10),\n i = n(41),\n r = n(5),\n l = n(43),\n s = Object.defineProperty;\n t.f = o ? s : function (e, t, n) {\n if (r(e), t = l(t, !0), r(n), i) try {\n return s(e, t, n);\n } catch (e) {}\n if (\"get\" in n || \"set\" in n) throw TypeError(\"Accessors not supported\");\n return \"value\" in n && (e[t] = n.value), e;\n };\n}, function (e, t, n) {\n var o = n(9);\n\n e.exports = function (e) {\n return Object(o(e));\n };\n}, function (e, t, n) {\n var o = n(22),\n i = Math.min;\n\n e.exports = function (e) {\n return e > 0 ? i(o(e), 9007199254740991) : 0;\n };\n}, function (e, t) {\n e.exports = require(\"lodash\");\n}, function (e, t, n) {\n var o = n(28),\n i = n(9);\n\n e.exports = function (e) {\n return o(i(e));\n };\n}, function (e, t) {\n var n = {}.toString;\n\n e.exports = function (e) {\n return n.call(e).slice(8, -1);\n };\n}, function (e, t) {\n e.exports = !1;\n}, function (e, t) {\n var n = Math.ceil,\n o = Math.floor;\n\n e.exports = function (e) {\n return isNaN(e = +e) ? 0 : (e > 0 ? o : n)(e);\n };\n}, function (e, t, n) {\n var o = n(12),\n i = n(91);\n o({\n target: \"Object\",\n stat: !0,\n forced: Object.assign !== i\n }, {\n assign: i\n });\n}, function (e, t, n) {\n \"use strict\";\n\n var o,\n i,\n r = n(94),\n l = n(61),\n s = n(29),\n a = RegExp.prototype.exec,\n c = s(\"native-string-replace\", String.prototype.replace),\n u = a,\n d = (o = /a/, i = /b*/g, a.call(o, \"a\"), a.call(i, \"a\"), 0 !== o.lastIndex || 0 !== i.lastIndex),\n h = l.UNSUPPORTED_Y || l.BROKEN_CARET,\n p = void 0 !== /()??/.exec(\"\")[1];\n (d || p || h) && (u = function u(e) {\n var t,\n n,\n o,\n i,\n l = this,\n s = h && l.sticky,\n u = r.call(l),\n f = l.source,\n y = 0,\n g = e;\n return s && (-1 === (u = u.replace(\"y\", \"\")).indexOf(\"g\") && (u += \"g\"), g = String(e).slice(l.lastIndex), l.lastIndex > 0 && (!l.multiline || l.multiline && \"\\n\" !== e[l.lastIndex - 1]) && (f = \"(?: \" + f + \")\", g = \" \" + g, y++), n = new RegExp(\"^(?:\" + f + \")\", u)), p && (n = new RegExp(\"^\" + f + \"$(?!\\\\s)\", u)), d && (t = l.lastIndex), o = a.call(s ? n : l, g), s ? o ? (o.input = o.input.slice(y), o[0] = o[0].slice(y), o.index = l.lastIndex, l.lastIndex += o[0].length) : l.lastIndex = 0 : d && o && (l.lastIndex = l.global ? o.index + o[0].length : t), p && o && o.length > 1 && c.call(o[0], n, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n void 0 === arguments[i] && (o[i] = void 0);\n }\n }), o;\n }), e.exports = u;\n}, function (e, t, n) {\n \"use strict\";\n\n var o = n(12),\n i = n(98).left,\n r = n(99),\n l = n(46),\n s = n(100);\n o({\n target: \"Array\",\n proto: !0,\n forced: !r(\"reduce\") || !s && l > 79 && l < 83\n }, {\n reduce: function reduce(e) {\n return i(this, e, arguments.length, arguments.length > 1 ? arguments[1] : void 0);\n }\n });\n}, function (e, t) {\n e.exports = require(\"vue-easytable/libs/ve-radio\");\n}, function (e, t, n) {\n var o = n(1),\n i = n(71),\n r = n(72),\n l = n(7),\n s = n(4),\n a = s(\"iterator\"),\n c = s(\"toStringTag\"),\n u = r.values;\n\n for (var d in i) {\n var h = o[d],\n p = h && h.prototype;\n\n if (p) {\n if (p[a] !== u) try {\n l(p, a, u);\n } catch (e) {\n p[a] = u;\n }\n if (p[c] || l(p, c, d), i[d]) for (var f in r) {\n if (p[f] !== r[f]) try {\n l(p, f, r[f]);\n } catch (e) {\n p[f] = r[f];\n }\n }\n }\n }\n}, function (e, t, n) {\n var o = n(2),\n i = n(20),\n r = \"\".split;\n e.exports = o(function () {\n return !Object(\"z\").propertyIsEnumerable(0);\n }) ? function (e) {\n return \"String\" == i(e) ? r.call(e, \"\") : Object(e);\n } : Object;\n}, function (e, t, n) {\n var o = n(21),\n i = n(30);\n (e.exports = function (e, t) {\n return i[e] || (i[e] = void 0 !== t ? t : {});\n })(\"versions\", []).push({\n version: \"3.13.0\",\n mode: o ? \"pure\" : \"global\",\n copyright: \"© 2021 Denis Pushkarev (zloirock.ru)\"\n });\n}, function (e, t, n) {\n var o = n(1),\n i = n(31),\n r = o[\"__core-js_shared__\"] || i(\"__core-js_shared__\", {});\n e.exports = r;\n}, function (e, t, n) {\n var o = n(1),\n i = n(7);\n\n e.exports = function (e, t) {\n try {\n i(o, e, t);\n } catch (n) {\n o[e] = t;\n }\n\n return t;\n };\n}, function (e, t) {\n e.exports = function (e, t) {\n return {\n enumerable: !(1 & e),\n configurable: !(2 & e),\n writable: !(4 & e),\n value: t\n };\n };\n}, function (e, t, n) {\n var o = n(75),\n i = n(1),\n r = function r(e) {\n return \"function\" == typeof e ? e : void 0;\n };\n\n e.exports = function (e, t) {\n return arguments.length < 2 ? r(o[e]) || r(i[e]) : o[e] && o[e][t] || i[e] && i[e][t];\n };\n}, function (e, t) {\n e.exports = {};\n}, function (e, t) {\n e.exports = [\"constructor\", \"hasOwnProperty\", \"isPrototypeOf\", \"propertyIsEnumerable\", \"toLocaleString\", \"toString\", \"valueOf\"];\n}, function (e, t, n) {\n var o = n(29),\n i = n(44),\n r = o(\"keys\");\n\n e.exports = function (e) {\n return r[e] || (r[e] = i(e));\n };\n}, function (e, t) {\n e.exports = {};\n}, function (e, t, n) {\n var o = n(10),\n i = n(52),\n r = n(32),\n l = n(19),\n s = n(43),\n a = n(6),\n c = n(41),\n u = Object.getOwnPropertyDescriptor;\n t.f = o ? u : function (e, t) {\n if (e = l(e), t = s(t, !0), c) try {\n return u(e, t);\n } catch (e) {}\n if (a(e, t)) return r(!i.f.call(e, t), e[t]);\n };\n}, function (e, t, n) {\n var o = n(1),\n i = n(7),\n r = n(6),\n l = n(31),\n s = n(51),\n a = n(50),\n c = a.get,\n u = a.enforce,\n d = String(String).split(\"String\");\n (e.exports = function (e, t, n, s) {\n var a,\n c = !!s && !!s.unsafe,\n h = !!s && !!s.enumerable,\n p = !!s && !!s.noTargetGet;\n \"function\" == typeof n && (\"string\" != typeof t || r(n, \"name\") || i(n, \"name\", t), (a = u(n)).source || (a.source = d.join(\"string\" == typeof t ? t : \"\"))), e !== o ? (c ? !p && e[t] && (h = !0) : delete e[t], h ? e[t] = n : i(e, t, n)) : h ? e[t] = n : l(t, n);\n })(Function.prototype, \"toString\", function () {\n return \"function\" == typeof this && c(this).source || s(this);\n });\n}, function (e, t) {\n var n;\n\n n = function () {\n return this;\n }();\n\n try {\n n = n || new Function(\"return this\")();\n } catch (e) {\n \"object\" == (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) && (n = window);\n }\n\n e.exports = n;\n}, function (e, t, n) {\n var o = n(10),\n i = n(2),\n r = n(42);\n e.exports = !o && !i(function () {\n return 7 != Object.defineProperty(r(\"div\"), \"a\", {\n get: function get() {\n return 7;\n }\n }).a;\n });\n}, function (e, t, n) {\n var o = n(1),\n i = n(11),\n r = o.document,\n l = i(r) && i(r.createElement);\n\n e.exports = function (e) {\n return l ? r.createElement(e) : {};\n };\n}, function (e, t, n) {\n var o = n(11);\n\n e.exports = function (e, t) {\n if (!o(e)) return e;\n var n, i;\n if (t && \"function\" == typeof (n = e.toString) && !o(i = n.call(e))) return i;\n if (\"function\" == typeof (n = e.valueOf) && !o(i = n.call(e))) return i;\n if (!t && \"function\" == typeof (n = e.toString) && !o(i = n.call(e))) return i;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n}, function (e, t) {\n var n = 0,\n o = Math.random();\n\n e.exports = function (e) {\n return \"Symbol(\" + String(void 0 === e ? \"\" : e) + \")_\" + (++n + o).toString(36);\n };\n}, function (e, t, n) {\n var o = n(46),\n i = n(2);\n e.exports = !!Object.getOwnPropertySymbols && !i(function () {\n return !String(Symbol()) || !Symbol.sham && o && o < 41;\n });\n}, function (e, t, n) {\n var o,\n i,\n r = n(1),\n l = n(74),\n s = r.process,\n a = s && s.versions,\n c = a && a.v8;\n c ? i = (o = c.split(\".\"))[0] < 4 ? 1 : o[0] + o[1] : l && (!(o = l.match(/Edge\\/(\\d+)/)) || o[1] >= 74) && (o = l.match(/Chrome\\/(\\d+)/)) && (i = o[1]), e.exports = i && +i;\n}, function (e, t, n) {\n var o,\n i = n(5),\n r = n(77),\n l = n(35),\n s = n(34),\n a = n(80),\n c = n(42),\n u = n(36),\n d = u(\"IE_PROTO\"),\n h = function h() {},\n p = function p(e) {\n return \"\n","import { render, staticRenderFns } from \"./DashboardIcon.vue?vue&type=template&id=0173a9d9&\"\nimport script from \"./DashboardIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./DashboardIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import en from './locale/en.json';\nimport zh_CN from './locale/zh_CN.json';\nimport zh_TW from './locale/zh_TW.json';\nimport vi from './locale/vi.json';\nimport th from './locale/th.json';\nimport ja from './locale/ja.json';\nimport ko from './locale/ko.json';\nimport es from './locale/es.json';\nimport fr from './locale/fr.json';\nimport de from './locale/de.json';\nimport pt from './locale/pt.json';\nimport id from './locale/id.json';\nimport it from './locale/it.json';\n\nexport default {\n en,\n zh_CN,\n zh_TW,\n vi,\n th,\n ja,\n ko,\n es,\n fr,\n de,\n pt,\n id,\n it,\n};\n","export const showBadgeOnFavicon = () => {\n const favicons = document.querySelectorAll('.favicon');\n\n favicons.forEach(favicon => {\n const newFileName = `/favicon-badge-${favicon.sizes[[0]]}.png`;\n favicon.href = newFileName;\n });\n};\n\nexport const initFaviconSwitcher = () => {\n const favicons = document.querySelectorAll('.favicon');\n\n document.addEventListener('visibilitychange', () => {\n if (document.visibilityState === 'visible') {\n favicons.forEach(favicon => {\n const oldFileName = `/favicon-${favicon.sizes[[0]]}.png`;\n favicon.href = oldFileName;\n });\n }\n });\n};\n","import { MESSAGE_TYPE } from 'shared/constants/messages';\nimport { showBadgeOnFavicon } from './faviconHelper';\nimport { initFaviconSwitcher } from './faviconHelper';\nimport {\n getAlertAudio,\n initOnEvents,\n} from 'shared/helpers/AudioNotificationHelper';\n\nconst NOTIFICATION_TIME = 30000;\n\nclass DashboardAudioNotificationHelper {\n constructor() {\n this.recurringNotificationTimer = null;\n this.audioAlertType = 'all';\n this.playAlertOnlyWhenHidden = false;\n this.alertIfUnreadConversationExist = false;\n this.currentUserId = null;\n this.audioAlertTone = 'bell';\n }\n\n setInstanceValues = ({\n currentUserId,\n alwaysPlayAudioAlert,\n alertIfUnreadConversationExist,\n audioAlertType,\n audioAlertTone,\n }) => {\n this.audioAlertType = audioAlertType;\n this.playAlertOnlyWhenHidden = !alwaysPlayAudioAlert;\n this.alertIfUnreadConversationExist = alertIfUnreadConversationExist;\n this.currentUserId = currentUserId;\n this.audioAlertTone = audioAlertTone;\n initOnEvents.forEach(e => {\n document.addEventListener(e, this.onAudioListenEvent, false);\n });\n initFaviconSwitcher();\n };\n\n onAudioListenEvent = async () => {\n console.log('onAudioListenEvent');\n try {\n await getAlertAudio('', {\n type: 'dashboard',\n alertTone: this.audioAlertTone,\n });\n initOnEvents.forEach(event => {\n document.removeEventListener(event, this.onAudioListenEvent, false);\n });\n this.playAudioEvery30Seconds();\n } catch (error) {\n // Ignore audio fetch errors\n }\n };\n\n executeRecurringNotification = () => {\n this.clearSetTimeout();\n if (!window.WOOT?.$store) return;\n const mineConversation = window.WOOT.$store.getters.getMineChats({\n assigneeType: 'me',\n status: 'open',\n });\n const hasUnreadConversation = mineConversation.some(conv => {\n return conv.unread_count > 0;\n });\n\n const shouldPlayAlert = !this.playAlertOnlyWhenHidden || document.hidden;\n\n if (hasUnreadConversation && shouldPlayAlert) {\n window.playAudioAlert();\n showBadgeOnFavicon();\n }\n };\n\n clearSetTimeout = () => {\n if (this.recurringNotificationTimer) {\n clearTimeout(this.recurringNotificationTimer);\n }\n this.recurringNotificationTimer = setTimeout(\n this.executeRecurringNotification,\n NOTIFICATION_TIME\n );\n };\n\n playAudioEvery30Seconds = () => {\n // Audio alert is disabled dismiss the timer\n if (this.audioAlertType === 'none') {\n return;\n }\n // If assigned conversation flag is disabled dismiss the timer\n if (!this.alertIfUnreadConversationExist) {\n return;\n }\n\n this.clearSetTimeout();\n };\n\n isConversationAssignedToCurrentUser = message => {\n const conversationAssigneeId = message?.conversation?.assignee_id;\n return conversationAssigneeId === this.currentUserId;\n };\n\n isMessageFromCurrentConversation = message => {\n return (\n window.WOOT.$store.getters.getSelectedChat?.id === message.conversation_id\n );\n };\n\n isMessageFromCurrentUser = message => {\n return message?.sender_id === this.currentUserId;\n };\n\n shouldNotifyOnMessage = message => {\n if (this.audioAlertType === 'mine') {\n return this.isConversationAssignedToCurrentUser(message);\n }\n return this.audioAlertType === 'all';\n };\n\n onNewMessage = message => {\n // If the message is sent by the current user or the\n // correct notification is not enabled, then dismiss the alert\n if (\n this.isMessageFromCurrentUser(message)\n || !this.shouldNotifyOnMessage(message)\n ) {\n return;\n }\n\n // If the message type is not incoming or private, then dismiss the alert\n const { message_type: messageType, private: isPrivate } = message;\n if (messageType !== MESSAGE_TYPE.INCOMING && !isPrivate) {\n return;\n }\n\n // If the user looking at the conversation, then dismiss the alert\n // if (this.isMessageFromCurrentConversation(message) && !document.hidden) {\n // return;\n // }\n\n // If the user has disabled alerts when active on the dashboard, the dismiss the alert\n if (this.playAlertOnlyWhenHidden && !document.hidden) {\n return;\n }\n\n window.playAudioAlert();\n showBadgeOnFavicon();\n this.playAudioEvery30Seconds();\n };\n}\n\nexport default new DashboardAudioNotificationHelper();\n","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// src/path-to-regex-modified.ts\nvar regexIdentifierStart = /(?:[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDEC0-\\uDEEB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/;\nvar regexIdentifierPart = /(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/;\n\nfunction isASCII(str, extended) {\n return (extended ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str);\n}\n\nfunction lexer(str) {\n var lenient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var tokens = [];\n var i = 0;\n\n while (i < str.length) {\n var char = str[i];\n\n var ErrorOrInvalid = function ErrorOrInvalid(msg) {\n if (!lenient) throw new TypeError(msg);\n tokens.push({\n type: \"INVALID_CHAR\",\n index: i,\n value: str[i++]\n });\n };\n\n if (char === \"*\") {\n tokens.push({\n type: \"ASTERISK\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n\n if (char === \"+\" || char === \"?\") {\n tokens.push({\n type: \"MODIFIER\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n\n if (char === \"\\\\\") {\n tokens.push({\n type: \"ESCAPED_CHAR\",\n index: i++,\n value: str[i++]\n });\n continue;\n }\n\n if (char === \"{\") {\n tokens.push({\n type: \"OPEN\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n\n if (char === \"}\") {\n tokens.push({\n type: \"CLOSE\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n\n while (j < str.length) {\n var code = str.substr(j, 1);\n\n if (j === i + 1 && regexIdentifierStart.test(code) || j !== i + 1 && regexIdentifierPart.test(code)) {\n name += str[j++];\n continue;\n }\n\n break;\n }\n\n if (!name) {\n ErrorOrInvalid(\"Missing parameter name at \".concat(i));\n continue;\n }\n\n tokens.push({\n type: \"NAME\",\n index: i,\n value: name\n });\n i = j;\n continue;\n }\n\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n\n var _j = i + 1;\n\n var error = false;\n\n if (str[_j] === \"?\") {\n ErrorOrInvalid(\"Pattern cannot start with \\\"?\\\" at \".concat(_j));\n continue;\n }\n\n while (_j < str.length) {\n if (!isASCII(str[_j], false)) {\n ErrorOrInvalid(\"Invalid character '\".concat(str[_j], \"' at \").concat(_j, \".\"));\n error = true;\n break;\n }\n\n if (str[_j] === \"\\\\\") {\n pattern += str[_j++] + str[_j++];\n continue;\n }\n\n if (str[_j] === \")\") {\n count--;\n\n if (count === 0) {\n _j++;\n break;\n }\n } else if (str[_j] === \"(\") {\n count++;\n\n if (str[_j + 1] !== \"?\") {\n ErrorOrInvalid(\"Capturing groups are not allowed at \".concat(_j));\n error = true;\n break;\n }\n }\n\n pattern += str[_j++];\n }\n\n if (error) {\n continue;\n }\n\n if (count) {\n ErrorOrInvalid(\"Unbalanced pattern at \".concat(i));\n continue;\n }\n\n if (!pattern) {\n ErrorOrInvalid(\"Missing pattern at \".concat(i));\n continue;\n }\n\n tokens.push({\n type: \"PATTERN\",\n index: i,\n value: pattern\n });\n i = _j;\n continue;\n }\n\n tokens.push({\n type: \"CHAR\",\n index: i,\n value: str[i++]\n });\n }\n\n tokens.push({\n type: \"END\",\n index: i,\n value: \"\"\n });\n return tokens;\n}\n\nfunction parse(str) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var tokens = lexer(str);\n var _options$prefixes = options.prefixes,\n prefixes = _options$prefixes === void 0 ? \"./\" : _options$prefixes;\n var defaultPattern = \"[^\".concat(escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter), \"]+?\");\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var nameSet = /* @__PURE__ */new Set();\n\n var tryConsume = function tryConsume(type) {\n if (i < tokens.length && tokens[i].type === type) return tokens[i++].value;\n };\n\n var tryConsumeModifier = function tryConsumeModifier() {\n var r = tryConsume(\"MODIFIER\");\n\n if (r) {\n return r;\n }\n\n return tryConsume(\"ASTERISK\");\n };\n\n var mustConsume = function mustConsume(type) {\n var value = tryConsume(type);\n if (value !== void 0) return value;\n var _tokens$i = tokens[i],\n nextType = _tokens$i.type,\n index = _tokens$i.index;\n throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n };\n\n var consumeText = function consumeText() {\n var result2 = \"\";\n var value;\n\n while (value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\")) {\n result2 += value;\n }\n\n return result2;\n };\n\n var DefaultEncodePart = function DefaultEncodePart(value) {\n return value;\n };\n\n var encodePart = options.encodePart || DefaultEncodePart;\n\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n\n if (!name && !pattern && tryConsume(\"ASTERISK\")) {\n pattern = \".*\";\n }\n\n if (name || pattern) {\n var prefix = char || \"\";\n\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n\n var finalName = name || key++;\n\n if (nameSet.has(finalName)) {\n throw new TypeError(\"Duplicate name '\".concat(finalName, \"'.\"));\n }\n\n nameSet.add(finalName);\n result.push({\n name: finalName,\n prefix: encodePart(prefix),\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsumeModifier() || \"\"\n });\n continue;\n }\n\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n\n if (value) {\n path += value;\n continue;\n }\n\n var open = tryConsume(\"OPEN\");\n\n if (open) {\n var _prefix = consumeText();\n\n var name2 = tryConsume(\"NAME\") || \"\";\n var pattern2 = tryConsume(\"PATTERN\") || \"\";\n\n if (!name2 && !pattern2 && tryConsume(\"ASTERISK\")) {\n pattern2 = \".*\";\n }\n\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n var modifier = tryConsumeModifier() || \"\";\n\n if (!name2 && !pattern2 && !modifier) {\n path += _prefix;\n continue;\n }\n\n if (!name2 && !pattern2 && !_prefix) {\n continue;\n }\n\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n\n result.push({\n name: name2 || (pattern2 ? key++ : \"\"),\n pattern: name2 && !pattern2 ? defaultPattern : pattern2,\n prefix: encodePart(_prefix),\n suffix: encodePart(suffix),\n modifier: modifier\n });\n continue;\n }\n\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n\n mustConsume(\"END\");\n }\n\n return result;\n}\n\nfunction escapeString(str) {\n return str.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n\nfunction flags(options) {\n return options && options.ignoreCase ? \"ui\" : \"u\";\n}\n\nfunction regexpToRegexp(path, keys) {\n if (!keys) return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n\n while (execResult) {\n keys.push({\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n execResult = groupsRegex.exec(path.source);\n }\n\n return path;\n}\n\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) {\n return pathToRegexp(path, keys, options).source;\n });\n return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n\nfunction tokensToRegexp(tokens, keys) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _options$strict = options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$start = options.start,\n start = _options$start === void 0 ? true : _options$start,\n _options$end = options.end,\n end = _options$end === void 0 ? true : _options$end,\n _options$encode = options.encode,\n encode = _options$encode === void 0 ? function (x) {\n return x;\n } : _options$encode;\n var endsWith = \"[\".concat(escapeString(options.endsWith === void 0 ? \"\" : options.endsWith), \"]|$\");\n var delimiter = \"[\".concat(escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter), \"]\");\n var route = start ? \"^\" : \"\";\n\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var token = _step.value;\n\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n\n if (token.pattern) {\n if (keys) keys.push(token);\n\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n } else {\n route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n }\n } else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += \"((?:\".concat(token.pattern, \")\").concat(token.modifier, \")\");\n } else {\n route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n }\n }\n } else {\n route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (end) {\n if (!strict) route += \"\".concat(delimiter, \"?\");\n route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWith, \")\");\n } else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\" ? delimiter.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;\n\n if (!strict) {\n route += \"(?:\".concat(delimiter, \"(?=\").concat(endsWith, \"))?\");\n }\n\n if (!isEndDelimited) {\n route += \"(?=\".concat(delimiter, \"|\").concat(endsWith, \")\");\n }\n }\n\n return new RegExp(route, flags(options));\n}\n\nfunction pathToRegexp(path, keys, options) {\n if (path instanceof RegExp) return regexpToRegexp(path, keys);\n if (Array.isArray(path)) return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n} // src/url-utils.ts\n\n\nvar DEFAULT_OPTIONS = {\n delimiter: \"\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar HOSTNAME_OPTIONS = {\n delimiter: \".\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar PATHNAME_OPTIONS = {\n delimiter: \"/\",\n prefixes: \"/\",\n sensitive: true,\n strict: true\n};\n\nfunction isAbsolutePathname(pathname, isPattern) {\n if (!pathname.length) {\n return false;\n }\n\n if (pathname[0] === \"/\") {\n return true;\n }\n\n if (!isPattern) {\n return false;\n }\n\n if (pathname.length < 2) {\n return false;\n }\n\n if ((pathname[0] == \"\\\\\" || pathname[0] == \"{\") && pathname[1] == \"/\") {\n return true;\n }\n\n return false;\n}\n\nfunction maybeStripPrefix(value, prefix) {\n if (value.startsWith(prefix)) {\n return value.substring(prefix.length, value.length);\n }\n\n return value;\n}\n\nfunction maybeStripSuffix(value, suffix) {\n if (value.endsWith(suffix)) {\n return value.substr(0, value.length - suffix.length);\n }\n\n return value;\n}\n\nfunction treatAsIPv6Hostname(value) {\n if (!value || value.length < 2) {\n return false;\n }\n\n if (value[0] === \"[\") {\n return true;\n }\n\n if ((value[0] === \"\\\\\" || value[0] === \"{\") && value[1] === \"[\") {\n return true;\n }\n\n return false;\n}\n\nvar SPECIAL_SCHEMES = [\"ftp\", \"file\", \"http\", \"https\", \"ws\", \"wss\"];\n\nfunction isSpecialScheme(protocol_regexp) {\n if (!protocol_regexp) {\n return true;\n }\n\n var _iterator2 = _createForOfIteratorHelper(SPECIAL_SCHEMES),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var scheme = _step2.value;\n\n if (protocol_regexp.test(scheme)) {\n return true;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return false;\n}\n\nfunction canonicalizeHash(hash, isPattern) {\n hash = maybeStripPrefix(hash, \"#\");\n\n if (isPattern || hash === \"\") {\n return hash;\n }\n\n var url = new URL(\"https://example.com\");\n url.hash = hash;\n return url.hash ? url.hash.substring(1, url.hash.length) : \"\";\n}\n\nfunction canonicalizeSearch(search, isPattern) {\n search = maybeStripPrefix(search, \"?\");\n\n if (isPattern || search === \"\") {\n return search;\n }\n\n var url = new URL(\"https://example.com\");\n url.search = search;\n return url.search ? url.search.substring(1, url.search.length) : \"\";\n}\n\nfunction canonicalizeHostname(hostname, isPattern) {\n if (isPattern || hostname === \"\") {\n return hostname;\n }\n\n if (treatAsIPv6Hostname(hostname)) {\n return ipv6HostnameEncodeCallback(hostname);\n } else {\n return hostnameEncodeCallback(hostname);\n }\n}\n\nfunction canonicalizePassword(password, isPattern) {\n if (isPattern || password === \"\") {\n return password;\n }\n\n var url = new URL(\"https://example.com\");\n url.password = password;\n return url.password;\n}\n\nfunction canonicalizeUsername(username, isPattern) {\n if (isPattern || username === \"\") {\n return username;\n }\n\n var url = new URL(\"https://example.com\");\n url.username = username;\n return url.username;\n}\n\nfunction canonicalizePathname(pathname, protocol, isPattern) {\n if (isPattern || pathname === \"\") {\n return pathname;\n }\n\n if (protocol && !SPECIAL_SCHEMES.includes(protocol)) {\n var url = new URL(\"\".concat(protocol, \":\").concat(pathname));\n return url.pathname;\n }\n\n var leadingSlash = pathname[0] == \"/\";\n pathname = new URL(!leadingSlash ? \"/-\" + pathname : pathname, \"https://example.com\").pathname;\n\n if (!leadingSlash) {\n pathname = pathname.substring(2, pathname.length);\n }\n\n return pathname;\n}\n\nfunction canonicalizePort(port, protocol, isPattern) {\n if (defaultPortForProtocol(protocol) === port) {\n port = \"\";\n }\n\n if (isPattern || port === \"\") {\n return port;\n }\n\n return portEncodeCallback(port);\n}\n\nfunction canonicalizeProtocol(protocol, isPattern) {\n protocol = maybeStripSuffix(protocol, \":\");\n\n if (isPattern || protocol === \"\") {\n return protocol;\n }\n\n return protocolEncodeCallback(protocol);\n}\n\nfunction defaultPortForProtocol(protocol) {\n switch (protocol) {\n case \"ws\":\n case \"http\":\n return \"80\";\n\n case \"wws\":\n case \"https\":\n return \"443\";\n\n case \"ftp\":\n return \"21\";\n\n default:\n return \"\";\n }\n}\n\nfunction protocolEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n if (/^[-+.A-Za-z0-9]*$/.test(input)) return input.toLowerCase();\n throw new TypeError(\"Invalid protocol '\".concat(input, \"'.\"));\n}\n\nfunction usernameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"https://example.com\");\n url.username = input;\n return url.username;\n}\n\nfunction passwordEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"https://example.com\");\n url.password = input;\n return url.password;\n}\n\nfunction hostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(input)) {\n throw new TypeError(\"Invalid hostname '\".concat(input, \"'\"));\n }\n\n var url = new URL(\"https://example.com\");\n url.hostname = input;\n return url.hostname;\n}\n\nfunction ipv6HostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n if (/[^0-9a-fA-F[\\]:]/g.test(input)) {\n throw new TypeError(\"Invalid IPv6 hostname '\".concat(input, \"'\"));\n }\n\n return input.toLowerCase();\n}\n\nfunction portEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n if (/^[0-9]*$/.test(input) && parseInt(input) <= 65535) {\n return input;\n }\n\n throw new TypeError(\"Invalid port '\".concat(input, \"'.\"));\n}\n\nfunction standardURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"https://example.com\");\n url.pathname = input[0] !== \"/\" ? \"/-\" + input : input;\n\n if (input[0] !== \"/\") {\n return url.pathname.substring(2, url.pathname.length);\n }\n\n return url.pathname;\n}\n\nfunction pathURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"data:\".concat(input));\n return url.pathname;\n}\n\nfunction searchEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"https://example.com\");\n url.search = input;\n return url.search.substring(1, url.search.length);\n}\n\nfunction hashEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n\n var url = new URL(\"https://example.com\");\n url.hash = input;\n return url.hash.substring(1, url.hash.length);\n} // src/url-pattern-parser.ts\n\n\nvar Parser = /*#__PURE__*/function () {\n function Parser(input) {\n _classCallCheck(this, Parser);\n\n this.tokenList = [];\n this.internalResult = {};\n this.tokenIndex = 0;\n this.tokenIncrement = 1;\n this.componentStart = 0;\n this.state = 0\n /* INIT */\n ;\n this.groupDepth = 0;\n this.hostnameIPv6BracketDepth = 0;\n this.shouldTreatAsStandardURL = false;\n this.input = input;\n }\n\n _createClass(Parser, [{\n key: \"result\",\n get: function get() {\n return this.internalResult;\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.tokenList = lexer(this.input, true);\n\n for (; this.tokenIndex < this.tokenList.length; this.tokenIndex += this.tokenIncrement) {\n this.tokenIncrement = 1;\n\n if (this.tokenList[this.tokenIndex].type === \"END\") {\n if (this.state === 0\n /* INIT */\n ) {\n this.rewind();\n\n if (this.isHashPrefix()) {\n this.changeState(9\n /* HASH */\n , 1);\n } else if (this.isSearchPrefix()) {\n this.changeState(8\n /* SEARCH */\n , 1);\n this.internalResult.hash = \"\";\n } else {\n this.changeState(7\n /* PATHNAME */\n , 0);\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n }\n\n continue;\n } else if (this.state === 2\n /* AUTHORITY */\n ) {\n this.rewindAndSetState(5\n /* HOSTNAME */\n );\n continue;\n }\n\n this.changeState(10\n /* DONE */\n , 0);\n break;\n }\n\n if (this.groupDepth > 0) {\n if (this.isGroupClose()) {\n this.groupDepth -= 1;\n } else {\n continue;\n }\n }\n\n if (this.isGroupOpen()) {\n this.groupDepth += 1;\n continue;\n }\n\n switch (this.state) {\n case 0\n /* INIT */\n :\n if (this.isProtocolSuffix()) {\n this.internalResult.username = \"\";\n this.internalResult.password = \"\";\n this.internalResult.hostname = \"\";\n this.internalResult.port = \"\";\n this.internalResult.pathname = \"\";\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n this.rewindAndSetState(1\n /* PROTOCOL */\n );\n }\n\n break;\n\n case 1\n /* PROTOCOL */\n :\n if (this.isProtocolSuffix()) {\n this.computeShouldTreatAsStandardURL();\n var nextState = 7\n /* PATHNAME */\n ;\n var skip = 1;\n\n if (this.shouldTreatAsStandardURL) {\n this.internalResult.pathname = \"/\";\n }\n\n if (this.nextIsAuthoritySlashes()) {\n nextState = 2\n /* AUTHORITY */\n ;\n skip = 3;\n } else if (this.shouldTreatAsStandardURL) {\n nextState = 2\n /* AUTHORITY */\n ;\n }\n\n this.changeState(nextState, skip);\n }\n\n break;\n\n case 2\n /* AUTHORITY */\n :\n if (this.isIdentityTerminator()) {\n this.rewindAndSetState(3\n /* USERNAME */\n );\n } else if (this.isPathnameStart() || this.isSearchPrefix() || this.isHashPrefix()) {\n this.rewindAndSetState(5\n /* HOSTNAME */\n );\n }\n\n break;\n\n case 3\n /* USERNAME */\n :\n if (this.isPasswordPrefix()) {\n this.changeState(4\n /* PASSWORD */\n , 1);\n } else if (this.isIdentityTerminator()) {\n this.changeState(5\n /* HOSTNAME */\n , 1);\n }\n\n break;\n\n case 4\n /* PASSWORD */\n :\n if (this.isIdentityTerminator()) {\n this.changeState(5\n /* HOSTNAME */\n , 1);\n }\n\n break;\n\n case 5\n /* HOSTNAME */\n :\n if (this.isIPv6Open()) {\n this.hostnameIPv6BracketDepth += 1;\n } else if (this.isIPv6Close()) {\n this.hostnameIPv6BracketDepth -= 1;\n }\n\n if (this.isPortPrefix() && !this.hostnameIPv6BracketDepth) {\n this.changeState(6\n /* PORT */\n , 1);\n } else if (this.isPathnameStart()) {\n this.changeState(7\n /* PATHNAME */\n , 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8\n /* SEARCH */\n , 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9\n /* HASH */\n , 1);\n }\n\n break;\n\n case 6\n /* PORT */\n :\n if (this.isPathnameStart()) {\n this.changeState(7\n /* PATHNAME */\n , 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8\n /* SEARCH */\n , 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9\n /* HASH */\n , 1);\n }\n\n break;\n\n case 7\n /* PATHNAME */\n :\n if (this.isSearchPrefix()) {\n this.changeState(8\n /* SEARCH */\n , 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9\n /* HASH */\n , 1);\n }\n\n break;\n\n case 8\n /* SEARCH */\n :\n if (this.isHashPrefix()) {\n this.changeState(9\n /* HASH */\n , 1);\n }\n\n break;\n\n case 9\n /* HASH */\n :\n break;\n\n case 10\n /* DONE */\n :\n break;\n }\n }\n }\n }, {\n key: \"changeState\",\n value: function changeState(newState, skip) {\n switch (this.state) {\n case 0\n /* INIT */\n :\n break;\n\n case 1\n /* PROTOCOL */\n :\n this.internalResult.protocol = this.makeComponentString();\n break;\n\n case 2\n /* AUTHORITY */\n :\n break;\n\n case 3\n /* USERNAME */\n :\n this.internalResult.username = this.makeComponentString();\n break;\n\n case 4\n /* PASSWORD */\n :\n this.internalResult.password = this.makeComponentString();\n break;\n\n case 5\n /* HOSTNAME */\n :\n this.internalResult.hostname = this.makeComponentString();\n break;\n\n case 6\n /* PORT */\n :\n this.internalResult.port = this.makeComponentString();\n break;\n\n case 7\n /* PATHNAME */\n :\n this.internalResult.pathname = this.makeComponentString();\n break;\n\n case 8\n /* SEARCH */\n :\n this.internalResult.search = this.makeComponentString();\n break;\n\n case 9\n /* HASH */\n :\n this.internalResult.hash = this.makeComponentString();\n break;\n\n case 10\n /* DONE */\n :\n break;\n }\n\n this.changeStateWithoutSettingComponent(newState, skip);\n }\n }, {\n key: \"changeStateWithoutSettingComponent\",\n value: function changeStateWithoutSettingComponent(newState, skip) {\n this.state = newState;\n this.componentStart = this.tokenIndex + skip;\n this.tokenIndex += skip;\n this.tokenIncrement = 0;\n }\n }, {\n key: \"rewind\",\n value: function rewind() {\n this.tokenIndex = this.componentStart;\n this.tokenIncrement = 0;\n }\n }, {\n key: \"rewindAndSetState\",\n value: function rewindAndSetState(newState) {\n this.rewind();\n this.state = newState;\n }\n }, {\n key: \"safeToken\",\n value: function safeToken(index) {\n if (index < 0) {\n index = this.tokenList.length - index;\n }\n\n if (index < this.tokenList.length) {\n return this.tokenList[index];\n }\n\n return this.tokenList[this.tokenList.length - 1];\n }\n }, {\n key: \"isNonSpecialPatternChar\",\n value: function isNonSpecialPatternChar(index, value) {\n var token = this.safeToken(index);\n return token.value === value && (token.type === \"CHAR\" || token.type === \"ESCAPED_CHAR\" || token.type === \"INVALID_CHAR\");\n }\n }, {\n key: \"isProtocolSuffix\",\n value: function isProtocolSuffix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n }, {\n key: \"nextIsAuthoritySlashes\",\n value: function nextIsAuthoritySlashes() {\n return this.isNonSpecialPatternChar(this.tokenIndex + 1, \"/\") && this.isNonSpecialPatternChar(this.tokenIndex + 2, \"/\");\n }\n }, {\n key: \"isIdentityTerminator\",\n value: function isIdentityTerminator() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"@\");\n }\n }, {\n key: \"isPasswordPrefix\",\n value: function isPasswordPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n }, {\n key: \"isPortPrefix\",\n value: function isPortPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n }, {\n key: \"isPathnameStart\",\n value: function isPathnameStart() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"/\");\n }\n }, {\n key: \"isSearchPrefix\",\n value: function isSearchPrefix() {\n if (this.isNonSpecialPatternChar(this.tokenIndex, \"?\")) {\n return true;\n }\n\n if (this.tokenList[this.tokenIndex].value !== \"?\") {\n return false;\n }\n\n var previousToken = this.safeToken(this.tokenIndex - 1);\n return previousToken.type !== \"NAME\" && previousToken.type !== \"PATTERN\" && previousToken.type !== \"CLOSE\" && previousToken.type !== \"ASTERISK\";\n }\n }, {\n key: \"isHashPrefix\",\n value: function isHashPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"#\");\n }\n }, {\n key: \"isGroupOpen\",\n value: function isGroupOpen() {\n return this.tokenList[this.tokenIndex].type == \"OPEN\";\n }\n }, {\n key: \"isGroupClose\",\n value: function isGroupClose() {\n return this.tokenList[this.tokenIndex].type == \"CLOSE\";\n }\n }, {\n key: \"isIPv6Open\",\n value: function isIPv6Open() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"[\");\n }\n }, {\n key: \"isIPv6Close\",\n value: function isIPv6Close() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"]\");\n }\n }, {\n key: \"makeComponentString\",\n value: function makeComponentString() {\n var token = this.tokenList[this.tokenIndex];\n var componentCharStart = this.safeToken(this.componentStart).index;\n return this.input.substring(componentCharStart, token.index);\n }\n }, {\n key: \"computeShouldTreatAsStandardURL\",\n value: function computeShouldTreatAsStandardURL() {\n var options = {};\n Object.assign(options, DEFAULT_OPTIONS);\n options.encodePart = protocolEncodeCallback;\n var regexp = pathToRegexp(this.makeComponentString(), void 0, options);\n this.shouldTreatAsStandardURL = isSpecialScheme(regexp);\n }\n }]);\n\n return Parser;\n}(); // src/url-pattern.ts\n\n\nvar COMPONENTS = [\"protocol\", \"username\", \"password\", \"hostname\", \"port\", \"pathname\", \"search\", \"hash\"];\nvar DEFAULT_PATTERN = \"*\";\n\nfunction extractValues(url, baseURL) {\n if (typeof url !== \"string\") {\n throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n\n var o = new URL(url, baseURL);\n return {\n protocol: o.protocol.substring(0, o.protocol.length - 1),\n username: o.username,\n password: o.password,\n hostname: o.hostname,\n port: o.port,\n pathname: o.pathname,\n search: o.search != \"\" ? o.search.substring(1, o.search.length) : void 0,\n hash: o.hash != \"\" ? o.hash.substring(1, o.hash.length) : void 0\n };\n}\n\nfunction processBaseURLString(input, isPattern) {\n if (!isPattern) {\n return input;\n }\n\n return escapePatternString(input);\n}\n\nfunction applyInit(o, init, isPattern) {\n var baseURL;\n\n if (typeof init.baseURL === \"string\") {\n try {\n baseURL = new URL(init.baseURL);\n o.protocol = processBaseURLString(baseURL.protocol.substring(0, baseURL.protocol.length - 1), isPattern);\n o.username = processBaseURLString(baseURL.username, isPattern);\n o.password = processBaseURLString(baseURL.password, isPattern);\n o.hostname = processBaseURLString(baseURL.hostname, isPattern);\n o.port = processBaseURLString(baseURL.port, isPattern);\n o.pathname = processBaseURLString(baseURL.pathname, isPattern);\n o.search = processBaseURLString(baseURL.search.substring(1, baseURL.search.length), isPattern);\n o.hash = processBaseURLString(baseURL.hash.substring(1, baseURL.hash.length), isPattern);\n } catch (_unused) {\n throw new TypeError(\"invalid baseURL '\".concat(init.baseURL, \"'.\"));\n }\n }\n\n if (typeof init.protocol === \"string\") {\n o.protocol = canonicalizeProtocol(init.protocol, isPattern);\n }\n\n if (typeof init.username === \"string\") {\n o.username = canonicalizeUsername(init.username, isPattern);\n }\n\n if (typeof init.password === \"string\") {\n o.password = canonicalizePassword(init.password, isPattern);\n }\n\n if (typeof init.hostname === \"string\") {\n o.hostname = canonicalizeHostname(init.hostname, isPattern);\n }\n\n if (typeof init.port === \"string\") {\n o.port = canonicalizePort(init.port, o.protocol, isPattern);\n }\n\n if (typeof init.pathname === \"string\") {\n o.pathname = init.pathname;\n\n if (baseURL && !isAbsolutePathname(o.pathname, isPattern)) {\n var slashIndex = baseURL.pathname.lastIndexOf(\"/\");\n\n if (slashIndex >= 0) {\n o.pathname = processBaseURLString(baseURL.pathname.substring(0, slashIndex + 1), isPattern) + o.pathname;\n }\n }\n\n o.pathname = canonicalizePathname(o.pathname, o.protocol, isPattern);\n }\n\n if (typeof init.search === \"string\") {\n o.search = canonicalizeSearch(init.search, isPattern);\n }\n\n if (typeof init.hash === \"string\") {\n o.hash = canonicalizeHash(init.hash, isPattern);\n }\n\n return o;\n}\n\nfunction escapePatternString(value) {\n return value.replace(/([+*?:{}()\\\\])/g, \"\\\\$1\");\n}\n\nfunction escapeRegexpString(value) {\n return value.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n\nfunction tokensToPattern(tokens, options) {\n var wildcardPattern = \".*\";\n var segmentWildcardPattern = \"[^\".concat(escapeRegexpString(options.delimiter === void 0 ? \"/#?\" : options.delimiter), \"]+?\");\n var regexIdentifierPart2 = /(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/;\n var result = \"\";\n\n for (var i = 0; i < tokens.length; ++i) {\n var token = tokens[i];\n var lastToken = i > 0 ? tokens[i - 1] : null;\n var nextToken = i < tokens.length - 1 ? tokens[i + 1] : null;\n\n if (typeof token === \"string\") {\n result += escapePatternString(token);\n continue;\n }\n\n if (token.pattern === \"\") {\n if (token.modifier === \"\") {\n result += escapePatternString(token.prefix);\n continue;\n }\n\n result += \"{\".concat(escapePatternString(token.prefix), \"}\").concat(token.modifier);\n continue;\n }\n\n var customName = typeof token.name !== \"number\";\n var optionsPrefixes = options.prefixes !== void 0 ? options.prefixes : \"./\";\n var needsGrouping = token.suffix !== \"\" || token.prefix !== \"\" && (token.prefix.length !== 1 || !optionsPrefixes.includes(token.prefix));\n\n if (!needsGrouping && customName && token.pattern === segmentWildcardPattern && token.modifier === \"\" && nextToken && !nextToken.prefix && !nextToken.suffix) {\n if (typeof nextToken === \"string\") {\n var code = nextToken.length > 0 ? nextToken[0] : \"\";\n needsGrouping = regexIdentifierPart2.test(code);\n } else {\n needsGrouping = typeof nextToken.name === \"number\";\n }\n }\n\n if (!needsGrouping && token.prefix === \"\" && lastToken && typeof lastToken === \"string\" && lastToken.length > 0) {\n var _code = lastToken[lastToken.length - 1];\n needsGrouping = optionsPrefixes.includes(_code);\n }\n\n if (needsGrouping) {\n result += \"{\";\n }\n\n result += escapePatternString(token.prefix);\n\n if (customName) {\n result += \":\".concat(token.name);\n }\n\n if (token.pattern === wildcardPattern) {\n if (!customName && (!lastToken || typeof lastToken === \"string\" || lastToken.modifier || needsGrouping || token.prefix !== \"\")) {\n result += \"*\";\n } else {\n result += \"(\".concat(wildcardPattern, \")\");\n }\n } else if (token.pattern === segmentWildcardPattern) {\n if (!customName) {\n result += \"(\".concat(segmentWildcardPattern, \")\");\n }\n } else {\n result += \"(\".concat(token.pattern, \")\");\n }\n\n if (token.pattern === segmentWildcardPattern && customName && token.suffix !== \"\") {\n if (regexIdentifierPart2.test(token.suffix[0])) {\n result += \"\\\\\";\n }\n }\n\n result += escapePatternString(token.suffix);\n\n if (needsGrouping) {\n result += \"}\";\n }\n\n result += token.modifier;\n }\n\n return result;\n}\n\nvar URLPattern = /*#__PURE__*/function () {\n function URLPattern() {\n var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseURLOrOptions = arguments.length > 1 ? arguments[1] : undefined;\n var options = arguments.length > 2 ? arguments[2] : undefined;\n\n _classCallCheck(this, URLPattern);\n\n this.regexp = {};\n this.keys = {};\n this.component_pattern = {};\n\n try {\n var baseURL = void 0;\n\n if (typeof baseURLOrOptions === \"string\") {\n baseURL = baseURLOrOptions;\n } else {\n options = baseURLOrOptions;\n }\n\n if (typeof init === \"string\") {\n var parser = new Parser(init);\n parser.parse();\n init = parser.result;\n\n if (baseURL === void 0 && typeof init.protocol !== \"string\") {\n throw new TypeError(\"A base URL must be provided for a relative constructor string.\");\n }\n\n init.baseURL = baseURL;\n } else {\n if (!init || _typeof(init) !== \"object\") {\n throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");\n }\n\n if (baseURL) {\n throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n }\n\n if (typeof options === \"undefined\") {\n options = {\n ignoreCase: false\n };\n }\n\n var ignoreCaseOptions = {\n ignoreCase: options.ignoreCase === true\n };\n var defaults = {\n pathname: DEFAULT_PATTERN,\n protocol: DEFAULT_PATTERN,\n username: DEFAULT_PATTERN,\n password: DEFAULT_PATTERN,\n hostname: DEFAULT_PATTERN,\n port: DEFAULT_PATTERN,\n search: DEFAULT_PATTERN,\n hash: DEFAULT_PATTERN\n };\n this.pattern = applyInit(defaults, init, true);\n\n if (defaultPortForProtocol(this.pattern.protocol) === this.pattern.port) {\n this.pattern.port = \"\";\n }\n\n var component;\n\n var _iterator3 = _createForOfIteratorHelper(COMPONENTS),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n component = _step3.value;\n if (!(component in this.pattern)) continue;\n var options2 = {};\n var pattern = this.pattern[component];\n this.keys[component] = [];\n\n switch (component) {\n case \"protocol\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = protocolEncodeCallback;\n break;\n\n case \"username\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = usernameEncodeCallback;\n break;\n\n case \"password\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = passwordEncodeCallback;\n break;\n\n case \"hostname\":\n Object.assign(options2, HOSTNAME_OPTIONS);\n\n if (treatAsIPv6Hostname(pattern)) {\n options2.encodePart = ipv6HostnameEncodeCallback;\n } else {\n options2.encodePart = hostnameEncodeCallback;\n }\n\n break;\n\n case \"port\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = portEncodeCallback;\n break;\n\n case \"pathname\":\n if (isSpecialScheme(this.regexp.protocol)) {\n Object.assign(options2, PATHNAME_OPTIONS, ignoreCaseOptions);\n options2.encodePart = standardURLPathnameEncodeCallback;\n } else {\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = pathURLPathnameEncodeCallback;\n }\n\n break;\n\n case \"search\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = searchEncodeCallback;\n break;\n\n case \"hash\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = hashEncodeCallback;\n break;\n }\n\n try {\n var tokens = parse(pattern, options2);\n this.regexp[component] = tokensToRegexp(tokens, this.keys[component], options2);\n this.component_pattern[component] = tokensToPattern(tokens, options2);\n } catch (_unused2) {\n throw new TypeError(\"invalid \".concat(component, \" pattern '\").concat(this.pattern[component], \"'.\"));\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n } catch (err) {\n throw new TypeError(\"Failed to construct 'URLPattern': \".concat(err.message));\n }\n }\n\n _createClass(URLPattern, [{\n key: \"test\",\n value: function test() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseURL = arguments.length > 1 ? arguments[1] : undefined;\n var values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n\n if (typeof input === \"undefined\") {\n return false;\n }\n\n try {\n if (_typeof(input) === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return false;\n }\n\n var component;\n\n var _iterator4 = _createForOfIteratorHelper(COMPONENTS),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n component = _step4.value;\n\n if (!this.regexp[component].exec(values[component])) {\n return false;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n return true;\n }\n }, {\n key: \"exec\",\n value: function exec() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseURL = arguments.length > 1 ? arguments[1] : undefined;\n var values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n\n if (typeof input === \"undefined\") {\n return;\n }\n\n try {\n if (_typeof(input) === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return null;\n }\n\n var result = {};\n\n if (baseURL) {\n result.inputs = [input, baseURL];\n } else {\n result.inputs = [input];\n }\n\n var component;\n\n var _iterator5 = _createForOfIteratorHelper(COMPONENTS),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n component = _step5.value;\n var match = this.regexp[component].exec(values[component]);\n\n if (!match) {\n return null;\n }\n\n var groups = {};\n\n var _iterator6 = _createForOfIteratorHelper(this.keys[component].entries()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _step6$value = _slicedToArray(_step6.value, 2),\n i = _step6$value[0],\n key = _step6$value[1];\n\n if (typeof key.name === \"string\" || typeof key.name === \"number\") {\n var value = match[i + 1];\n groups[key.name] = value;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n result[component] = {\n input: values[component] || \"\",\n groups: groups\n };\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return result;\n }\n }, {\n key: \"protocol\",\n get: function get() {\n return this.component_pattern.protocol;\n }\n }, {\n key: \"username\",\n get: function get() {\n return this.component_pattern.username;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this.component_pattern.password;\n }\n }, {\n key: \"hostname\",\n get: function get() {\n return this.component_pattern.hostname;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this.component_pattern.port;\n }\n }, {\n key: \"pathname\",\n get: function get() {\n return this.component_pattern.pathname;\n }\n }, {\n key: \"search\",\n get: function get() {\n return this.component_pattern.search;\n }\n }, {\n key: \"hash\",\n get: function get() {\n return this.component_pattern.hash;\n }\n }]);\n\n return URLPattern;\n}();\n\nexport { URLPattern };","import { URLPattern } from \"./dist/urlpattern.js\";\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}","// This alphabet uses a-z A-Z 0-9 _- symbols.\n// Symbols are generated for smaller size.\n// -_zyxwvutsrqponmlkjihgfedcba9876543210ZYXWVUTSRQPONMLKJIHGFEDCBA\nvar url = '-_'; // Loop from 36 to 0 (from z to a and 9 to 0 in Base36).\n\nvar i = 36;\n\nwhile (i--) {\n // 36 is radix. Number.prototype.toString(36) returns number\n // in Base36 representation. Base36 is like hex, but it uses 0–9 and a-z.\n url += i.toString(36);\n} // Loop from 36 to 10 (from Z to A in Base36).\n\n\ni = 36;\n\nwhile (i-- - 10) {\n url += i.toString(36).toUpperCase();\n}\n/**\n * Generate URL-friendly unique ID. This method use non-secure predictable\n * random generator with bigger collision probability.\n *\n * @param {number} [size=21] The number of symbols in ID.\n *\n * @return {string} Random string.\n *\n * @example\n * const nanoid = require('nanoid/non-secure')\n * model.id = nanoid() //=> \"Uakgb_J5m9g-0JDMbcJqL\"\n *\n * @name nonSecure\n * @function\n */\n\n\nmodule.exports = function (size) {\n var id = '';\n i = size || 21; // Compact alternative for `for (var i = 0; i < size; i++)`\n\n while (i--) {\n // `| 0` is compact and faster alternative for `Math.floor()`\n id += url[Math.random() * 64 | 0];\n }\n\n return id;\n};","import { __assign, __extends } from \"tslib\";\nimport { v4 as uuid } from '@lukeed/uuid';\nimport jar from 'js-cookie';\nimport { tld } from './tld';\nimport autoBind from '../../lib/bind-all';\nvar defaults = {\n persist: true,\n cookie: {\n key: 'ajs_user_id',\n oldKey: 'ajs_user'\n },\n localStorage: {\n key: 'ajs_user_traits'\n }\n};\n\nvar Store =\n/** @class */\nfunction () {\n function Store() {\n this.cache = {};\n }\n\n Store.prototype.get = function (key) {\n return this.cache[key];\n };\n\n Store.prototype.set = function (key, value) {\n this.cache[key] = value;\n return value;\n };\n\n Store.prototype.remove = function (key) {\n delete this.cache[key];\n };\n\n return Store;\n}();\n\nvar domain = undefined;\n\ntry {\n domain = tld(new URL(window.location.href));\n} catch (_) {\n domain = undefined;\n}\n\nvar ONE_YEAR = 365;\n\nvar Cookie =\n/** @class */\nfunction (_super) {\n __extends(Cookie, _super);\n\n function Cookie(options) {\n if (options === void 0) {\n options = Cookie.defaults;\n }\n\n var _this = _super.call(this) || this;\n\n _this.options = __assign(__assign({}, Cookie.defaults), options);\n return _this;\n }\n\n Cookie.available = function () {\n var cookieEnabled = window.navigator.cookieEnabled;\n\n if (!cookieEnabled) {\n jar.set('ajs:cookies', 'test');\n cookieEnabled = document.cookie.includes('ajs:cookies');\n jar.remove('ajs:cookies');\n }\n\n return cookieEnabled;\n };\n\n Cookie.prototype.opts = function () {\n return {\n sameSite: this.options.sameSite,\n expires: this.options.maxage,\n domain: this.options.domain,\n path: this.options.path\n };\n };\n\n Cookie.prototype.get = function (key) {\n return jar.getJSON(key);\n };\n\n Cookie.prototype.set = function (key, value) {\n if (typeof value === 'string') {\n jar.set(key, value, this.opts());\n } else if (value === null) {\n jar.remove(key, this.opts());\n } else {\n jar.set(key, JSON.stringify(value), this.opts());\n }\n\n return value;\n };\n\n Cookie.prototype.remove = function (key) {\n return jar.remove(key, this.opts());\n };\n\n Cookie.defaults = {\n maxage: ONE_YEAR,\n domain: domain,\n path: '/',\n sameSite: 'Lax'\n };\n return Cookie;\n}(Store);\n\nexport { Cookie };\n\nvar NullStorage =\n/** @class */\nfunction (_super) {\n __extends(NullStorage, _super);\n\n function NullStorage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.get = function (_key) {\n return null;\n };\n\n _this.set = function (_key, _val) {\n return null;\n };\n\n _this.remove = function (_key) {};\n\n return _this;\n }\n\n return NullStorage;\n}(Store);\n\nvar LocalStorage =\n/** @class */\nfunction (_super) {\n __extends(LocalStorage, _super);\n\n function LocalStorage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n LocalStorage.available = function () {\n var test = 'test';\n\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n };\n\n LocalStorage.prototype.get = function (key) {\n var val = localStorage.getItem(key);\n\n if (val) {\n try {\n return JSON.parse(val);\n } catch (e) {\n return JSON.parse(JSON.stringify(val));\n }\n }\n\n return null;\n };\n\n LocalStorage.prototype.set = function (key, value) {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n } catch (_a) {\n console.warn(\"Unable to set \" + key + \" in localStorage, storage may be full.\");\n }\n\n return value;\n };\n\n LocalStorage.prototype.remove = function (key) {\n return localStorage.removeItem(key);\n };\n\n return LocalStorage;\n}(Store);\n\nexport { LocalStorage };\n\nvar User =\n/** @class */\nfunction () {\n function User(options, cookieOptions) {\n var _this = this;\n\n if (options === void 0) {\n options = defaults;\n }\n\n var _a, _b, _c, _d;\n\n this.mem = new Store();\n this.options = {};\n\n this.id = function (id) {\n var _a, _b;\n\n var prevId = _this.chainGet(_this.idKey);\n\n if (id !== undefined) {\n _this.trySet(_this.idKey, id);\n\n var changingIdentity = id !== prevId && prevId !== null && id !== null;\n\n if (changingIdentity) {\n _this.anonymousId(null);\n }\n }\n\n return (_b = (_a = _this.chainGet(_this.idKey)) !== null && _a !== void 0 ? _a : _this.cookies.get(defaults.cookie.oldKey)) !== null && _b !== void 0 ? _b : null;\n };\n\n this.anonymousId = function (id) {\n var _a, _b;\n\n if (id === undefined) {\n var val = (_a = _this.chainGet(_this.anonKey)) !== null && _a !== void 0 ? _a : (_b = _this.legacySIO()) === null || _b === void 0 ? void 0 : _b[0];\n\n if (val) {\n return val;\n }\n }\n\n if (id === null) {\n _this.trySet(_this.anonKey, null);\n\n return _this.chainGet(_this.anonKey);\n }\n\n _this.trySet(_this.anonKey, id !== null && id !== void 0 ? id : uuid());\n\n return _this.chainGet(_this.anonKey);\n };\n\n this.traits = function (traits) {\n var _a, _b;\n\n if (traits === null) {\n traits = {};\n }\n\n if (traits) {\n _this.mem.set(_this.traitsKey, traits !== null && traits !== void 0 ? traits : {});\n\n _this.localStorage.set(_this.traitsKey, traits !== null && traits !== void 0 ? traits : {});\n }\n\n return (_b = (_a = _this.localStorage.get(_this.traitsKey)) !== null && _a !== void 0 ? _a : _this.mem.get(_this.traitsKey)) !== null && _b !== void 0 ? _b : {};\n };\n\n this.options = options;\n this.cookieOptions = cookieOptions;\n this.idKey = (_b = (_a = options.cookie) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : defaults.cookie.key;\n this.traitsKey = (_d = (_c = options.localStorage) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : defaults.localStorage.key;\n this.anonKey = 'ajs_anonymous_id';\n var shouldPersist = options.persist !== false;\n this.localStorage = options.localStorageFallbackDisabled || !shouldPersist || !LocalStorage.available() ? new NullStorage() : new LocalStorage();\n this.cookies = shouldPersist && Cookie.available() ? new Cookie(cookieOptions) : new NullStorage();\n var legacyUser = this.cookies.get(defaults.cookie.oldKey);\n\n if (legacyUser) {\n legacyUser.id && this.id(legacyUser.id);\n legacyUser.traits && this.traits(legacyUser.traits);\n }\n\n autoBind(this);\n }\n\n User.prototype.chainGet = function (key) {\n var _a, _b, _c;\n\n var val = (_c = (_b = (_a = this.localStorage.get(key)) !== null && _a !== void 0 ? _a : this.cookies.get(key)) !== null && _b !== void 0 ? _b : this.mem.get(key)) !== null && _c !== void 0 ? _c : null;\n return this.trySet(key, typeof val === 'number' ? val.toString() : val);\n };\n\n User.prototype.trySet = function (key, value) {\n this.localStorage.set(key, value);\n this.cookies.set(key, value);\n this.mem.set(key, value);\n return value;\n };\n\n User.prototype.chainClear = function (key) {\n this.localStorage.remove(key);\n this.cookies.remove(key);\n this.mem.remove(key);\n };\n\n User.prototype.legacySIO = function () {\n var val = this.cookies.get('_sio');\n\n if (!val) {\n return null;\n }\n\n var _a = val.split('----'),\n anon = _a[0],\n user = _a[1];\n\n return [anon, user];\n };\n\n User.prototype.identify = function (id, traits) {\n traits = traits !== null && traits !== void 0 ? traits : {};\n var currentId = this.id();\n\n if (currentId === null || currentId === id) {\n traits = __assign(__assign({}, this.traits()), traits);\n }\n\n if (id) {\n this.id(id);\n }\n\n this.traits(traits);\n };\n\n User.prototype.logout = function () {\n this.anonymousId(null);\n this.id(null);\n this.traits({});\n };\n\n User.prototype.reset = function () {\n this.logout();\n this.chainClear(this.idKey);\n this.chainClear(this.anonKey);\n this.chainClear(this.traitsKey);\n };\n\n User.prototype.load = function () {\n return new User(this.options, this.cookieOptions);\n };\n\n User.prototype.save = function () {\n return true;\n };\n\n User.defaults = defaults;\n return User;\n}();\n\nexport { User };\nvar groupDefaults = {\n persist: true,\n cookie: {\n key: 'ajs_group_id'\n },\n localStorage: {\n key: 'ajs_group_properties'\n }\n};\n\nvar Group =\n/** @class */\nfunction (_super) {\n __extends(Group, _super);\n\n function Group(options, cookie) {\n if (options === void 0) {\n options = groupDefaults;\n }\n\n var _this = _super.call(this, options, cookie) || this;\n\n _this.anonymousId = function (_id) {\n return undefined;\n };\n\n autoBind(_this);\n return _this;\n }\n\n return Group;\n}(User);\n\nexport { Group };","import { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { logger } from './logger';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nexport function isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\n\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n\n var global = getGlobalObject(); // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n\n if (isNativeFetch(global.fetch)) {\n return true;\n } // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n\n\n var result = false;\n var doc = global.document; // eslint-disable-next-line deprecation/deprecation\n\n if (doc && typeof doc.createElement === 'function') {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n\n doc.head.removeChild(sandbox);\n } catch (err) {\n IS_DEBUG_BUILD && logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsReportingObserver() {\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin'\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\n\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n var chrome = global.chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}","/**\n * Get the current page's canonical URL.\n *\n * @return {string|undefined}\n */\nfunction canonical() {\n var tags = document.getElementsByTagName('link');\n var canon = '';\n Array.prototype.slice.call(tags).forEach(function (tag) {\n if (tag.getAttribute('rel') === 'canonical') {\n canon = tag.getAttribute('href');\n }\n });\n return canon;\n}\n/**\n * Return the canonical path for the page.\n */\n\n\nfunction canonicalPath() {\n var canon = canonical();\n\n if (!canon) {\n return window.location.pathname;\n }\n\n var a = document.createElement('a');\n a.href = canon;\n var pathname = !a.pathname.startsWith('/') ? '/' + a.pathname : a.pathname;\n return pathname;\n}\n/**\n * Return the canonical URL for the page concat the given `search`\n * and strip the hash.\n */\n\n\nexport function canonicalUrl(search) {\n if (search === void 0) {\n search = '';\n }\n\n var canon = canonical();\n\n if (canon) {\n return canon.includes('?') ? canon : \"\" + canon + search;\n }\n\n var url = window.location.href;\n var i = url.indexOf('#');\n return i === -1 ? url : url.slice(0, i);\n}\n/**\n * Return a default `options.context.page` object.\n *\n * https://segment.com/docs/spec/page/#properties\n */\n\nexport function pageDefaults() {\n return {\n path: canonicalPath(),\n referrer: document.referrer,\n search: location.search,\n title: document.title,\n url: canonicalUrl(location.search)\n };\n}\n\nfunction enrichPageContext(ctx) {\n var _a;\n\n var event = ctx.event;\n event.context = event.context || {};\n var pageContext = pageDefaults();\n var pageProps = (_a = event.properties) !== null && _a !== void 0 ? _a : {};\n Object.keys(pageContext).forEach(function (key) {\n if (pageProps[key]) {\n pageContext[key] = pageProps[key];\n }\n });\n\n if (event.context.page) {\n pageContext = Object.assign({}, pageContext, event.context.page);\n }\n\n event.context = Object.assign({}, event.context, {\n page: pageContext\n });\n ctx.event = event;\n return ctx;\n}\n\nexport var pageEnrichment = {\n name: 'Page Enrichment',\n version: '0.1.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load() {\n return Promise.resolve();\n },\n type: 'before',\n page: function page(ctx) {\n ctx.event.properties = Object.assign({}, pageDefaults(), ctx.event.properties);\n\n if (ctx.event.name) {\n ctx.event.properties.name = ctx.event.name;\n }\n\n return enrichPageContext(ctx);\n },\n alias: enrichPageContext,\n track: enrichPageContext,\n identify: enrichPageContext,\n group: enrichPageContext\n};","import { __awaiter, __generator } from \"tslib\";\nimport { asPromise } from '../../lib/as-promise';\nimport { loadScript } from '../../lib/load-script';\nimport { getCDN } from '../../lib/parse-cdn';\n\nfunction validate(pluginLike) {\n if (!Array.isArray(pluginLike)) {\n throw new Error('Not a valid list of plugins');\n }\n\n var required = ['load', 'isLoaded', 'name', 'version', 'type'];\n pluginLike.forEach(function (plugin) {\n required.forEach(function (method) {\n var _a;\n\n if (plugin[method] === undefined) {\n throw new Error(\"Plugin: \" + ((_a = plugin.name) !== null && _a !== void 0 ? _a : 'unknown') + \" missing required function \" + method);\n }\n });\n });\n return true;\n}\n\nexport function remoteLoader(settings) {\n var _a, _b, _c;\n\n return __awaiter(this, void 0, void 0, function () {\n var allPlugins, cdn, pluginPromises;\n\n var _this = this;\n\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n allPlugins = [];\n cdn = (_b = (_a = window.analytics) === null || _a === void 0 ? void 0 : _a._cdn) !== null && _b !== void 0 ? _b : getCDN();\n pluginPromises = ((_c = settings.remotePlugins) !== null && _c !== void 0 ? _c : []).map(function (remotePlugin) {\n return __awaiter(_this, void 0, void 0, function () {\n var libraryName, pluginFactory, plugin, plugins, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 4,, 5]);\n\n return [4\n /*yield*/\n , loadScript(remotePlugin.url.replace('https://cdn.segment.com', cdn))];\n\n case 1:\n _a.sent();\n\n libraryName = remotePlugin.libraryName;\n if (!(typeof window[libraryName] === 'function')) return [3\n /*break*/\n , 3];\n pluginFactory = window[libraryName];\n return [4\n /*yield*/\n , asPromise(pluginFactory(remotePlugin.settings))];\n\n case 2:\n plugin = _a.sent();\n plugins = Array.isArray(plugin) ? plugin : [plugin];\n validate(plugins);\n allPlugins.push.apply(allPlugins, plugins);\n _a.label = 3;\n\n case 3:\n return [3\n /*break*/\n , 5];\n\n case 4:\n error_1 = _a.sent();\n console.warn('Failed to load Remote Plugin', error_1);\n return [3\n /*break*/\n , 5];\n\n case 5:\n return [2\n /*return*/\n ];\n }\n });\n });\n });\n return [4\n /*yield*/\n , Promise.all(pluginPromises)];\n\n case 1:\n _d.sent();\n\n return [2\n /*return*/\n , allPlugins.filter(Boolean)];\n }\n });\n });\n}","import { __awaiter, __generator } from \"tslib\";\nimport unfetch from 'unfetch';\nvar fetch = unfetch;\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n fetch = window.fetch || unfetch;\n}\n\nvar MAX_PAYLOAD_SIZE = 500;\n\nfunction kilobytes(buffer) {\n var size = encodeURI(JSON.stringify(buffer)).split(/%..|./).length - 1;\n return size / 1024;\n}\n/**\n * Checks if the payload is over or close to\n * the maximum payload size allowed by tracking\n * API.\n */\n\n\nfunction approachingTrackingAPILimit(buffer) {\n return kilobytes(buffer) >= MAX_PAYLOAD_SIZE - 50;\n}\n\nfunction chunks(batch) {\n var result = [];\n var index = 0;\n batch.forEach(function (item) {\n var size = kilobytes(result[index]);\n\n if (size >= 64) {\n index++;\n }\n\n if (result[index]) {\n result[index].push(item);\n } else {\n result[index] = [item];\n }\n });\n return result;\n}\n\nexport default function batch(apiHost, config) {\n var _this = this;\n\n var _a, _b;\n\n var buffer = [];\n var flushing = false;\n var limit = (_a = config === null || config === void 0 ? void 0 : config.size) !== null && _a !== void 0 ? _a : 10;\n var timeout = (_b = config === null || config === void 0 ? void 0 : config.timeout) !== null && _b !== void 0 ? _b : 5000;\n\n function flush() {\n var _a;\n\n if (flushing) {\n return;\n }\n\n flushing = true;\n var batch = buffer.map(function (_a) {\n var _url = _a[0],\n blob = _a[1];\n return blob;\n });\n buffer = [];\n flushing = false;\n var writeKey = (_a = batch[0]) === null || _a === void 0 ? void 0 : _a.writeKey;\n return fetch(\"https://\" + apiHost + \"/b\", {\n // @ts-ignore\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'post',\n body: JSON.stringify({\n batch: batch,\n writeKey: writeKey\n })\n });\n } // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n\n var schedule = scheduleFlush();\n\n function scheduleFlush() {\n return setTimeout(function () {\n schedule = undefined;\n\n if (buffer.length && !flushing) {\n flush();\n }\n }, timeout);\n }\n\n window.addEventListener('beforeunload', function () {\n if (buffer.length === 0) {\n return;\n }\n\n var batch = buffer.map(function (_a) {\n var _url = _a[0],\n blob = _a[1];\n return blob;\n });\n var chunked = chunks(batch);\n var reqs = chunked.map(function (chunk) {\n return __awaiter(_this, void 0, void 0, function () {\n var remote, writeKey;\n\n var _a;\n\n return __generator(this, function (_b) {\n if (chunk.length === 0) {\n return [2\n /*return*/\n ];\n }\n\n remote = \"https://\" + apiHost + \"/b\";\n writeKey = (_a = chunk[0]) === null || _a === void 0 ? void 0 : _a.writeKey;\n return [2\n /*return*/\n , fetch(remote, {\n // @ts-expect-error\n keepalive: true,\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'post',\n body: JSON.stringify({\n batch: chunk,\n writeKey: writeKey\n })\n })];\n });\n });\n });\n Promise.all(reqs).catch(console.error);\n });\n\n function dispatch(url, body) {\n return __awaiter(this, void 0, void 0, function () {\n var bufferOverflow;\n return __generator(this, function (_a) {\n buffer.push([url, body]);\n bufferOverflow = buffer.length >= limit || approachingTrackingAPILimit(buffer);\n\n if (bufferOverflow && !flushing) {\n flush();\n } else {\n if (!schedule) {\n schedule = scheduleFlush();\n }\n }\n\n return [2\n /*return*/\n , true];\n });\n });\n }\n\n return {\n dispatch: dispatch\n };\n}","import unfetch from 'unfetch';\nvar fetch = unfetch;\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n fetch = window.fetch || unfetch;\n}\n\nexport default function () {\n function dispatch(url, body) {\n return fetch(url, {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'post',\n body: JSON.stringify(body)\n });\n }\n\n return {\n dispatch: dispatch\n };\n}","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { Context } from '../../core/context';\nimport { attempt } from '../../core/queue/delivery';\nimport { pWhile } from '../../lib/p-while';\n\nfunction flushQueue(xt, queue) {\n return __awaiter(this, void 0, void 0, function () {\n var failedQueue;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n failedQueue = [];\n\n if (isOffline()) {\n return [2\n /*return*/\n , queue];\n }\n\n return [4\n /*yield*/\n , pWhile(function () {\n return queue.length > 0 && !isOffline();\n }, function () {\n return __awaiter(_this, void 0, void 0, function () {\n var ctx, result, success;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = queue.pop();\n\n if (!ctx) {\n return [2\n /*return*/\n ];\n }\n\n return [4\n /*yield*/\n , attempt(ctx, xt)];\n\n case 1:\n result = _a.sent();\n success = result instanceof Context;\n\n if (!success) {\n failedQueue.push(ctx);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n }) // re-add failed tasks\n ];\n\n case 1:\n _a.sent(); // re-add failed tasks\n\n\n failedQueue.map(function (failed) {\n return queue.pushWithBackoff(failed);\n });\n return [2\n /*return*/\n , queue];\n }\n });\n });\n}\n\nexport function scheduleFlush(flushing, buffer, xt, scheduleFlush) {\n var _this = this;\n\n if (flushing) {\n return;\n } // eslint-disable-next-line @typescript-eslint/no-misused-promises\n\n\n setTimeout(function () {\n return __awaiter(_this, void 0, void 0, function () {\n var isFlushing, newBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFlushing = true;\n return [4\n /*yield*/\n , flushQueue(xt, buffer)];\n\n case 1:\n newBuffer = _a.sent();\n isFlushing = false;\n\n if (buffer.todo > 0) {\n scheduleFlush(isFlushing, newBuffer, xt, scheduleFlush);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n }, Math.random() * 5000);\n}","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { toFacade } from '../../lib/to-facade';\nimport batch from './batched-dispatcher';\nimport standard from './fetch-dispatcher';\nimport { normalize } from './normalize';\nimport { scheduleFlush } from './schedule-flush';\n\nfunction onAlias(analytics, json) {\n var _a, _b, _c, _d;\n\n var user = analytics.user();\n json.previousId = (_c = (_b = (_a = json.previousId) !== null && _a !== void 0 ? _a : json.from) !== null && _b !== void 0 ? _b : user.id()) !== null && _c !== void 0 ? _c : user.anonymousId();\n json.userId = (_d = json.userId) !== null && _d !== void 0 ? _d : json.to;\n delete json.from;\n delete json.to;\n return json;\n}\n\nexport function segmentio(analytics, settings, integrations) {\n var _a, _b, _c;\n\n var buffer = new PersistedPriorityQueue(analytics.queue.queue.maxAttempts, \"dest-Segment.io\");\n var flushing = false;\n var apiHost = (_a = settings === null || settings === void 0 ? void 0 : settings.apiHost) !== null && _a !== void 0 ? _a : 'api.june.so/sdk';\n var remote = apiHost.includes('localhost') ? \"http://\" + apiHost : \"https://\" + apiHost;\n var client = ((_b = settings === null || settings === void 0 ? void 0 : settings.deliveryStrategy) === null || _b === void 0 ? void 0 : _b.strategy) === 'batching' ? batch(apiHost, (_c = settings === null || settings === void 0 ? void 0 : settings.deliveryStrategy) === null || _c === void 0 ? void 0 : _c.config) : standard();\n\n function send(ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var path, json;\n return __generator(this, function (_a) {\n if (isOffline()) {\n buffer.push(ctx); // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n return [2\n /*return*/\n , ctx];\n }\n\n path = ctx.event.type //.charAt(0)\n ;\n json = toFacade(ctx.event).json();\n\n if (ctx.event.type === 'track') {\n delete json.traits;\n }\n\n if (ctx.event.type === 'alias') {\n json = onAlias(analytics, json);\n }\n\n return [2\n /*return*/\n , client.dispatch(remote + \"/\" + path, normalize(analytics, json, settings, integrations)).then(function () {\n return ctx;\n }).catch(function (err) {\n if (err.type === 'error' || err.message === 'Failed to fetch') {\n buffer.push(ctx); // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n }\n\n return ctx;\n })];\n });\n });\n }\n\n var segmentio = {\n name: 'Segment.io',\n type: 'after',\n version: '0.1.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load() {\n return Promise.resolve();\n },\n track: send,\n identify: send,\n page: send,\n alias: send,\n group: send\n };\n return segmentio;\n}","import { __assign, __awaiter, __generator, __spreadArrays } from \"tslib\";\nimport { getProcessEnv } from './lib/get-process-env';\nimport { Analytics } from './analytics';\nimport { Context } from './core/context';\nimport { mergedOptions } from './lib/merged-options';\nimport { pageEnrichment } from './plugins/page-enrichment';\nimport { remoteLoader } from './plugins/remote-loader';\nimport { segmentio } from './plugins/segmentio';\nimport { validation } from './plugins/validation';\nexport function loadLegacySettings(writeKey, settings) {\n var _a;\n\n return {\n // @ts-expect-error\n integrations: {\n 'Segment.io': {\n apiKey: writeKey,\n addBundledMetadata: true,\n apiHost: (_a = settings.apiHost) !== null && _a !== void 0 ? _a : \"api.june.so/sdk\",\n versionSettings: {\n version: '4.4.7',\n componentTypes: ['browser']\n }\n }\n },\n plan: {\n track: {\n __default: {\n enabled: true,\n integrations: {}\n }\n },\n identify: {\n __default: {\n enabled: true\n }\n },\n group: {\n __default: {\n enabled: true\n }\n }\n },\n edgeFunction: {},\n analyticsNextEnabled: true,\n middlewareSettings: {},\n enabledMiddleware: {},\n metrics: {\n sampleRate: 0.1\n },\n legacyVideoPluginsEnabled: false,\n remotePlugins: []\n };\n}\n\nfunction hasLegacyDestinations(settings) {\n return getProcessEnv().NODE_ENV !== 'test' && // just one integration means segmentio\n Object.keys(settings.integrations).length > 1;\n}\n\nfunction flushBuffered(analytics) {\n return __awaiter(this, void 0, void 0, function () {\n var wa, buffered, _loop_1, _i, buffered_1, _a, operation, args;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n wa = window.analytics;\n buffered = // @ts-expect-error\n wa && wa[0] ? __spreadArrays(wa) : [];\n\n _loop_1 = function _loop_1(operation, args) {\n var _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!( // @ts-expect-error\n analytics[operation] && // @ts-expect-error\n typeof analytics[operation] === 'function')) // @ts-expect-error\n return [3\n /*break*/\n , 3];\n if (!(operation === 'addSourceMiddleware')) return [3\n /*break*/\n , 2]; // @ts-expect-error\n\n return [4\n /*yield*/\n , (_a = analytics[operation]).call.apply(_a, __spreadArrays([analytics], args))];\n\n case 1:\n // @ts-expect-error\n _b.sent();\n\n return [3\n /*break*/\n , 3];\n\n case 2:\n // flush each individual event as its own task, so not to block initial page loads\n setTimeout(function () {\n var _a; // @ts-expect-error\n\n\n (_a = analytics[operation]).call.apply(_a, __spreadArrays([analytics], args));\n }, 0);\n _b.label = 3;\n\n case 3:\n return [2\n /*return*/\n ];\n }\n });\n };\n\n _i = 0, buffered_1 = buffered;\n _b.label = 1;\n\n case 1:\n if (!(_i < buffered_1.length)) return [3\n /*break*/\n , 4];\n _a = buffered_1[_i], operation = _a[0], args = _a.slice(1);\n return [5\n /*yield**/\n , _loop_1(operation, args)];\n\n case 2:\n _b.sent();\n\n _b.label = 3;\n\n case 3:\n _i++;\n return [3\n /*break*/\n , 1];\n\n case 4:\n return [2\n /*return*/\n ];\n }\n });\n });\n}\n/**\n * With AJS classic, we allow users to call setAnonymousId before the library initialization.\n * This is important because some of the destinations will use the anonymousId during the initialization,\n * and if we set anonId afterwards, that wouldn’t impact the destination.\n */\n\n\nfunction flushAnonymousUser(analytics) {\n var wa = window.analytics;\n var buffered = // @ts-expect-error\n wa && wa[0] ? __spreadArrays(wa) : [];\n var anon = buffered.find(function (_a) {\n var op = _a[0];\n return op === 'setAnonymousId';\n });\n\n if (anon) {\n var id = anon[1];\n analytics.setAnonymousId(id);\n }\n}\n\nfunction registerPlugins(legacySettings, analytics, opts, options, plugins) {\n var _a, _b, _c;\n\n return __awaiter(this, void 0, void 0, function () {\n var legacyDestinations, _d, schemaFilter, _e, mergedSettings, remotePlugins, toRegister, shouldIgnoreSegmentio, ctx;\n\n var _this = this;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!hasLegacyDestinations(legacySettings)) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , import(\n /* webpackChunkName: \"ajs-destination\" */\n './plugins/ajs-destination').then(function (mod) {\n return mod.ajsDestinations(legacySettings, analytics.integrations, opts);\n })];\n\n case 1:\n _d = _f.sent();\n return [3\n /*break*/\n , 3];\n\n case 2:\n _d = [];\n _f.label = 3;\n\n case 3:\n legacyDestinations = _d;\n if (!legacySettings.legacyVideoPluginsEnabled) return [3\n /*break*/\n , 5];\n return [4\n /*yield*/\n , import(\n /* webpackChunkName: \"legacyVideos\" */\n './plugins/legacy-video-plugins').then(function (mod) {\n return mod.loadLegacyVideoPlugins(analytics);\n })];\n\n case 4:\n _f.sent();\n\n _f.label = 5;\n\n case 5:\n if (!((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track)) return [3\n /*break*/\n , 7];\n return [4\n /*yield*/\n , import(\n /* webpackChunkName: \"schemaFilter\" */\n './plugins/schema-filter').then(function (mod) {\n var _a;\n\n return mod.schemaFilter((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track, legacySettings);\n })];\n\n case 6:\n _e = _f.sent();\n return [3\n /*break*/\n , 8];\n\n case 7:\n _e = undefined;\n _f.label = 8;\n\n case 8:\n schemaFilter = _e;\n mergedSettings = mergedOptions(legacySettings, options);\n return [4\n /*yield*/\n , remoteLoader(legacySettings).catch(function () {\n return [];\n })];\n\n case 9:\n remotePlugins = _f.sent();\n toRegister = __spreadArrays([validation, pageEnrichment], plugins, legacyDestinations, remotePlugins);\n\n if (schemaFilter) {\n toRegister.push(schemaFilter);\n }\n\n shouldIgnoreSegmentio = ((_b = opts.integrations) === null || _b === void 0 ? void 0 : _b.All) === false && !opts.integrations['Segment.io'] || opts.integrations && opts.integrations['Segment.io'] === false;\n\n if (!shouldIgnoreSegmentio) {\n toRegister.push(segmentio(analytics, mergedSettings['Segment.io'], legacySettings.integrations));\n }\n\n return [4\n /*yield*/\n , analytics.register.apply(analytics, toRegister)];\n\n case 10:\n ctx = _f.sent();\n if (!(Object.keys((_c = legacySettings.enabledMiddleware) !== null && _c !== void 0 ? _c : {}).length > 0)) return [3\n /*break*/\n , 12];\n return [4\n /*yield*/\n , import(\n /* webpackChunkName: \"remoteMiddleware\" */\n './plugins/remote-middleware').then(function (_a) {\n var remoteMiddlewares = _a.remoteMiddlewares;\n return __awaiter(_this, void 0, void 0, function () {\n var middleware, promises;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4\n /*yield*/\n , remoteMiddlewares(ctx, legacySettings)];\n\n case 1:\n middleware = _b.sent();\n promises = middleware.map(function (mdw) {\n return analytics.addSourceMiddleware(mdw);\n });\n return [2\n /*return*/\n , Promise.all(promises)];\n }\n });\n });\n })];\n\n case 11:\n _f.sent();\n\n _f.label = 12;\n\n case 12:\n return [2\n /*return*/\n , ctx];\n }\n });\n });\n}\n\nvar AnalyticsBrowser =\n/** @class */\nfunction () {\n function AnalyticsBrowser() {}\n\n AnalyticsBrowser.load = function (settings, options) {\n var _a, _b, _c, _d, _e;\n\n if (options === void 0) {\n options = {};\n }\n\n return __awaiter(this, void 0, void 0, function () {\n var legacySettings, retryQueue, opts, analytics, plugins, ctx, search, hash, term;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n return [4\n /*yield*/\n , loadLegacySettings(settings.writeKey, settings)];\n\n case 1:\n legacySettings = _f.sent();\n retryQueue = (_b = (_a = legacySettings.integrations['Segment.io']) === null || _a === void 0 ? void 0 : _a.retryQueue) !== null && _b !== void 0 ? _b : true;\n opts = __assign({\n retryQueue: retryQueue\n }, options);\n analytics = new Analytics(settings, opts);\n plugins = (_c = settings.plugins) !== null && _c !== void 0 ? _c : [];\n Context.initMetrics(legacySettings.metrics); // needs to be flushed before plugins are registered\n\n flushAnonymousUser(analytics);\n return [4\n /*yield*/\n , registerPlugins(legacySettings, analytics, opts, options, plugins)];\n\n case 2:\n ctx = _f.sent();\n analytics.initialized = true;\n analytics.emit('initialize', settings, options);\n\n if (options.initialPageview) {\n analytics.page().catch(console.error);\n }\n\n search = (_d = window.location.search) !== null && _d !== void 0 ? _d : '';\n hash = (_e = window.location.hash) !== null && _e !== void 0 ? _e : '';\n term = search.length ? search : hash.replace(/(?=#).*(?=\\?)/, '');\n\n if (term.includes('ajs_')) {\n analytics.queryString(term).catch(console.error);\n }\n\n return [4\n /*yield*/\n , flushBuffered(analytics)];\n\n case 3:\n _f.sent();\n\n return [2\n /*return*/\n , [analytics, ctx]];\n }\n });\n });\n };\n\n AnalyticsBrowser.standalone = function (writeKey, options) {\n return AnalyticsBrowser.load({\n writeKey: writeKey\n }, options).then(function (res) {\n return res[0];\n });\n };\n\n return AnalyticsBrowser;\n}();\n\nexport { AnalyticsBrowser };","import { toUint8, bytesMatch } from './byte-helpers.js';\nvar ID3 = toUint8([0x49, 0x44, 0x33]);\nexport var getId3Size = function getId3Size(bytes, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n bytes = toUint8(bytes);\n var flags = bytes[offset + 5];\n var returnSize = bytes[offset + 6] << 21 | bytes[offset + 7] << 14 | bytes[offset + 8] << 7 | bytes[offset + 9];\n var footerPresent = (flags & 16) >> 4;\n\n if (footerPresent) {\n return returnSize + 20;\n }\n\n return returnSize + 10;\n};\nexport var getId3Offset = function getId3Offset(bytes, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n bytes = toUint8(bytes);\n\n if (bytes.length - offset < 10 || !bytesMatch(bytes, ID3, {\n offset: offset\n })) {\n return offset;\n }\n\n offset += getId3Size(bytes, offset); // recursive check for id3 tags as some files\n // have multiple ID3 tag sections even though\n // they should not.\n\n return getId3Offset(bytes, offset);\n};","import { frontendURL } from '../../../../helper/URLHelper';\n\nconst conversations = accountId => ({\n parentNav: 'conversations',\n routes: [\n 'home',\n 'inbox_dashboard',\n 'inbox_conversation',\n 'conversation_through_inbox',\n 'notifications_dashboard',\n 'label_conversations',\n 'conversations_through_label',\n 'team_conversations',\n 'conversations_through_team',\n 'conversation_mentions',\n 'conversation_through_mentions',\n 'conversation_participating',\n 'conversation_through_participating',\n 'folder_conversations',\n 'conversations_through_folders',\n 'conversation_unattended',\n 'conversation_through_unattended',\n ],\n menuItems: [\n {\n icon: 'chat',\n label: 'ALL_CONVERSATIONS',\n key: 'conversations',\n toState: frontendURL(`accounts/${accountId}/dashboard`),\n toolTip: 'Conversation from all subscribed inboxes',\n toStateName: 'home',\n },\n {\n icon: 'mention',\n label: 'MENTIONED_CONVERSATIONS',\n key: 'conversation_mentions',\n toState: frontendURL(`accounts/${accountId}/mentions/conversations`),\n toStateName: 'conversation_mentions',\n },\n {\n icon: 'mail-unread',\n label: 'UNATTENDED_CONVERSATIONS',\n key: 'conversation_unattended',\n toState: frontendURL(`accounts/${accountId}/unattended/conversations`),\n toStateName: 'conversation_unattended',\n },\n ],\n});\n\nexport default conversations;\n","import { frontendURL } from '../../../../helper/URLHelper';\n\nconst visits = accountId => ({\n parentNav: 'visits',\n routes: [\n 'visits_dashboard',\n 'visits_inbox_dashboard',\n ],\n menuItems: [\n {\n icon: 'compass-northwest',\n label: 'ALL_VISITS',\n key: 'visits',\n toState: frontendURL(`accounts/${accountId}/visits_dashboard`),\n toolTip: 'Visits from all subscribed inboxes',\n toStateName: 'visits_dashboard',\n },\n ],\n});\n\nexport default visits;\n","import { frontendURL } from '../../../../helper/URLHelper';\n\nconst contacts = accountId => ({\n parentNav: 'contacts',\n routes: [\n 'contacts_dashboard',\n 'contact_profile_dashboard',\n 'contacts_segments_dashboard',\n 'contacts_labels_dashboard',\n ],\n menuItems: [\n {\n icon: 'contact-card-group',\n label: 'ALL_CONTACTS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/contacts`),\n toStateName: 'contacts_dashboard',\n },\n ],\n});\n\nexport default contacts;\n","import { frontendURL } from '../../../../helper/URLHelper';\n\nconst reports = accountId => ({\n parentNav: 'reports',\n routes: [\n 'account_overview_reports',\n 'conversation_reports',\n 'csat_reports',\n 'agent_reports',\n 'label_reports',\n 'inbox_reports',\n 'team_reports',\n ],\n menuItems: [\n {\n icon: 'arrow-trending-lines',\n label: 'REPORTS_OVERVIEW',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/overview`),\n toStateName: 'account_overview_reports',\n },\n {\n icon: 'chat',\n label: 'REPORTS_CONVERSATION',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/conversation`),\n toStateName: 'conversation_reports',\n },\n {\n icon: 'emoji',\n label: 'CSAT',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/csat`),\n toStateName: 'csat_reports',\n },\n {\n icon: 'people',\n label: 'REPORTS_AGENT',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/agent`),\n toStateName: 'agent_reports',\n },\n {\n icon: 'tag',\n label: 'REPORTS_LABEL',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/label`),\n toStateName: 'label_reports',\n },\n {\n icon: 'mail-inbox-all',\n label: 'REPORTS_INBOX',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/inboxes`),\n toStateName: 'inbox_reports',\n },\n {\n icon: 'people-team',\n label: 'REPORTS_TEAM',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/reports/teams`),\n toStateName: 'team_reports',\n },\n ],\n});\n\nexport default reports;\n","import { frontendURL } from '../../../../helper/URLHelper';\n\nconst campaigns = accountId => ({\n parentNav: 'campaigns',\n routes: ['settings_account_campaigns', 'one_off'],\n menuItems: [\n {\n icon: 'arrow-swap',\n label: 'ONGOING',\n key: 'ongoingCampaigns',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/campaigns/ongoing`),\n toStateName: 'settings_account_campaigns',\n },\n {\n key: 'oneOffCampaigns',\n icon: 'sound-source',\n label: 'ONE_OFF',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/campaigns/one_off`),\n toStateName: 'one_off',\n },\n ],\n});\n\nexport default campaigns;\n","export const FEATURE_FLAGS = {\n AGENT_BOTS: 'agent_bots',\n AGENT_MANAGEMENT: 'agent_management',\n AUTO_RESOLVE_CONVERSATIONS: 'auto_resolve_conversations',\n AUTOMATIONS: 'automations',\n CAMPAIGNS: 'campaigns',\n CANNED_RESPONSES: 'canned_responses',\n CRM: 'crm',\n CUSTOM_ATTRIBUTES: 'custom_attributes',\n INBOX_MANAGEMENT: 'inbox_management',\n INTEGRATIONS: 'integrations',\n LABELS: 'labels',\n MACROS: 'macros',\n HELP_CENTER: 'help_center',\n REPORTS: 'reports',\n TEAM_MANAGEMENT: 'team_management',\n VOICE_RECORDER: 'voice_recorder',\n AUDIT_LOGS: 'audit_logs',\n};\n","import { FEATURE_FLAGS } from '../../../../featureFlags';\nimport { frontendURL } from '../../../../helper/URLHelper';\n\nconst settings = accountId => ({\n parentNav: 'settings',\n routes: [\n 'agent_bots',\n 'agent_list',\n 'attributes_list',\n 'automation_list',\n 'auditlogs_list',\n 'billing_settings_index',\n 'canned_list',\n 'canned_new',\n 'canned_edit',\n 'blacklist_list',\n 'robotqas_list',\n 'general_settings_index',\n 'general_settings',\n 'labels_list',\n 'macros_edit',\n 'macros_new',\n 'macros_wrapper',\n 'payment_list',\n 'payment_upgrade',\n 'payment_usdt',\n 'settings_applications_integration',\n 'settings_applications_webhook',\n 'settings_applications',\n 'settings_inbox_finish',\n 'settings_inbox_list',\n 'settings_inbox_new',\n 'settings_inbox_show',\n 'settings_inbox',\n 'settings_inboxes_add_agents',\n 'settings_inboxes_page_channel',\n 'settings_integrations_dashboard_apps',\n 'settings_integrations_integration',\n 'settings_integrations_slack',\n 'settings_integrations_webhook',\n 'settings_integrations',\n 'settings_teams_add_agents',\n 'settings_teams_edit_finish',\n 'settings_teams_edit_members',\n 'settings_teams_edit',\n 'settings_teams_finish',\n 'settings_teams_list',\n 'settings_teams_new'\n ],\n menuItems: [\n {\n icon: 'briefcase',\n label: 'ACCOUNT_SETTINGS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/general`),\n toStateName: 'general_settings_index'\n },\n {\n icon: 'people',\n label: 'AGENTS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/agents/list`),\n toStateName: 'agent_list',\n featureFlag: FEATURE_FLAGS.AGENT_MANAGEMENT\n },\n {\n icon: 'people-team',\n label: 'TEAMS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/teams/list`),\n toStateName: 'settings_teams_list',\n featureFlag: FEATURE_FLAGS.TEAM_MANAGEMENT\n },\n {\n icon: 'mail-inbox-all',\n label: 'INBOXES',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/inboxes/list`),\n toStateName: 'settings_inbox_list',\n featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT\n },\n {\n icon: 'tag',\n label: 'LABELS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/labels/list`),\n toStateName: 'labels_list',\n featureFlag: FEATURE_FLAGS.LABELS\n },\n {\n icon: 'code',\n label: 'CUSTOM_ATTRIBUTES',\n hasSubMenu: false,\n toState: frontendURL(\n `accounts/${accountId}/settings/custom-attributes/list`\n ),\n toStateName: 'attributes_list',\n featureFlag: FEATURE_FLAGS.CUSTOM_ATTRIBUTES\n },\n {\n icon: 'automation',\n label: 'AUTOMATION',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/automation/list`),\n toStateName: 'automation_list',\n featureFlag: FEATURE_FLAGS.AUTOMATIONS\n },\n {\n icon: 'bot',\n label: 'AGENT_BOTS',\n hasSubMenu: false,\n globalConfigFlag: 'csmlEditorHost',\n toState: frontendURL(`accounts/${accountId}/settings/agent-bots`),\n toStateName: 'agent_bots',\n featureFlag: FEATURE_FLAGS.AGENT_BOTS\n },\n {\n icon: 'flash-settings',\n label: 'MACROS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/macros`),\n toStateName: 'macros_wrapper',\n featureFlag: FEATURE_FLAGS.MACROS\n },\n {\n icon: 'chat-multiple',\n label: 'CANNED_RESPONSES',\n hasSubMenu: false,\n toState: frontendURL(\n `accounts/${accountId}/settings/canned-response/list`\n ),\n toStateName: 'canned_list',\n featureFlag: FEATURE_FLAGS.CANNED_RESPONSES\n },\n {\n icon: 'warning',\n label: 'BLACKLIST',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/blacklist/list`),\n toStateName: 'blacklist_list'\n },\n {\n icon: 'checkmark',\n label: 'ROBOTQAS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/robotqas/list`),\n toStateName: 'robotqas_list',\n onlyForAccountIds: window.chatwootConfig.productName === 'Voxsig' ? [1, 2, 2454, 1620, 2751] : []\n },\n {\n icon: 'flash-on',\n label: 'INTEGRATIONS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/integrations`),\n toStateName: 'settings_integrations',\n featureFlag: FEATURE_FLAGS.INTEGRATIONS\n },\n {\n icon: 'star-emphasis',\n label: 'APPLICATIONS',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/applications`),\n toStateName: 'settings_applications',\n featureFlag: FEATURE_FLAGS.INTEGRATIONS,\n ...(window.chatwootConfig.productName === 'Voxsig' ? {} : { onlyForAccountIds: [] })\n },\n {\n icon: 'credit-card-person',\n label: 'BILLING',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/billing`),\n toStateName: 'billing_settings_index',\n showOnlyOnCloud: true\n },\n {\n icon: 'credit-card-person',\n label: 'PAYMENT',\n hasSubMenu: false,\n toState: frontendURL(`accounts/${accountId}/settings/payment/list`),\n toStateName: 'payment_list'\n }\n ]\n});\n\nexport default settings;\n","const notifications = () => ({\n parentNav: 'notifications',\n routes: ['notifications_index'],\n menuItems: [],\n});\n\nexport default notifications;\n","import { FEATURE_FLAGS } from '../../../../featureFlags';\nimport { frontendURL } from '../../../../helper/URLHelper';\n\nconst primaryMenuItems = accountId => [\n {\n icon: 'chat',\n key: 'conversations',\n label: 'CONVERSATIONS',\n toState: frontendURL(`accounts/${accountId}/dashboard`),\n toStateName: 'home',\n roles: ['administrator', 'agent']\n },\n {\n icon: 'compass-northwest',\n key: 'visits',\n label: 'VISITS',\n toState: frontendURL(`accounts/${accountId}/visits_dashboard`),\n toStateName: 'visits_dashboard',\n roles: ['administrator', 'agent']\n },\n {\n icon: 'book-contacts',\n key: 'contacts',\n label: 'CONTACTS',\n featureFlag: FEATURE_FLAGS.CRM,\n toState: frontendURL(`accounts/${accountId}/contacts`),\n toStateName: 'contacts_dashboard',\n roles: ['administrator', 'agent']\n },\n {\n icon: 'arrow-trending-lines',\n key: 'reports',\n label: 'REPORTS',\n featureFlag: FEATURE_FLAGS.REPORTS,\n toState: frontendURL(`accounts/${accountId}/reports`),\n toStateName: 'settings_account_reports',\n roles: ['administrator']\n },\n {\n icon: 'megaphone',\n key: 'campaigns',\n label: 'CAMPAIGNS',\n featureFlag: FEATURE_FLAGS.CAMPAIGNS,\n toState: frontendURL(`accounts/${accountId}/campaigns`),\n toStateName: 'settings_account_campaigns',\n roles: ['administrator']\n },\n {\n icon: 'library',\n key: 'helpcenter',\n label: 'HELP_CENTER.TITLE',\n featureFlag: FEATURE_FLAGS.HELP_CENTER,\n toState: frontendURL(`accounts/${accountId}/portals`),\n toStateName: 'default_portal_articles',\n roles: ['administrator'],\n onlyForAccountIds: window.chatwootConfig.productName === 'Voxsig' ? [1, 2] : []\n },\n {\n icon: 'settings',\n key: 'settings',\n label: 'SETTINGS',\n toState: frontendURL(`accounts/${accountId}/settings`),\n toStateName: 'settings_home',\n roles: ['administrator', 'agent']\n }\n];\n\nexport default primaryMenuItems;\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"","\n \n
\n
\n \n
\n\n\n","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=b8851d52&\"\nimport script from \"./Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./Logo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-8 h-8\"},[_c('router-link',{attrs:{\"to\":_vm.dashboardPath,\"replace\":\"\"}},[_c('img',{attrs:{\"src\":_vm.source,\"alt\":_vm.name}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryNavItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryNavItem.vue?vue&type=script&lang=js&\"","\n \n \n \n {{ name }}\n \n {{ count }}\n \n \n \n\n\n","import { render, staticRenderFns } from \"./PrimaryNavItem.vue?vue&type=template&id=6b6229fb&\"\nimport script from \"./PrimaryNavItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PrimaryNavItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{attrs:{\"to\":_vm.to,\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar isActive = ref.isActive;\nvar navigate = ref.navigate;\nreturn [_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:(_vm.$t((\"SIDEBAR.\" + _vm.name))),expression:\"$t(`SIDEBAR.${name}`)\",modifiers:{\"right\":true}}],staticClass:\"text-slate-700 dark:text-slate-100 w-10 h-10 my-2 flex items-center justify-center rounded-lg hover:bg-slate-25 dark:hover:bg-slate-700 dark:hover:text-slate-100 hover:text-slate-600 relative\",class:{\n 'bg-woot-50 dark:bg-slate-800 text-woot-500 hover:bg-woot-50':\n isActive || _vm.isChildMenuActive,\n },attrs:{\"href\":href,\"rel\":_vm.openInNewPage ? 'noopener noreferrer nofollow' : undefined,\"target\":_vm.openInNewPage ? '_blank' : undefined},on:{\"click\":navigate}},[_c('fluent-icon',{class:{\n 'text-woot-500': isActive || _vm.isChildMenuActive,\n },attrs:{\"icon\":_vm.icon}}),_vm._v(\" \"),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.name))]),_vm._v(\" \"),(_vm.count)?_c('span',{staticClass:\"text-black-900 bg-yellow-500 absolute -top-1 -right-1\"},[_vm._v(\"\\n \"+_vm._s(_vm.count)+\"\\n \")]):_vm._e()],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownHeader.vue?vue&type=script&lang=js&\"","\n \n \n {{ title }}\n \n \n \n\n\n","import { render, staticRenderFns } from \"./DropdownHeader.vue?vue&type=template&id=6d9d923a&\"\nimport script from \"./DropdownHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"inline-flex list-none\",attrs:{\"tabindex\":null,\"aria-disabled\":true}},[_c('span',{staticClass:\"text-xs text-slate-600 dark:text-slate-100 mt-1 font-medium w-full block text-left rtl:text-right whitespace-nowrap p-2\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownDivider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownDivider.vue?vue&type=script&lang=js&\"","\n \n\n\n","import { render, staticRenderFns } from \"./DropdownDivider.vue?vue&type=template&id=a7d17b0e&\"\nimport script from \"./DropdownDivider.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownDivider.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"list-none my-1 mx-0 border-b border-slate-50 dark:border-slate-700\",attrs:{\"tabindex\":null,\"aria-disabled\":true}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilityStatusBadge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilityStatusBadge.vue?vue&type=script&lang=js&\"","\n \n\n\n\n","import { render, staticRenderFns } from \"./AvailabilityStatusBadge.vue?vue&type=template&id=99ca10de&scoped=true&\"\nimport script from \"./AvailabilityStatusBadge.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailabilityStatusBadge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvailabilityStatusBadge.vue?vue&type=style&index=0&id=99ca10de&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"99ca10de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"status-badge status-badge__\" + _vm.status + \" rounded-full w-2.5 h-2.5 mr-0.5 rtl:mr-0 rtl:ml-0.5 inline-flex\")})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n {{ status.label }}\n \n \n \n \n \n \n\n \n {{ $t('SIDEBAR.SET_AUTO_OFFLINE.TEXT') }}\n \n
\n\n \n \n \n \n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilityStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilityStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AvailabilityStatus.vue?vue&type=template&id=40fa6e83&\"\nimport script from \"./AvailabilityStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailabilityStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('woot-dropdown-menu',[_c('woot-dropdown-header',{attrs:{\"title\":_vm.$t('SIDEBAR.SET_AVAILABILITY_TITLE')}}),_vm._v(\" \"),_vm._l((_vm.availabilityStatuses),function(status){return _c('woot-dropdown-item',{key:status.value,staticClass:\"flex items-baseline\"},[_c('woot-button',{attrs:{\"size\":\"small\",\"color-scheme\":status.disabled ? '' : 'secondary',\"variant\":status.disabled ? 'smooth' : 'clear',\"class-names\":\"status-change--dropdown-button\"},on:{\"click\":function($event){return _vm.changeAvailabilityStatus(status.value)}}},[_c('availability-status-badge',{attrs:{\"status\":status.value}}),_vm._v(\"\\n \"+_vm._s(status.label)+\"\\n \")],1)],1)}),_vm._v(\" \"),_c('woot-dropdown-divider'),_vm._v(\" \"),_c('woot-dropdown-item',{staticClass:\"m-0 flex items-center justify-between p-2\"},[_c('div',{staticClass:\"flex items-center\"},[_c('fluent-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right-start\",value:(_vm.$t('SIDEBAR.SET_AUTO_OFFLINE.INFO_TEXT')),expression:\"$t('SIDEBAR.SET_AUTO_OFFLINE.INFO_TEXT')\",modifiers:{\"right-start\":true}}],staticClass:\"mt-px\",attrs:{\"icon\":\"info\",\"size\":\"14\"}}),_vm._v(\" \"),_c('span',{staticClass:\"my-0 mx-1 text-xs font-medium text-slate-600 dark:text-slate-100\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR.SET_AUTO_OFFLINE.TEXT'))+\"\\n \")])],1),_vm._v(\" \"),_c('woot-switch',{staticClass:\"mt-px mx-1 mb-0\",attrs:{\"size\":\"small\",\"value\":_vm.currentUserAutoOffline},on:{\"input\":_vm.updateAutoOffline}})],1),_vm._v(\" \"),_c('woot-dropdown-divider')],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionsMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionsMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OptionsMenu.vue?vue&type=template&id=0db34472&\"\nimport script from \"./OptionsMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./OptionsMenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"menu-slide\"}},[(_vm.show)?_c('div',{directives:[{name:\"on-clickaway\",rawName:\"v-on-clickaway\",value:(_vm.onClickAway),expression:\"onClickAway\"}],staticClass:\"left-3 rtl:left-auto rtl:right-3 bottom-16 w-64 absolute z-30 rounded-md shadow-xl bg-white dark:bg-slate-800 py-2 px-2 border border-slate-25 dark:border-slate-700\",class:{ 'block visible': _vm.show }},[_c('availability-status'),_vm._v(\" \"),_c('woot-dropdown-menu',[(_vm.showChangeAccountOption)?_c('woot-dropdown-item',[_c('woot-button',{attrs:{\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"size\":\"small\",\"icon\":\"arrow-swap\"},on:{\"click\":function($event){return _vm.$emit('toggle-accounts')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.CHANGE_ACCOUNTS'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.globalConfig.chatwootInboxToken)?_c('woot-dropdown-item',[_c('woot-button',{attrs:{\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"size\":\"small\",\"icon\":\"chat-help\"},on:{\"click\":function($event){return _vm.$emit('show-support-chat-window')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.CONTACT_SUPPORT'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('woot-dropdown-item',[_c('woot-button',{attrs:{\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"size\":\"small\",\"icon\":\"keyboard\"},on:{\"click\":_vm.handleKeyboardHelpClick}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.KEYBOARD_SHORTCUTS'))+\"\\n \")])],1),_vm._v(\" \"),_c('woot-dropdown-item',[_c('router-link',{attrs:{\"to\":(\"/app/accounts/\" + _vm.accountId + \"/profile/settings\"),\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar isActive = ref.isActive;\nvar navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"button small clear secondary bg-white dark:bg-slate-800 h-8\",class:{ 'is-active': isActive },attrs:{\"href\":href},on:{\"click\":function (e) { return _vm.handleProfileSettingClick(e, navigate); }}},[_c('fluent-icon',{staticClass:\"icon icon--font\",attrs:{\"icon\":\"person\",\"size\":\"14\"}}),_vm._v(\" \"),_c('span',{staticClass:\"button__content\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.PROFILE_SETTINGS'))+\"\\n \")])],1)]}}],null,false,3672575605)})],1),_vm._v(\" \"),_c('woot-dropdown-item',[_c('woot-button',{attrs:{\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"size\":\"small\",\"icon\":\"appearance\"},on:{\"click\":_vm.openAppearanceOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.APPEARANCE'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.currentUser.type === 'SuperAdmin')?_c('woot-dropdown-item',[_c('a',{staticClass:\"button small clear secondary bg-white dark:bg-slate-800 h-8\",attrs:{\"href\":\"/3qou19vwe81n8hec\",\"target\":\"_blank\",\"rel\":\"noopener nofollow noreferrer\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('fluent-icon',{staticClass:\"icon icon--font\",attrs:{\"icon\":\"content-settings\",\"size\":\"14\"}}),_vm._v(\" \"),_c('span',{staticClass:\"button__content\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.SUPER_ADMIN_CONSOLE'))+\"\\n \")])],1)]):_vm._e(),_vm._v(\" \"),_c('woot-dropdown-item',[_c('woot-button',{attrs:{\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"size\":\"small\",\"icon\":\"power\"},on:{\"click\":_vm.logout}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR_ITEMS.LOGOUT'))+\"\\n \")])],1)],1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AgentDetails.vue?vue&type=template&id=fa3cb2ae&scoped=true&\"\nimport script from \"./AgentDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AgentDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AgentDetails.vue?vue&type=style&index=0&id=fa3cb2ae&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fa3cb2ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('woot-button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:(_vm.$t(\"SIDEBAR.PROFILE_SETTINGS\")),expression:\"$t(`SIDEBAR.PROFILE_SETTINGS`)\",modifiers:{\"right\":true}}],staticClass:\"current-user\",attrs:{\"variant\":\"link\"},on:{\"click\":_vm.handleClick}},[_c('thumbnail',{attrs:{\"src\":_vm.currentUser.avatar_url,\"username\":_vm.currentUser.name,\"status\":_vm.statusOfAgent,\"should-show-status-always\":\"\",\"size\":\"32px\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationBell.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationBell.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotificationBell.vue?vue&type=template&id=12adcd9c&\"\nimport script from \"./NotificationBell.vue?vue&type=script&lang=js&\"\nexport * from \"./NotificationBell.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-4\"},[_c('button',{staticClass:\"text-slate-600 dark:text-slate-100 w-10 h-10 my-2 flex items-center justify-center rounded-lg hover:bg-slate-25 dark:hover:bg-slate-700 dark:hover:text-slate-100 hover:text-slate-600 relative\",class:{\n 'bg-woot-50 dark:bg-slate-800 text-woot-500 hover:bg-woot-50': _vm.isNotificationPanelActive,\n },on:{\"click\":_vm.openNotificationPanel}},[_c('fluent-icon',{class:{\n 'text-woot-500': _vm.isNotificationPanelActive,\n },attrs:{\"icon\":\"alert\"}}),_vm._v(\" \"),(_vm.unreadCount)?_c('span',{staticClass:\"text-black-900 bg-yellow-300 absolute -top-0.5 -right-1 p-1 text-xxs min-w-[1rem] rounded-full\"},[_vm._v(\"\\n \"+_vm._s(_vm.unreadCount)+\"\\n \")]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Primary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Primary.vue?vue&type=script&lang=js&\"","\n \n\n\n","import { render, staticRenderFns } from \"./Primary.vue?vue&type=template&id=63d7439f&\"\nimport script from \"./Primary.vue?vue&type=script&lang=js&\"\nexport * from \"./Primary.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-full w-16 bg-white dark:bg-slate-900 border-r border-slate-50 dark:border-slate-800/50 rtl:border-l rtl:border-r-0 flex justify-between flex-col\"},[_c('div',{staticClass:\"flex flex-col items-center\"},[_c('logo',{staticClass:\"m-4 mb-10\",attrs:{\"source\":_vm.logoSource,\"name\":_vm.installationName,\"account-id\":_vm.accountId}}),_vm._v(\" \"),_vm._l((_vm.accessibleMenuItems),function(menuItem){return _c('primary-nav-item',{key:menuItem.toState,attrs:{\"icon\":menuItem.icon,\"name\":menuItem.label,\"to\":menuItem.toState,\"is-child-menu-active\":menuItem.key === _vm.activeMenuItem}})})],2),_vm._v(\" \"),_c('div',{staticClass:\"flex flex-col items-center justify-end pb-6\"},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:(_vm.$t(\"SIDEBAR.HELP\")),expression:\"$t(`SIDEBAR.HELP`)\",modifiers:{\"right\":true}}],staticClass:\"text-slate-700 dark:text-slate-100 w-10 h-10 my-2 flex items-center justify-center rounded-lg hover:bg-slate-25 dark:hover:bg-slate-700 dark:hover:text-slate-100 hover:text-slate-600 relative\",attrs:{\"id\":\"chat-help-button\"},on:{\"click\":_vm.handleChatHelpClick}},[_c('fluent-icon',{attrs:{\"icon\":\"chat-help\"}})],1),_vm._v(\" \"),_c('notification-bell',{on:{\"open-notification-panel\":_vm.openNotificationPanel}}),_vm._v(\" \"),_c('agent-details',{on:{\"toggle-menu\":_vm.toggleOptions}}),_vm._v(\" \"),_c('options-menu',{attrs:{\"show\":_vm.showOptionsMenu},on:{\"toggle-accounts\":_vm.toggleAccountModal,\"show-support-chat-window\":_vm.toggleSupportChatWindow,\"key-shortcut-modal\":function($event){return _vm.$emit('key-shortcut-modal')},\"close\":_vm.toggleOptions}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { INBOX_TYPES } from 'shared/mixins/inboxMixin';\n\nexport const getInboxSource = (type, phoneNumber, inbox) => {\n switch (type) {\n case INBOX_TYPES.WEB:\n return inbox.website_url || '';\n\n case INBOX_TYPES.TWILIO:\n case INBOX_TYPES.WHATSAPP:\n return phoneNumber || '';\n\n case INBOX_TYPES.EMAIL:\n return inbox.email || '';\n\n default:\n return '';\n }\n};\nexport const getReadableInboxByType = (type, phoneNumber) => {\n switch (type) {\n case INBOX_TYPES.WEB:\n return 'livechat';\n\n case INBOX_TYPES.FB:\n return 'facebook';\n\n case INBOX_TYPES.TWITTER:\n return 'twitter';\n\n case INBOX_TYPES.TWILIO:\n return phoneNumber?.startsWith('whatsapp') ? 'whatsapp' : 'sms';\n\n case INBOX_TYPES.WHATSAPP:\n return 'whatsapp';\n\n case INBOX_TYPES.API:\n return 'api';\n\n case INBOX_TYPES.EMAIL:\n return 'email';\n\n case INBOX_TYPES.TELEGRAM:\n return 'telegram';\n\n case INBOX_TYPES.TELEGRAM_MT:\n return 'telegram_mt';\n\n case INBOX_TYPES.LINE:\n return 'line';\n\n default:\n return 'chat';\n }\n};\n\nexport const getInboxClassByType = (type, phoneNumber) => {\n switch (type) {\n case INBOX_TYPES.WEB:\n return 'globe-desktop';\n\n case INBOX_TYPES.FB:\n return 'brand-facebook';\n\n case INBOX_TYPES.TWITTER:\n return 'brand-twitter';\n\n case INBOX_TYPES.TWILIO:\n return phoneNumber?.startsWith('whatsapp')\n ? 'brand-whatsapp'\n : 'brand-sms';\n\n case INBOX_TYPES.WHATSAPP:\n return 'brand-whatsapp';\n\n case INBOX_TYPES.API:\n return 'cloud';\n\n case INBOX_TYPES.EMAIL:\n return 'mail';\n\n case INBOX_TYPES.TELEGRAM:\n return 'brand-telegram';\n\n case INBOX_TYPES.TELEGRAM_MT:\n return 'brand-telegram';\n\n case INBOX_TYPES.LINE:\n return 'brand-line';\n\n default:\n return 'chat';\n }\n};\n\nexport const getInboxWarningIconClass = (type, reauthorizationRequired) => {\n if (type === INBOX_TYPES.FB && reauthorizationRequired) {\n return 'warning';\n }\n return '';\n};\n\nexport const generateRandomSubDomain = () => {\n const letters = 'abcdefghijklmnopqrstuvwxyz';\n let randomLetters = '';\n for (let i = 0; i < 3; i += 1) {\n randomLetters += letters.charAt(Math.floor(Math.random() * letters.length));\n }\n const numbers = '0123456789';\n let randomNumbers = '';\n for (let i = 0; i < 4; i += 1) {\n randomNumbers += numbers.charAt(Math.floor(Math.random() * numbers.length));\n }\n return randomLetters + '-' + randomNumbers;\n};\n\nexport const buildWidgetLink = (randSubDomain, planId) => {\n const subdomain = randSubDomain || '*****';\n if (planId > 0) {\n return `https://${subdomain}.${window.chatwootConfig.premium_widget_domain}`;\n }\n // 免费版的\n return `https://${subdomain}.${window.chatwootConfig.free_widget_domain}`;\n};\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecondaryChildNavItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecondaryChildNavItem.vue?vue&type=script&lang=js&\"","\n \n \n \n \n \n \n\n \n \n \n {{ label }}\n \n \n {{ childItemCount }}\n \n
\n \n \n \n \n \n \n\n\n","import { render, staticRenderFns } from \"./SecondaryChildNavItem.vue?vue&type=template&id=433b73ff&\"\nimport script from \"./SecondaryChildNavItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SecondaryChildNavItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{attrs:{\"to\":_vm.to,\"custom\":\"\",\"active-class\":\"active\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar isActive = ref.isActive;\nvar navigate = ref.navigate;\nreturn [_c('li',{staticClass:\"font-medium h-7 my-1 hover:bg-slate-25 hover:text-bg-50 flex items-center px-2 rounded-md dark:hover:bg-slate-800\",class:{\n 'bg-woot-25 dark:bg-slate-800': isActive,\n 'text-ellipsis overflow-hidden whitespace-nowrap max-w-full': _vm.shouldTruncate,\n },on:{\"click\":navigate}},[_c('a',{staticClass:\"inline-flex text-left max-w-full w-full items-center\",attrs:{\"href\":href}},[(_vm.icon)?_c('span',{staticClass:\"inline-flex items-center justify-center w-4 rounded-sm bg-slate-100 dark:bg-slate-700 p-0.5 mr-1.5 rtl:mr-0 rtl:ml-1.5\"},[_c('fluent-icon',{staticClass:\"text-xxs text-slate-700 dark:text-slate-200\",class:{\n 'text-woot-500 dark:text-woot-500': isActive,\n },attrs:{\"icon\":_vm.icon,\"size\":\"12\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.labelColor)?_c('span',{staticClass:\"inline-flex rounded-sm bg-slate-100 h-3 w-3.5 mr-1.5 rtl:mr-0 rtl:ml-1.5 border border-slate-50 dark:border-slate-900\",style:({ backgroundColor: _vm.labelColor })}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"items-center flex overflow-hidden whitespace-nowrap text-ellipsis w-full justify-between\"},[_c('span',{staticClass:\"text-sm text-slate-700 dark:text-slate-100\",class:{\n 'text-woot-500 dark:text-woot-500': isActive,\n 'text-ellipsis overflow-hidden whitespace-nowrap max-w-full': _vm.shouldTruncate,\n },attrs:{\"title\":_vm.menuTitle}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(_vm.showChildCount)?_c('span',{staticClass:\"bg-slate-50 dark:bg-slate-700 rounded text-xxs font-medium mx-1 py-0 px-1\",class:_vm.isCountZero\n ? \"text-slate-300 dark:text-slate-700\"\n : \"text-slate-700 dark:text-slate-50\"},[_vm._v(\"\\n \"+_vm._s(_vm.childItemCount)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.warningIcon)?_c('span',{staticClass:\"inline-flex rounded-sm mr-1 bg-slate-100\"},[_c('fluent-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.top-end\",value:(_vm.$t('SIDEBAR.FACEBOOK_REAUTHORIZE')),expression:\"$t('SIDEBAR.FACEBOOK_REAUTHORIZE')\",modifiers:{\"top-end\":true}}],staticClass:\"text-xxs\",attrs:{\"icon\":_vm.warningIcon,\"size\":\"12\"}})],1):_vm._e()])])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n {{ $t(`SIDEBAR.${menuItem.label}`) }}\n \n
\n \n
\n
\n \n \n {{ $t(`SIDEBAR.${menuItem.label}`) }}\n \n {{ `${menuItem.count}` }}\n \n \n {{ $t('SIDEBAR.BETA') }}\n \n \n\n \n \n\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecondaryNavItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecondaryNavItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SecondaryNavItem.vue?vue&type=template&id=8fabfc0c&\"\nimport script from \"./SecondaryNavItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SecondaryNavItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isMenuItemVisible),expression:\"isMenuItemVisible\"}],staticClass:\"mt-1\"},[(_vm.hasSubMenu)?_c('div',{staticClass:\"flex justify-between\"},[_c('span',{staticClass:\"text-sm text-slate-700 dark:text-slate-200 font-semibold my-2 px-2 pt-1\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"SIDEBAR.\" + (_vm.menuItem.label))))+\"\\n \")]),_vm._v(\" \"),(_vm.menuItem.showNewButton)?_c('div',{staticClass:\"flex items-center\"},[_c('woot-button',{staticClass:\"p-0 ml-2\",attrs:{\"size\":\"tiny\",\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"icon\":\"add\"},on:{\"click\":_vm.onClickOpen}})],1):_vm._e()]):_c('router-link',{staticClass:\"rounded-lg leading-4 font-medium flex items-center p-2 m-0 text-sm text-slate-700 dark:text-slate-100 hover:bg-slate-25 dark:hover:bg-slate-800\",class:_vm.computedClass,attrs:{\"to\":_vm.menuItem && _vm.menuItem.toState}},[_c('fluent-icon',{staticClass:\"min-w-[1rem] mr-1.5 rtl:mr-0 rtl:ml-1.5\",attrs:{\"icon\":_vm.menuItem.icon,\"size\":\"14\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t((\"SIDEBAR.\" + (_vm.menuItem.label))))+\"\\n \"),(_vm.showChildCount(_vm.menuItem.count))?_c('span',{staticClass:\"rounded-md text-xxs font-medium mx-1 py-0 px-1\",class:{\n 'text-slate-300 dark:text-slate-600': _vm.isCountZero && !_vm.isActiveView,\n 'text-slate-600 dark:text-slate-50': !_vm.isCountZero && !_vm.isActiveView,\n 'bg-woot-75 dark:bg-woot-200 text-woot-600 dark:text-woot-600': _vm.isActiveView,\n 'bg-slate-50 dark:bg-slate-700': !_vm.isActiveView,\n }},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.menuItem.count)))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.menuItem.beta)?_c('span',{staticClass:\"px-1 mx-1 inline-block font-medium leading-4 border border-green-400 text-green-500 rounded-lg text-xxs\",attrs:{\"data-view-component\":\"true\",\"label\":\"Beta\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR.BETA'))+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.hasSubMenu)?_c('ul',{staticClass:\"list-none ml-0 mb-0\"},[_vm._l((_vm.menuItem.children),function(child){return _c('secondary-child-nav-item',{key:child.id,attrs:{\"to\":child.toState,\"label\":child.label,\"label-color\":child.color,\"should-truncate\":child.truncateLabel,\"icon\":_vm.computedInboxClass(child),\"warning-icon\":_vm.computedInboxErrorClass(child),\"show-child-count\":_vm.showChildCount(child.count),\"child-item-count\":child.count}})}),_vm._v(\" \"),(_vm.showItem(_vm.menuItem))?_c('router-link',{attrs:{\"to\":_vm.menuItem.toState,\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var href = ref.href;\n var navigate = ref.navigate;\nreturn [_c('li',{staticClass:\"pl-1\"},[_c('a',{attrs:{\"href\":href}},[_c('woot-button',{attrs:{\"size\":\"tiny\",\"variant\":\"clear\",\"color-scheme\":\"secondary\",\"icon\":\"add\"},on:{\"click\":function (e) { return _vm.newLinkClick(e, navigate); }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"SIDEBAR.\" + (_vm.menuItem.newLinkTag))))+\"\\n \")])],1)])]}}],null,false,835029950)}):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ $t('SIDEBAR.CURRENTLY_VIEWING_ACCOUNT') }}\n
\n {{ account.name }}\n
\n
\n \n
\n \n {{ $t('SIDEBAR.SWITCH') }}\n \n
\n
\n \n
\n\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountContext.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountContext.vue?vue&type=script&lang=js&\"","\n \n\n\n","import { render, staticRenderFns } from \"./AccountContext.vue?vue&type=template&id=b4b15eb2&scoped=true&\"\nimport script from \"./AccountContext.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountContext.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountContext.vue?vue&type=style&index=0&id=b4b15eb2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4b15eb2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showShowCurrentAccountContext)?_c('div',{staticClass:\"text-slate-700 dark:text-slate-200 rounded-md text-xs py-2 px-2 mt-2 relative border border-slate-50 dark:border-slate-800/50 hover:bg-slate-50 dark:hover:bg-slate-800 cursor-pointer\",on:{\"mouseover\":_vm.setShowSwitch,\"mouseleave\":_vm.resetShowSwitch}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR.CURRENTLY_VIEWING_ACCOUNT'))+\"\\n \"),_c('p',{staticClass:\"text-ellipsis overflow-hidden whitespace-nowrap font-medium mb-0 text-slate-800 dark:text-slate-100\"},[_vm._v(\"\\n \"+_vm._s(_vm.account.name)+\"\\n \")]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showSwitchButton)?_c('div',{staticClass:\"ltr:overlay-shadow ltr:dark:overlay-shadow-dark rtl:rtl-overlay-shadow rtl:dark:rtl-overlay-shadow-dark flex items-center h-full rounded-md justify-end absolute top-0 right-0 w-full\"},[_c('div',{staticClass:\"my-0 mx-2\"},[_c('woot-button',{attrs:{\"variant\":\"clear\",\"size\":\"tiny\",\"icon\":\"arrow-swap\"},on:{\"click\":function($event){return _vm.$emit('toggle-accounts')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('SIDEBAR.SWITCH'))+\"\\n \")])],1)]):_vm._e()])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Secondary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Secondary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Secondary.vue?vue&type=template&id=7e1d30eb&\"\nimport script from \"./Secondary.vue?vue&type=script&lang=js&\"\nexport * from \"./Secondary.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasSecondaryMenu)?_c('div',{staticClass:\"h-full overflow-auto w-48 flex flex-col bg-white dark:bg-slate-900 border-r\\n dark:border-slate-800/50 rtl:border-r-0 rtl:border-l border-slate-50 text-sm px-2 pb-8\"},[_c('account-context',{on:{\"toggle-accounts\":_vm.toggleAccountModal}}),_vm._v(\" \"),_c('transition-group',{staticClass:\"pt-2 list-none ml-0 mb-0\",attrs:{\"name\":\"menu-list\",\"tag\":\"ul\"}},[_vm._l((_vm.accessibleMenuItems),function(menuItem){return _c('secondary-nav-item',{key:menuItem.toState,attrs:{\"menu-item\":menuItem}})}),_vm._v(\" \"),_vm._l((_vm.additionalSecondaryMenuItems[_vm.menuConfig.parentNav]),function(menuItem){return _c('secondary-nav-item',{key:menuItem.key,attrs:{\"menu-item\":menuItem},on:{\"add-label\":_vm.showAddLabelPopup}})})],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n\n\n","import conversations from './sidebarItems/conversations';\nimport visits from './sidebarItems/visits';\nimport contacts from './sidebarItems/contacts';\nimport reports from './sidebarItems/reports';\nimport campaigns from './sidebarItems/campaigns';\nimport settings from './sidebarItems/settings';\nimport notifications from './sidebarItems/notifications';\nimport primaryMenu from './sidebarItems/primaryMenu';\n\nexport const getSidebarItems = accountId => ({\n primaryMenu: primaryMenu(accountId),\n secondaryMenu: [\n conversations(accountId),\n visits(accountId),\n contacts(accountId),\n reports(accountId),\n campaigns(accountId),\n settings(accountId),\n notifications(accountId),\n ],\n});\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=72b84f7c&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{staticClass:\"h-full flex\"},[_c('primary-sidebar',{attrs:{\"logo-source\":_vm.globalConfig.logoThumbnail,\"installation-name\":_vm.globalConfig.installationName,\"is-a-custom-branded-instance\":_vm.isACustomBrandedInstance,\"account-id\":_vm.accountId,\"menu-items\":_vm.primaryMenuItems,\"active-menu-item\":_vm.activePrimaryMenu.key},on:{\"toggle-accounts\":_vm.toggleAccountModal,\"key-shortcut-modal\":_vm.toggleKeyShortcutModal,\"open-notification-panel\":_vm.openNotificationPanel}}),_vm._v(\" \"),(_vm.showSecondarySidebar)?_c('secondary-sidebar',{class:_vm.sidebarClassName,attrs:{\"account-id\":_vm.accountId,\"inboxes\":_vm.inboxes,\"labels\":_vm.labels,\"teams\":_vm.teams,\"custom-views\":_vm.customViews,\"menu-config\":_vm.activeSecondaryMenu,\"current-role\":_vm.currentRole,\"is-on-chatwoot-cloud\":_vm.isOnChatwootCloud},on:{\"add-label\":_vm.showAddLabelPopup,\"toggle-accounts\":_vm.toggleAccountModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype,\n e = Symbol(),\n n = new Map();\n\nvar s = /*#__PURE__*/function () {\n function s(t, n) {\n _classCallCheck(this, s);\n\n if (this._$cssResult$ = !0, n !== e) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n this.cssText = t;\n }\n\n _createClass(s, [{\n key: \"styleSheet\",\n get: function get() {\n var e = n.get(this.cssText);\n return t && void 0 === e && (n.set(this.cssText, e = new CSSStyleSheet()), e.replaceSync(this.cssText)), e;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.cssText;\n }\n }]);\n\n return s;\n}();\n\nvar o = function o(t) {\n return new s(\"string\" == typeof t ? t : t + \"\", e);\n},\n r = function r(t) {\n for (var _len = arguments.length, n = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n n[_key - 1] = arguments[_key];\n }\n\n var o = 1 === t.length ? t[0] : n.reduce(function (e, n, s) {\n return e + function (t) {\n if (!0 === t._$cssResult$) return t.cssText;\n if (\"number\" == typeof t) return t;\n throw Error(\"Value passed to 'css' function must be a 'css' function result: \" + t + \". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\");\n }(n) + t[s + 1];\n }, t[0]);\n return new s(o, e);\n},\n i = function i(e, n) {\n t ? e.adoptedStyleSheets = n.map(function (t) {\n return t instanceof CSSStyleSheet ? t : t.styleSheet;\n }) : n.forEach(function (t) {\n var n = document.createElement(\"style\"),\n s = window.litNonce;\n void 0 !== s && n.setAttribute(\"nonce\", s), n.textContent = t.cssText, e.appendChild(n);\n });\n},\n S = t ? function (t) {\n return t;\n} : function (t) {\n return t instanceof CSSStyleSheet ? function (t) {\n var e = \"\";\n\n var _iterator = _createForOfIteratorHelper(t.cssRules),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _n = _step.value;\n e += _n.cssText;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return o(e);\n }(t) : t;\n};\n\nexport { s as CSSResult, i as adoptStyles, r as css, S as getCompatibleStyle, t as supportsAdoptingStyleSheets, o as unsafeCSS };","function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e3) { throw _e3; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e4) { didErr = true; err = _e4; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { getCompatibleStyle as t, adoptStyles as i } from \"./css-tag.js\";\nexport { CSSResult, adoptStyles, css, getCompatibleStyle, supportsAdoptingStyleSheets, unsafeCSS } from \"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar s;\n\nvar e = window.trustedTypes,\n r = e ? e.emptyScript : \"\",\n h = window.reactiveElementPolyfillSupport,\n o = {\n toAttribute: function toAttribute(t, i) {\n switch (i) {\n case Boolean:\n t = t ? r : null;\n break;\n\n case Object:\n case Array:\n t = null == t ? t : JSON.stringify(t);\n }\n\n return t;\n },\n fromAttribute: function fromAttribute(t, i) {\n var s = t;\n\n switch (i) {\n case Boolean:\n s = null !== t;\n break;\n\n case Number:\n s = null === t ? null : Number(t);\n break;\n\n case Object:\n case Array:\n try {\n s = JSON.parse(t);\n } catch (t) {\n s = null;\n }\n\n }\n\n return s;\n }\n},\n n = function n(t, i) {\n return i !== t && (i == i || t == t);\n},\n l = {\n attribute: !0,\n type: String,\n converter: o,\n reflect: !1,\n hasChanged: n\n};\n\nvar a = /*#__PURE__*/function (_HTMLElement) {\n _inherits(a, _HTMLElement);\n\n var _super = _createSuper(a);\n\n function a() {\n var _this;\n\n _classCallCheck(this, a);\n\n _this = _super.call(this), _this._$Et = new Map(), _this.isUpdatePending = !1, _this.hasUpdated = !1, _this._$Ei = null, _this.o();\n return _this;\n }\n\n _createClass(a, [{\n key: \"o\",\n value: function o() {\n var _this2 = this;\n\n var t;\n this._$Ep = new Promise(function (t) {\n return _this2.enableUpdating = t;\n }), this._$AL = new Map(), this._$Em(), this.requestUpdate(), null === (t = this.constructor.l) || void 0 === t || t.forEach(function (t) {\n return t(_this2);\n });\n }\n }, {\n key: \"addController\",\n value: function addController(t) {\n var i, s;\n (null !== (i = this._$Eg) && void 0 !== i ? i : this._$Eg = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (s = t.hostConnected) || void 0 === s || s.call(t));\n }\n }, {\n key: \"removeController\",\n value: function removeController(t) {\n var i;\n null === (i = this._$Eg) || void 0 === i || i.splice(this._$Eg.indexOf(t) >>> 0, 1);\n }\n }, {\n key: \"_$Em\",\n value: function _$Em() {\n var _this3 = this;\n\n this.constructor.elementProperties.forEach(function (t, i) {\n _this3.hasOwnProperty(i) && (_this3._$Et.set(i, _this3[i]), delete _this3[i]);\n });\n }\n }, {\n key: \"createRenderRoot\",\n value: function createRenderRoot() {\n var t;\n var s = null !== (t = this.shadowRoot) && void 0 !== t ? t : this.attachShadow(this.constructor.shadowRootOptions);\n return i(s, this.constructor.elementStyles), s;\n }\n }, {\n key: \"connectedCallback\",\n value: function connectedCallback() {\n var t;\n void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var i;\n return null === (i = t.hostConnected) || void 0 === i ? void 0 : i.call(t);\n });\n }\n }, {\n key: \"enableUpdating\",\n value: function enableUpdating(t) {}\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n var t;\n null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var i;\n return null === (i = t.hostDisconnected) || void 0 === i ? void 0 : i.call(t);\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(t, i, s) {\n this._$AK(t, s);\n }\n }, {\n key: \"_$ES\",\n value: function _$ES(t, i) {\n var s = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : l;\n var e, r;\n\n var h = this.constructor._$Eh(t, s);\n\n if (void 0 !== h && !0 === s.reflect) {\n var _n = (null !== (r = null === (e = s.converter) || void 0 === e ? void 0 : e.toAttribute) && void 0 !== r ? r : o.toAttribute)(i, s.type);\n\n this._$Ei = t, null == _n ? this.removeAttribute(h) : this.setAttribute(h, _n), this._$Ei = null;\n }\n }\n }, {\n key: \"_$AK\",\n value: function _$AK(t, i) {\n var s, e, r;\n\n var h = this.constructor,\n n = h._$Eu.get(t);\n\n if (void 0 !== n && this._$Ei !== n) {\n var _t = h.getPropertyOptions(n),\n _l = _t.converter,\n _a2 = null !== (r = null !== (e = null === (s = _l) || void 0 === s ? void 0 : s.fromAttribute) && void 0 !== e ? e : \"function\" == typeof _l ? _l : null) && void 0 !== r ? r : o.fromAttribute;\n\n this._$Ei = n, this[n] = _a2(i, _t.type), this._$Ei = null;\n }\n }\n }, {\n key: \"requestUpdate\",\n value: function requestUpdate(t, i, s) {\n var e = !0;\n void 0 !== t && (((s = s || this.constructor.getPropertyOptions(t)).hasChanged || n)(this[t], i) ? (this._$AL.has(t) || this._$AL.set(t, i), !0 === s.reflect && this._$Ei !== t && (void 0 === this._$E_ && (this._$E_ = new Map()), this._$E_.set(t, s))) : e = !1), !this.isUpdatePending && e && (this._$Ep = this._$EC());\n }\n }, {\n key: \"_$EC\",\n value: function () {\n var _$EC2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var t;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.isUpdatePending = !0;\n _context.prev = 1;\n _context.next = 4;\n return this._$Ep;\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n Promise.reject(_context.t0);\n\n case 9:\n t = this.scheduleUpdate();\n _context.t1 = null != t;\n\n if (!_context.t1) {\n _context.next = 14;\n break;\n }\n\n _context.next = 14;\n return t;\n\n case 14:\n return _context.abrupt(\"return\", !this.isUpdatePending);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6]]);\n }));\n\n function _$EC() {\n return _$EC2.apply(this, arguments);\n }\n\n return _$EC;\n }()\n }, {\n key: \"scheduleUpdate\",\n value: function scheduleUpdate() {\n return this.performUpdate();\n }\n }, {\n key: \"performUpdate\",\n value: function performUpdate() {\n var _this4 = this;\n\n var t;\n if (!this.isUpdatePending) return;\n this.hasUpdated, this._$Et && (this._$Et.forEach(function (t, i) {\n return _this4[i] = t;\n }), this._$Et = void 0);\n var i = !1;\n var s = this._$AL;\n\n try {\n i = this.shouldUpdate(s), i ? (this.willUpdate(s), null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var i;\n return null === (i = t.hostUpdate) || void 0 === i ? void 0 : i.call(t);\n }), this.update(s)) : this._$EU();\n } catch (t) {\n throw i = !1, this._$EU(), t;\n }\n\n i && this._$AE(s);\n }\n }, {\n key: \"willUpdate\",\n value: function willUpdate(t) {}\n }, {\n key: \"_$AE\",\n value: function _$AE(t) {\n var i;\n null === (i = this._$Eg) || void 0 === i || i.forEach(function (t) {\n var i;\n return null === (i = t.hostUpdated) || void 0 === i ? void 0 : i.call(t);\n }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);\n }\n }, {\n key: \"_$EU\",\n value: function _$EU() {\n this._$AL = new Map(), this.isUpdatePending = !1;\n }\n }, {\n key: \"updateComplete\",\n get: function get() {\n return this.getUpdateComplete();\n }\n }, {\n key: \"getUpdateComplete\",\n value: function getUpdateComplete() {\n return this._$Ep;\n }\n }, {\n key: \"shouldUpdate\",\n value: function shouldUpdate(t) {\n return !0;\n }\n }, {\n key: \"update\",\n value: function update(t) {\n var _this5 = this;\n\n void 0 !== this._$E_ && (this._$E_.forEach(function (t, i) {\n return _this5._$ES(i, _this5[i], t);\n }), this._$E_ = void 0), this._$EU();\n }\n }, {\n key: \"updated\",\n value: function updated(t) {}\n }, {\n key: \"firstUpdated\",\n value: function firstUpdated(t) {}\n }], [{\n key: \"addInitializer\",\n value: function addInitializer(t) {\n var i;\n null !== (i = this.l) && void 0 !== i || (this.l = []), this.l.push(t);\n }\n }, {\n key: \"observedAttributes\",\n get: function get() {\n var _this6 = this;\n\n this.finalize();\n var t = [];\n return this.elementProperties.forEach(function (i, s) {\n var e = _this6._$Eh(s, i);\n\n void 0 !== e && (_this6._$Eu.set(e, s), t.push(e));\n }), t;\n }\n }, {\n key: \"createProperty\",\n value: function createProperty(t) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : l;\n\n if (i.state && (i.attribute = !1), this.finalize(), this.elementProperties.set(t, i), !i.noAccessor && !this.prototype.hasOwnProperty(t)) {\n var _s = \"symbol\" == _typeof(t) ? Symbol() : \"__\" + t,\n _e = this.getPropertyDescriptor(t, _s, i);\n\n void 0 !== _e && Object.defineProperty(this.prototype, t, _e);\n }\n }\n }, {\n key: \"getPropertyDescriptor\",\n value: function getPropertyDescriptor(t, i, s) {\n return {\n get: function get() {\n return this[i];\n },\n set: function set(e) {\n var r = this[t];\n this[i] = e, this.requestUpdate(t, r, s);\n },\n configurable: !0,\n enumerable: !0\n };\n }\n }, {\n key: \"getPropertyOptions\",\n value: function getPropertyOptions(t) {\n return this.elementProperties.get(t) || l;\n }\n }, {\n key: \"finalize\",\n value: function finalize() {\n if (this.hasOwnProperty(\"finalized\")) return !1;\n this.finalized = !0;\n var t = Object.getPrototypeOf(this);\n\n if (t.finalize(), this.elementProperties = new Map(t.elementProperties), this._$Eu = new Map(), this.hasOwnProperty(\"properties\")) {\n var _t2 = this.properties,\n _i = [].concat(_toConsumableArray(Object.getOwnPropertyNames(_t2)), _toConsumableArray(Object.getOwnPropertySymbols(_t2)));\n\n var _iterator = _createForOfIteratorHelper(_i),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _s2 = _step.value;\n this.createProperty(_s2, _t2[_s2]);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return this.elementStyles = this.finalizeStyles(this.styles), !0;\n }\n }, {\n key: \"finalizeStyles\",\n value: function finalizeStyles(i) {\n var s = [];\n\n if (Array.isArray(i)) {\n var _e2 = new Set(i.flat(1 / 0).reverse());\n\n var _iterator2 = _createForOfIteratorHelper(_e2),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _i2 = _step2.value;\n s.unshift(t(_i2));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n } else void 0 !== i && s.push(t(i));\n\n return s;\n }\n }, {\n key: \"_$Eh\",\n value: function _$Eh(t, i) {\n var s = i.attribute;\n return !1 === s ? void 0 : \"string\" == typeof s ? s : \"string\" == typeof t ? t.toLowerCase() : void 0;\n }\n }]);\n\n return a;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\n\na.finalized = !0, a.elementProperties = new Map(), a.elementStyles = [], a.shadowRootOptions = {\n mode: \"open\"\n}, null == h || h({\n ReactiveElement: a\n}), (null !== (s = globalThis.reactiveElementVersions) && void 0 !== s ? s : globalThis.reactiveElementVersions = []).push(\"1.1.1\");\nexport { a as ReactiveElement, o as defaultConverter, n as notEqual };","function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e3) { throw _e3; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e4) { didErr = true; err = _e4; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;\n\nvar i = globalThis.trustedTypes,\n s = i ? i.createPolicy(\"lit-html\", {\n createHTML: function createHTML(t) {\n return t;\n }\n}) : void 0,\n e = \"lit$\".concat((Math.random() + \"\").slice(9), \"$\"),\n o = \"?\" + e,\n n = \"<\".concat(o, \">\"),\n l = document,\n h = function h() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n return l.createComment(t);\n},\n r = function r(t) {\n return null === t || \"object\" != _typeof(t) && \"function\" != typeof t;\n},\n d = Array.isArray,\n u = function u(t) {\n var i;\n return d(t) || \"function\" == typeof (null === (i = t) || void 0 === i ? void 0 : i[Symbol.iterator]);\n},\n c = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,\n v = /-->/g,\n a = />/g,\n f = />|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,\n _ = /'/g,\n m = /\"/g,\n g = /^(?:script|style|textarea)$/i,\n p = function p(t) {\n return function (i) {\n for (var _len = arguments.length, s = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n s[_key - 1] = arguments[_key];\n }\n\n return {\n _$litType$: t,\n strings: i,\n values: s\n };\n };\n},\n $ = p(1),\n y = p(2),\n b = Symbol.for(\"lit-noChange\"),\n w = Symbol.for(\"lit-nothing\"),\n T = new WeakMap(),\n x = function x(t, i, s) {\n var e, o;\n var n = null !== (e = null == s ? void 0 : s.renderBefore) && void 0 !== e ? e : i;\n var l = n._$litPart$;\n\n if (void 0 === l) {\n var _t = null !== (o = null == s ? void 0 : s.renderBefore) && void 0 !== o ? o : null;\n\n n._$litPart$ = l = new N(i.insertBefore(h(), _t), _t, void 0, null != s ? s : {});\n }\n\n return l._$AI(t), l;\n},\n A = l.createTreeWalker(l, 129, null, !1),\n C = function C(t, i) {\n var o = t.length - 1,\n l = [];\n var h,\n r = 2 === i ? \"\" : \"\");\n if (!Array.isArray(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return [void 0 !== s ? s.createHTML(u) : u, l];\n};\n\nvar E = /*#__PURE__*/function () {\n function E(_ref, n) {\n var t = _ref.strings,\n s = _ref._$litType$;\n\n _classCallCheck(this, E);\n\n var l;\n this.parts = [];\n var r = 0,\n d = 0;\n\n var u = t.length - 1,\n c = this.parts,\n _C = C(t, s),\n _C2 = _slicedToArray(_C, 2),\n v = _C2[0],\n a = _C2[1];\n\n if (this.el = E.createElement(v, n), A.currentNode = this.el.content, 2 === s) {\n var _t2 = this.el.content,\n _i2 = _t2.firstChild;\n _i2.remove(), _t2.append.apply(_t2, _toConsumableArray(_i2.childNodes));\n }\n\n for (; null !== (l = A.nextNode()) && c.length < u;) {\n if (1 === l.nodeType) {\n if (l.hasAttributes()) {\n var _t3 = [];\n\n var _iterator = _createForOfIteratorHelper(l.getAttributeNames()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _i5 = _step.value;\n\n if (_i5.endsWith(\"$lit$\") || _i5.startsWith(e)) {\n var _s2 = a[d++];\n\n if (_t3.push(_i5), void 0 !== _s2) {\n var _t5 = l.getAttribute(_s2.toLowerCase() + \"$lit$\").split(e),\n _i6 = /([.?@])?(.*)/.exec(_s2);\n\n c.push({\n type: 1,\n index: r,\n name: _i6[2],\n strings: _t5,\n ctor: \".\" === _i6[1] ? M : \"?\" === _i6[1] ? H : \"@\" === _i6[1] ? I : S\n });\n } else c.push({\n type: 6,\n index: r\n });\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n for (var _i3 = 0, _t4 = _t3; _i3 < _t4.length; _i3++) {\n var _i4 = _t4[_i3];\n l.removeAttribute(_i4);\n }\n }\n\n if (g.test(l.tagName)) {\n var _t6 = l.textContent.split(e),\n _s3 = _t6.length - 1;\n\n if (_s3 > 0) {\n l.textContent = i ? i.emptyScript : \"\";\n\n for (var _i7 = 0; _i7 < _s3; _i7++) {\n l.append(_t6[_i7], h()), A.nextNode(), c.push({\n type: 2,\n index: ++r\n });\n }\n\n l.append(_t6[_s3], h());\n }\n }\n } else if (8 === l.nodeType) if (l.data === o) c.push({\n type: 2,\n index: r\n });else {\n var _t7 = -1;\n\n for (; -1 !== (_t7 = l.data.indexOf(e, _t7 + 1));) {\n c.push({\n type: 7,\n index: r\n }), _t7 += e.length - 1;\n }\n }\n\n r++;\n }\n }\n\n _createClass(E, null, [{\n key: \"createElement\",\n value: function createElement(t, i) {\n var s = l.createElement(\"template\");\n return s.innerHTML = t, s;\n }\n }]);\n\n return E;\n}();\n\nfunction P(t, i) {\n var s = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : t;\n var e = arguments.length > 3 ? arguments[3] : undefined;\n var o, n, l, h;\n if (i === b) return i;\n var d = void 0 !== e ? null === (o = s._$Cl) || void 0 === o ? void 0 : o[e] : s._$Cu;\n var u = r(i) ? void 0 : i._$litDirective$;\n return (null == d ? void 0 : d.constructor) !== u && (null === (n = null == d ? void 0 : d._$AO) || void 0 === n || n.call(d, !1), void 0 === u ? d = void 0 : (d = new u(t), d._$AT(t, s, e)), void 0 !== e ? (null !== (l = (h = s)._$Cl) && void 0 !== l ? l : h._$Cl = [])[e] = d : s._$Cu = d), void 0 !== d && (i = P(t, d._$AS(t, i.values), d, e)), i;\n}\n\nvar V = /*#__PURE__*/function () {\n function V(t, i) {\n _classCallCheck(this, V);\n\n this.v = [], this._$AN = void 0, this._$AD = t, this._$AM = i;\n }\n\n _createClass(V, [{\n key: \"parentNode\",\n get: function get() {\n return this._$AM.parentNode;\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }, {\n key: \"p\",\n value: function p(t) {\n var i;\n var _this$_$AD = this._$AD,\n s = _this$_$AD.el.content,\n e = _this$_$AD.parts,\n o = (null !== (i = null == t ? void 0 : t.creationScope) && void 0 !== i ? i : l).importNode(s, !0);\n A.currentNode = o;\n var n = A.nextNode(),\n h = 0,\n r = 0,\n d = e[0];\n\n for (; void 0 !== d;) {\n if (h === d.index) {\n var _i8 = void 0;\n\n 2 === d.type ? _i8 = new N(n, n.nextSibling, this, t) : 1 === d.type ? _i8 = new d.ctor(n, d.name, d.strings, this, t) : 6 === d.type && (_i8 = new L(n, this, t)), this.v.push(_i8), d = e[++r];\n }\n\n h !== (null == d ? void 0 : d.index) && (n = A.nextNode(), h++);\n }\n\n return o;\n }\n }, {\n key: \"m\",\n value: function m(t) {\n var i = 0;\n\n var _iterator2 = _createForOfIteratorHelper(this.v),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _s4 = _step2.value;\n void 0 !== _s4 && (void 0 !== _s4.strings ? (_s4._$AI(t, _s4, i), i += _s4.strings.length - 2) : _s4._$AI(t[i])), i++;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }]);\n\n return V;\n}();\n\nvar N = /*#__PURE__*/function () {\n function N(t, i, s, e) {\n _classCallCheck(this, N);\n\n var o;\n this.type = 2, this._$AH = w, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cg = null === (o = null == e ? void 0 : e.isConnected) || void 0 === o || o;\n }\n\n _createClass(N, [{\n key: \"_$AU\",\n get: function get() {\n var t, i;\n return null !== (i = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== i ? i : this._$Cg;\n }\n }, {\n key: \"parentNode\",\n get: function get() {\n var t = this._$AA.parentNode;\n var i = this._$AM;\n return void 0 !== i && 11 === t.nodeType && (t = i.parentNode), t;\n }\n }, {\n key: \"startNode\",\n get: function get() {\n return this._$AA;\n }\n }, {\n key: \"endNode\",\n get: function get() {\n return this._$AB;\n }\n }, {\n key: \"_$AI\",\n value: function _$AI(t) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;\n t = P(this, t, i), r(t) ? t === w || null == t || \"\" === t ? (this._$AH !== w && this._$AR(), this._$AH = w) : t !== this._$AH && t !== b && this.$(t) : void 0 !== t._$litType$ ? this.T(t) : void 0 !== t.nodeType ? this.S(t) : u(t) ? this.A(t) : this.$(t);\n }\n }, {\n key: \"M\",\n value: function M(t) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._$AB;\n return this._$AA.parentNode.insertBefore(t, i);\n }\n }, {\n key: \"S\",\n value: function S(t) {\n this._$AH !== t && (this._$AR(), this._$AH = this.M(t));\n }\n }, {\n key: \"$\",\n value: function $(t) {\n this._$AH !== w && r(this._$AH) ? this._$AA.nextSibling.data = t : this.S(l.createTextNode(t)), this._$AH = t;\n }\n }, {\n key: \"T\",\n value: function T(t) {\n var i;\n var s = t.values,\n e = t._$litType$,\n o = \"number\" == typeof e ? this._$AC(t) : (void 0 === e.el && (e.el = E.createElement(e.h, this.options)), e);\n if ((null === (i = this._$AH) || void 0 === i ? void 0 : i._$AD) === o) this._$AH.m(s);else {\n var _t8 = new V(o, this),\n _i9 = _t8.p(this.options);\n\n _t8.m(s), this.S(_i9), this._$AH = _t8;\n }\n }\n }, {\n key: \"_$AC\",\n value: function _$AC(t) {\n var i = T.get(t.strings);\n return void 0 === i && T.set(t.strings, i = new E(t)), i;\n }\n }, {\n key: \"A\",\n value: function A(t) {\n d(this._$AH) || (this._$AH = [], this._$AR());\n var i = this._$AH;\n var s,\n e = 0;\n\n var _iterator3 = _createForOfIteratorHelper(t),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _o2 = _step3.value;\n e === i.length ? i.push(s = new N(this.M(h()), this.M(h()), this, this.options)) : s = i[e], s._$AI(_o2), e++;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);\n }\n }, {\n key: \"_$AR\",\n value: function _$AR() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._$AA.nextSibling;\n var i = arguments.length > 1 ? arguments[1] : undefined;\n var s;\n\n for (null === (s = this._$AP) || void 0 === s || s.call(this, !1, !0, i); t && t !== this._$AB;) {\n var _i10 = t.nextSibling;\n t.remove(), t = _i10;\n }\n }\n }, {\n key: \"setConnected\",\n value: function setConnected(t) {\n var i;\n void 0 === this._$AM && (this._$Cg = t, null === (i = this._$AP) || void 0 === i || i.call(this, t));\n }\n }]);\n\n return N;\n}();\n\nvar S = /*#__PURE__*/function () {\n function S(t, i, s, e, o) {\n _classCallCheck(this, S);\n\n this.type = 1, this._$AH = w, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = o, s.length > 2 || \"\" !== s[0] || \"\" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = w;\n }\n\n _createClass(S, [{\n key: \"tagName\",\n get: function get() {\n return this.element.tagName;\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }, {\n key: \"_$AI\",\n value: function _$AI(t) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;\n var s = arguments.length > 2 ? arguments[2] : undefined;\n var e = arguments.length > 3 ? arguments[3] : undefined;\n var o = this.strings;\n var n = !1;\n if (void 0 === o) t = P(this, t, i, 0), n = !r(t) || t !== this._$AH && t !== b, n && (this._$AH = t);else {\n var _e2 = t;\n\n var _l, _h;\n\n for (t = o[0], _l = 0; _l < o.length - 1; _l++) {\n _h = P(this, _e2[s + _l], i, _l), _h === b && (_h = this._$AH[_l]), n || (n = !r(_h) || _h !== this._$AH[_l]), _h === w ? t = w : t !== w && (t += (null != _h ? _h : \"\") + o[_l + 1]), this._$AH[_l] = _h;\n }\n }\n n && !e && this.k(t);\n }\n }, {\n key: \"k\",\n value: function k(t) {\n t === w ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : \"\");\n }\n }]);\n\n return S;\n}();\n\nvar M = /*#__PURE__*/function (_S) {\n _inherits(M, _S);\n\n var _super = _createSuper(M);\n\n function M() {\n var _this;\n\n _classCallCheck(this, M);\n\n _this = _super.apply(this, arguments), _this.type = 3;\n return _this;\n }\n\n _createClass(M, [{\n key: \"k\",\n value: function k(t) {\n this.element[this.name] = t === w ? void 0 : t;\n }\n }]);\n\n return M;\n}(S);\n\nvar _k = i ? i.emptyScript : \"\";\n\nvar H = /*#__PURE__*/function (_S2) {\n _inherits(H, _S2);\n\n var _super2 = _createSuper(H);\n\n function H() {\n var _this2;\n\n _classCallCheck(this, H);\n\n _this2 = _super2.apply(this, arguments), _this2.type = 4;\n return _this2;\n }\n\n _createClass(H, [{\n key: \"k\",\n value: function k(t) {\n t && t !== w ? this.element.setAttribute(this.name, _k) : this.element.removeAttribute(this.name);\n }\n }]);\n\n return H;\n}(S);\n\nvar I = /*#__PURE__*/function (_S3) {\n _inherits(I, _S3);\n\n var _super3 = _createSuper(I);\n\n function I(t, i, s, e, o) {\n var _this3;\n\n _classCallCheck(this, I);\n\n _this3 = _super3.call(this, t, i, s, e, o), _this3.type = 5;\n return _this3;\n }\n\n _createClass(I, [{\n key: \"_$AI\",\n value: function _$AI(t) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;\n var s;\n if ((t = null !== (s = P(this, t, i, 0)) && void 0 !== s ? s : w) === b) return;\n var e = this._$AH,\n o = t === w && e !== w || t.capture !== e.capture || t.once !== e.once || t.passive !== e.passive,\n n = t !== w && (e === w || o);\n o && this.element.removeEventListener(this.name, this, e), n && this.element.addEventListener(this.name, this, t), this._$AH = t;\n }\n }, {\n key: \"handleEvent\",\n value: function handleEvent(t) {\n var i, s;\n \"function\" == typeof this._$AH ? this._$AH.call(null !== (s = null === (i = this.options) || void 0 === i ? void 0 : i.host) && void 0 !== s ? s : this.element, t) : this._$AH.handleEvent(t);\n }\n }]);\n\n return I;\n}(S);\n\nvar L = /*#__PURE__*/function () {\n function L(t, i, s) {\n _classCallCheck(this, L);\n\n this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;\n }\n\n _createClass(L, [{\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }, {\n key: \"_$AI\",\n value: function _$AI(t) {\n P(this, t);\n }\n }]);\n\n return L;\n}();\n\nvar R = {\n P: \"$lit$\",\n V: e,\n L: o,\n I: 1,\n N: C,\n R: V,\n D: u,\n j: P,\n H: N,\n O: S,\n F: H,\n B: I,\n W: M,\n Z: L\n},\n z = window.litHtmlPolyfillSupport;\nnull == z || z(E, N), (null !== (t = globalThis.litHtmlVersions) && void 0 !== t ? t : globalThis.litHtmlVersions = []).push(\"2.1.1\");\nexport { R as _$LH, $ as html, b as noChange, w as nothing, x as render, y as svg };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { ReactiveElement as t } from \"@lit/reactive-element\";\nexport * from \"@lit/reactive-element\";\nimport { render as e, noChange as i } from \"lit-html\";\nexport * from \"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar l, o;\nvar r = t;\n\nvar s = /*#__PURE__*/function (_t) {\n _inherits(s, _t);\n\n var _super = _createSuper(s);\n\n function s() {\n var _this;\n\n _classCallCheck(this, s);\n\n _this = _super.apply(this, arguments), _this.renderOptions = {\n host: _assertThisInitialized(_this)\n }, _this._$Dt = void 0;\n return _this;\n }\n\n _createClass(s, [{\n key: \"createRenderRoot\",\n value: function createRenderRoot() {\n var t, e;\n\n var i = _get(_getPrototypeOf(s.prototype), \"createRenderRoot\", this).call(this);\n\n return null !== (t = (e = this.renderOptions).renderBefore) && void 0 !== t || (e.renderBefore = i.firstChild), i;\n }\n }, {\n key: \"update\",\n value: function update(t) {\n var i = this.render();\n this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), _get(_getPrototypeOf(s.prototype), \"update\", this).call(this, t), this._$Dt = e(i, this.renderRoot, this.renderOptions);\n }\n }, {\n key: \"connectedCallback\",\n value: function connectedCallback() {\n var t;\n _get(_getPrototypeOf(s.prototype), \"connectedCallback\", this).call(this), null === (t = this._$Dt) || void 0 === t || t.setConnected(!0);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n var t;\n _get(_getPrototypeOf(s.prototype), \"disconnectedCallback\", this).call(this), null === (t = this._$Dt) || void 0 === t || t.setConnected(!1);\n }\n }, {\n key: \"render\",\n value: function render() {\n return i;\n }\n }]);\n\n return s;\n}(t);\n\ns.finalized = !0, s._$litElement$ = !0, null === (l = globalThis.litElementHydrateSupport) || void 0 === l || l.call(globalThis, {\n LitElement: s\n});\nvar n = globalThis.litElementPolyfillSupport;\nnull == n || n({\n LitElement: s\n});\nvar h = {\n _$AK: function _$AK(t, e, i) {\n t._$AK(e, i);\n },\n _$AL: function _$AL(t) {\n return t._$AL;\n }\n};\n(null !== (o = globalThis.litElementVersions) && void 0 !== o ? o : globalThis.litElementVersions = []).push(\"3.1.1\");\nexport { s as LitElement, r as UpdatingElement, h as _$LE };","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar n = function n(_n) {\n return function (e) {\n return \"function\" == typeof e ? function (n, e) {\n return window.customElements.define(n, e), e;\n }(_n, e) : function (n, e) {\n var t = e.kind,\n i = e.elements;\n return {\n kind: t,\n elements: i,\n finisher: function finisher(e) {\n window.customElements.define(n, e);\n }\n };\n }(_n, e);\n };\n};\n\nexport { n as customElement };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar i = function i(_i, e) {\n return \"method\" === e.kind && e.descriptor && !(\"value\" in e.descriptor) ? _objectSpread(_objectSpread({}, e), {}, {\n finisher: function finisher(n) {\n n.createProperty(e.key, _i);\n }\n }) : {\n kind: \"field\",\n key: Symbol(),\n placement: \"own\",\n descriptor: {},\n originalKey: e.key,\n initializer: function initializer() {\n \"function\" == typeof e.initializer && (this[e.key] = e.initializer.call(this));\n },\n finisher: function finisher(n) {\n n.createProperty(e.key, _i);\n }\n };\n};\n\nfunction e(e) {\n return function (n, t) {\n return void 0 !== t ? function (i, e, n) {\n e.constructor.createProperty(n, i);\n }(e, n, t) : i(e, n);\n };\n}\n\nexport { e as property };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { property as r } from \"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nfunction t(t) {\n return r(_objectSpread(_objectSpread({}, t), {}, {\n state: !0\n }));\n}\n\nexport { t as state };","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t = {\n ATTRIBUTE: 1,\n CHILD: 2,\n PROPERTY: 3,\n BOOLEAN_ATTRIBUTE: 4,\n EVENT: 5,\n ELEMENT: 6\n},\n e = function e(t) {\n return function () {\n for (var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++) {\n e[_key] = arguments[_key];\n }\n\n return {\n _$litDirective$: t,\n values: e\n };\n };\n};\n\nvar i = /*#__PURE__*/function () {\n function i(t) {\n _classCallCheck(this, i);\n }\n\n _createClass(i, [{\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }, {\n key: \"_$AT\",\n value: function _$AT(t, e, _i) {\n this._$Ct = t, this._$AM = e, this._$Ci = _i;\n }\n }, {\n key: \"_$AS\",\n value: function _$AS(t, e) {\n return this.update(t, e);\n }\n }, {\n key: \"update\",\n value: function update(t, e) {\n return this.render.apply(this, _toConsumableArray(e));\n }\n }]);\n\n return i;\n}();\n\nexport { i as Directive, t as PartType, e as directive };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { _$LH as o } from \"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar i = o.H,\n t = function t(o) {\n return null === o || \"object\" != _typeof(o) && \"function\" != typeof o;\n},\n n = {\n HTML: 1,\n SVG: 2\n},\n v = function v(o, i) {\n var t, n;\n return void 0 === i ? void 0 !== (null === (t = o) || void 0 === t ? void 0 : t._$litType$) : (null === (n = o) || void 0 === n ? void 0 : n._$litType$) === i;\n},\n l = function l(o) {\n var i;\n return void 0 !== (null === (i = o) || void 0 === i ? void 0 : i._$litDirective$);\n},\n d = function d(o) {\n var i;\n return null === (i = o) || void 0 === i ? void 0 : i._$litDirective$;\n},\n r = function r(o) {\n return void 0 === o.strings;\n},\n e = function e() {\n return document.createComment(\"\");\n},\n u = function u(o, t, n) {\n var v;\n var l = o._$AA.parentNode,\n d = void 0 === t ? o._$AB : t._$AA;\n\n if (void 0 === n) {\n var _t = l.insertBefore(e(), d),\n _v = l.insertBefore(e(), d);\n\n n = new i(_t, _v, o, o.options);\n } else {\n var _i = n._$AB.nextSibling,\n _t2 = n._$AM,\n _r = _t2 !== o;\n\n if (_r) {\n var _i2;\n\n null === (v = n._$AQ) || void 0 === v || v.call(n, o), n._$AM = o, void 0 !== n._$AP && (_i2 = o._$AU) !== _t2._$AU && n._$AP(_i2);\n }\n\n if (_i !== d || _r) {\n var _o = n._$AA;\n\n for (; _o !== _i;) {\n var _i3 = _o.nextSibling;\n l.insertBefore(_o, d), _o = _i3;\n }\n }\n }\n\n return n;\n},\n c = function c(o, i) {\n var t = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : o;\n return o._$AI(i, t), o;\n},\n f = {},\n s = function s(o) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : f;\n return o._$AH = i;\n},\n a = function a(o) {\n return o._$AH;\n},\n m = function m(o) {\n var i;\n null === (i = o._$AP) || void 0 === i || i.call(o, !1, !0);\n var t = o._$AA;\n var n = o._$AB.nextSibling;\n\n for (; t !== n;) {\n var _o2 = t.nextSibling;\n t.remove(), t = _o2;\n }\n},\n p = function p(o) {\n o._$AR();\n};\n\nexport { n as TemplateResultType, p as clearPart, a as getCommittedValue, d as getDirectiveClass, u as insertPart, l as isDirectiveResult, t as isPrimitive, r as isSingleExpression, v as isTemplateResult, m as removePart, c as setChildPartValue, s as setCommittedValue };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e6) { throw _e6; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e7) { didErr = true; err = _e7; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { noChange as e } from \"../lit-html.js\";\nimport { directive as s, Directive as t, PartType as r } from \"../directive.js\";\nimport { getCommittedValue as l, setChildPartValue as o, insertPart as i, removePart as n, setCommittedValue as f } from \"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar u = function u(e, s, t) {\n var r = new Map();\n\n for (var _l = s; _l <= t; _l++) {\n r.set(e[_l], _l);\n }\n\n return r;\n},\n c = s( /*#__PURE__*/function (_t) {\n _inherits(_class, _t);\n\n var _super = _createSuper(_class);\n\n function _class(e) {\n var _this;\n\n _classCallCheck(this, _class);\n\n if (_this = _super.call(this, e), e.type !== r.CHILD) throw Error(\"repeat() can only be used in text expressions\");\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(_class, [{\n key: \"dt\",\n value: function dt(e, s, t) {\n var r;\n void 0 === t ? t = s : void 0 !== s && (r = s);\n var l = [],\n o = [];\n var i = 0;\n\n var _iterator = _createForOfIteratorHelper(e),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _s = _step.value;\n l[i] = r ? r(_s, i) : i, o[i] = t(_s, i), i++;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return {\n values: o,\n keys: l\n };\n }\n }, {\n key: \"render\",\n value: function render(e, s, t) {\n return this.dt(e, s, t).values;\n }\n }, {\n key: \"update\",\n value: function update(s, _ref) {\n var _ref2 = _slicedToArray(_ref, 3),\n t = _ref2[0],\n r = _ref2[1],\n c = _ref2[2];\n\n var d;\n\n var a = l(s),\n _this$dt = this.dt(t, r, c),\n p = _this$dt.values,\n v = _this$dt.keys;\n\n if (!Array.isArray(a)) return this.at = v, p;\n var h = null !== (d = this.at) && void 0 !== d ? d : this.at = [],\n m = [];\n var y,\n x,\n j = 0,\n k = a.length - 1,\n w = 0,\n A = p.length - 1;\n\n for (; j <= k && w <= A;) {\n if (null === a[j]) j++;else if (null === a[k]) k--;else if (h[j] === v[w]) m[w] = o(a[j], p[w]), j++, w++;else if (h[k] === v[A]) m[A] = o(a[k], p[A]), k--, A--;else if (h[j] === v[A]) m[A] = o(a[j], p[A]), i(s, m[A + 1], a[j]), j++, A--;else if (h[k] === v[w]) m[w] = o(a[k], p[w]), i(s, a[j], a[k]), k--, w++;else if (void 0 === y && (y = u(v, w, A), x = u(h, j, k)), y.has(h[j])) {\n if (y.has(h[k])) {\n var _e2 = x.get(v[w]),\n _t2 = void 0 !== _e2 ? a[_e2] : null;\n\n if (null === _t2) {\n var _e3 = i(s, a[j]);\n\n o(_e3, p[w]), m[w] = _e3;\n } else m[w] = o(_t2, p[w]), i(s, a[j], _t2), a[_e2] = null;\n\n w++;\n } else n(a[k]), k--;\n } else n(a[j]), j++;\n }\n\n for (; w <= A;) {\n var _e4 = i(s, m[A + 1]);\n\n o(_e4, p[w]), m[w++] = _e4;\n }\n\n for (; j <= k;) {\n var _e5 = a[j++];\n null !== _e5 && n(_e5);\n }\n\n return this.at = v, f(s, m), e;\n }\n }]);\n\n return _class;\n}(t));\n\nexport { c as repeat };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { noChange as r, nothing as e } from \"../lit-html.js\";\nimport { directive as i, Directive as t, PartType as n } from \"../directive.js\";\nimport { isSingleExpression as o, setCommittedValue as s } from \"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar l = i( /*#__PURE__*/function (_t) {\n _inherits(_class, _t);\n\n var _super = _createSuper(_class);\n\n function _class(r) {\n var _this;\n\n _classCallCheck(this, _class);\n\n if (_this = _super.call(this, r), r.type !== n.PROPERTY && r.type !== n.ATTRIBUTE && r.type !== n.BOOLEAN_ATTRIBUTE) throw Error(\"The `live` directive is not allowed on child or event bindings\");\n if (!o(r)) throw Error(\"`live` bindings can only contain a single expression\");\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render(r) {\n return r;\n }\n }, {\n key: \"update\",\n value: function update(i, _ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n t = _ref2[0];\n\n if (t === r || t === e) return t;\n var o = i.element,\n l = i.name;\n\n if (i.type === n.PROPERTY) {\n if (t === o[l]) return r;\n } else if (i.type === n.BOOLEAN_ATTRIBUTE) {\n if (!!t === o.hasAttribute(l)) return r;\n } else if (i.type === n.ATTRIBUTE && o.getAttribute(l) === t + \"\") return r;\n\n return s(i), t;\n }\n }]);\n\n return _class;\n}(t));\nexport { l as live };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { isSingleExpression as i } from \"./directive-helpers.js\";\nimport { Directive as t, PartType as s } from \"./directive.js\";\nexport { directive } from \"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar e = function e(i, t) {\n var s, o;\n var n = i._$AN;\n if (void 0 === n) return !1;\n\n var _iterator = _createForOfIteratorHelper(n),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _i = _step.value;\n null === (o = (s = _i)._$AO) || void 0 === o || o.call(s, t, !1), e(_i, t);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return !0;\n},\n o = function o(i) {\n var t, s;\n\n do {\n if (void 0 === (t = i._$AM)) break;\n s = t._$AN, s.delete(i), i = t;\n } while (0 === (null == s ? void 0 : s.size));\n},\n n = function n(i) {\n for (var _t; _t = i._$AM; i = _t) {\n var _s = _t._$AN;\n if (void 0 === _s) _t._$AN = _s = new Set();else if (_s.has(i)) break;\n _s.add(i), l(_t);\n }\n};\n\nfunction r(i) {\n void 0 !== this._$AN ? (o(this), this._$AM = i, n(this)) : this._$AM = i;\n}\n\nfunction h(i) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var s = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var n = this._$AH,\n r = this._$AN;\n if (void 0 !== r && 0 !== r.size) if (t) {\n if (Array.isArray(n)) for (var _i2 = s; _i2 < n.length; _i2++) {\n e(n[_i2], !1), o(n[_i2]);\n } else null != n && (e(n, !1), o(n));\n } else e(this, i);\n}\n\nvar l = function l(i) {\n var t, e, o, n;\n i.type == s.CHILD && (null !== (t = (o = i)._$AP) && void 0 !== t || (o._$AP = h), null !== (e = (n = i)._$AQ) && void 0 !== e || (n._$AQ = r));\n};\n\nvar d = /*#__PURE__*/function (_t2) {\n _inherits(d, _t2);\n\n var _super = _createSuper(d);\n\n function d() {\n var _this;\n\n _classCallCheck(this, d);\n\n _this = _super.apply(this, arguments), _this._$AN = void 0;\n return _this;\n }\n\n _createClass(d, [{\n key: \"_$AT\",\n value: function _$AT(i, t, s) {\n _get(_getPrototypeOf(d.prototype), \"_$AT\", this).call(this, i, t, s), n(this), this.isConnected = i._$AU;\n }\n }, {\n key: \"_$AO\",\n value: function _$AO(i) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var s, n;\n i !== this.isConnected && (this.isConnected = i, i ? null === (s = this.reconnected) || void 0 === s || s.call(this) : null === (n = this.disconnected) || void 0 === n || n.call(this)), t && (e(this, i), o(this));\n }\n }, {\n key: \"setValue\",\n value: function setValue(t) {\n if (i(this._$Ct)) this._$Ct._$AI(t, this);else {\n var _i3 = _toConsumableArray(this._$Ct._$AH);\n\n _i3[this._$Ci] = t, this._$Ct._$AI(_i3, this, 0);\n }\n }\n }, {\n key: \"disconnected\",\n value: function disconnected() {}\n }, {\n key: \"reconnected\",\n value: function reconnected() {}\n }]);\n\n return d;\n}(t);\n\nexport { d as AsyncDirective };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { nothing as t } from \"../lit-html.js\";\nimport { AsyncDirective as i } from \"../async-directive.js\";\nimport { directive as s } from \"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar e = function e() {\n return new o();\n};\n\nvar o = function o() {\n _classCallCheck(this, o);\n};\n\nvar h = new WeakMap(),\n n = s( /*#__PURE__*/function (_i) {\n _inherits(_class, _i);\n\n var _super = _createSuper(_class);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render(i) {\n return t;\n }\n }, {\n key: \"update\",\n value: function update(i, _ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n s = _ref2[0];\n\n var e;\n var o = s !== this.U;\n return o && void 0 !== this.U && this.ot(void 0), (o || this.rt !== this.lt) && (this.U = s, this.ht = null === (e = i.options) || void 0 === e ? void 0 : e.host, this.ot(this.lt = i.element)), t;\n }\n }, {\n key: \"ot\",\n value: function ot(t) {\n \"function\" == typeof this.U ? (void 0 !== h.get(this.U) && this.U.call(this.ht, void 0), h.set(this.U, t), void 0 !== t && this.U.call(this.ht, t)) : this.U.value = t;\n }\n }, {\n key: \"rt\",\n get: function get() {\n var t;\n return \"function\" == typeof this.U ? h.get(this.U) : null === (t = this.U) || void 0 === t ? void 0 : t.value;\n }\n }, {\n key: \"disconnected\",\n value: function disconnected() {\n this.rt === this.lt && this.ot(void 0);\n }\n }, {\n key: \"reconnected\",\n value: function reconnected() {\n this.ot(this.lt);\n }\n }]);\n\n return _class;\n}(i));\nexport { e as createRef, n as ref };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { noChange as t } from \"../lit-html.js\";\nimport { directive as i, Directive as s, PartType as r } from \"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar o = i( /*#__PURE__*/function (_s) {\n _inherits(_class, _s);\n\n var _super = _createSuper(_class);\n\n function _class(t) {\n var _this;\n\n _classCallCheck(this, _class);\n\n var i;\n if (_this = _super.call(this, t), t.type !== r.ATTRIBUTE || \"class\" !== t.name || (null === (i = t.strings) || void 0 === i ? void 0 : i.length) > 2) throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\");\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render(t) {\n return \" \" + Object.keys(t).filter(function (i) {\n return t[i];\n }).join(\" \") + \" \";\n }\n }, {\n key: \"update\",\n value: function update(i, _ref) {\n var _this2 = this;\n\n var _ref2 = _slicedToArray(_ref, 1),\n s = _ref2[0];\n\n var r, o;\n\n if (void 0 === this.st) {\n this.st = new Set(), void 0 !== i.strings && (this.et = new Set(i.strings.join(\" \").split(/\\s/).filter(function (t) {\n return \"\" !== t;\n })));\n\n for (var _t in s) {\n s[_t] && !(null === (r = this.et) || void 0 === r ? void 0 : r.has(_t)) && this.st.add(_t);\n }\n\n return this.render(s);\n }\n\n var e = i.element.classList;\n this.st.forEach(function (t) {\n t in s || (e.remove(t), _this2.st.delete(t));\n });\n\n for (var _t2 in s) {\n var _i2 = !!s[_t2];\n\n _i2 === this.st.has(_t2) || (null === (o = this.et) || void 0 === o ? void 0 : o.has(_t2)) || (_i2 ? (e.add(_t2), this.st.add(_t2)) : (e.remove(_t2), this.st.delete(_t2)));\n }\n\n return t;\n }\n }]);\n\n return _class;\n}(s));\nexport { o as classMap };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * hotkeys-js v3.8.7\n * A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.\n * \n * Copyright (c) 2021 kenny wong \n * http://jaywcjlove.github.io/hotkeys\n * \n * Licensed under the MIT license.\n */\nvar isff = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().indexOf('firefox') > 0 : false; // 绑定事件\n\nfunction addEvent(object, event, method) {\n if (object.addEventListener) {\n object.addEventListener(event, method, false);\n } else if (object.attachEvent) {\n object.attachEvent(\"on\".concat(event), function () {\n method(window.event);\n });\n }\n} // 修饰键转换成对应的键码\n\n\nfunction getMods(modifier, key) {\n var mods = key.slice(0, key.length - 1);\n\n for (var i = 0; i < mods.length; i++) {\n mods[i] = modifier[mods[i].toLowerCase()];\n }\n\n return mods;\n} // 处理传的key字符串转换成数组\n\n\nfunction getKeys(key) {\n if (typeof key !== 'string') key = '';\n key = key.replace(/\\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等\n\n var keys = key.split(','); // 同时设置多个快捷键,以','分割\n\n var index = keys.lastIndexOf(''); // 快捷键可能包含',',需特殊处理\n\n for (; index >= 0;) {\n keys[index - 1] += ',';\n keys.splice(index, 1);\n index = keys.lastIndexOf('');\n }\n\n return keys;\n} // 比较修饰键的数组\n\n\nfunction compareArray(a1, a2) {\n var arr1 = a1.length >= a2.length ? a1 : a2;\n var arr2 = a1.length >= a2.length ? a2 : a1;\n var isIndex = true;\n\n for (var i = 0; i < arr1.length; i++) {\n if (arr2.indexOf(arr1[i]) === -1) isIndex = false;\n }\n\n return isIndex;\n}\n\nvar _keyMap = {\n backspace: 8,\n tab: 9,\n clear: 12,\n enter: 13,\n return: 13,\n esc: 27,\n escape: 27,\n space: 32,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n del: 46,\n delete: 46,\n ins: 45,\n insert: 45,\n home: 36,\n end: 35,\n pageup: 33,\n pagedown: 34,\n capslock: 20,\n num_0: 96,\n num_1: 97,\n num_2: 98,\n num_3: 99,\n num_4: 100,\n num_5: 101,\n num_6: 102,\n num_7: 103,\n num_8: 104,\n num_9: 105,\n num_multiply: 106,\n num_add: 107,\n num_enter: 108,\n num_subtract: 109,\n num_decimal: 110,\n num_divide: 111,\n '⇪': 20,\n ',': 188,\n '.': 190,\n '/': 191,\n '`': 192,\n '-': isff ? 173 : 189,\n '=': isff ? 61 : 187,\n ';': isff ? 59 : 186,\n '\\'': 222,\n '[': 219,\n ']': 221,\n '\\\\': 220\n}; // Modifier Keys\n\nvar _modifier = {\n // shiftKey\n '⇧': 16,\n shift: 16,\n // altKey\n '⌥': 18,\n alt: 18,\n option: 18,\n // ctrlKey\n '⌃': 17,\n ctrl: 17,\n control: 17,\n // metaKey\n '⌘': 91,\n cmd: 91,\n command: 91\n};\nvar modifierMap = {\n 16: 'shiftKey',\n 18: 'altKey',\n 17: 'ctrlKey',\n 91: 'metaKey',\n shiftKey: 16,\n ctrlKey: 17,\n altKey: 18,\n metaKey: 91\n};\nvar _mods = {\n 16: false,\n 18: false,\n 17: false,\n 91: false\n};\nvar _handlers = {}; // F1~F12 special key\n\nfor (var k = 1; k < 20; k++) {\n _keyMap[\"f\".concat(k)] = 111 + k;\n}\n\nvar _downKeys = []; // 记录摁下的绑定键\n\nvar _scope = 'all'; // 默认热键范围\n\nvar elementHasBindEvent = []; // 已绑定事件的节点记录\n// 返回键码\n\nvar code = function code(x) {\n return _keyMap[x.toLowerCase()] || _modifier[x.toLowerCase()] || x.toUpperCase().charCodeAt(0);\n}; // 设置获取当前范围(默认为'所有')\n\n\nfunction setScope(scope) {\n _scope = scope || 'all';\n} // 获取当前范围\n\n\nfunction getScope() {\n return _scope || 'all';\n} // 获取摁下绑定键的键值\n\n\nfunction getPressedKeyCodes() {\n return _downKeys.slice(0);\n} // 表单控件控件判断 返回 Boolean\n// hotkey is effective only when filter return true\n\n\nfunction filter(event) {\n var target = event.target || event.srcElement;\n var tagName = target.tagName;\n var flag = true; // ignore: isContentEditable === 'true', and