{"version":3,"file":"contextmenu.esm.6V4BWg_v.js","sources":["../../../../node_modules/primevue/contextmenu/style/contextmenustyle.esm.js","../../../../node_modules/primevue/contextmenu/contextmenu.esm.js"],"sourcesContent":["import BaseStyle from 'primevue/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-contextmenu p-component', {\n 'p-ripple-disabled': instance.$primevue.config.ripple === false\n }];\n },\n menu: 'p-contextmenu-root-list',\n menuitem: function menuitem(_ref2) {\n var instance = _ref2.instance,\n processedItem = _ref2.processedItem;\n return ['p-menuitem', {\n 'p-menuitem-active p-highlight': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n content: 'p-menuitem-content',\n action: 'p-menuitem-link',\n icon: 'p-menuitem-icon',\n label: 'p-menuitem-text',\n submenuIcon: 'p-submenu-icon',\n submenu: 'p-submenu-list',\n separator: 'p-menuitem-separator'\n};\nvar ContextMenuStyle = BaseStyle.extend({\n name: 'contextmenu',\n classes: classes\n});\n\nexport { ContextMenuStyle as default };\n","import Portal from 'primevue/portal';\nimport { ObjectUtils, DomHandler, UniqueComponentId, ZIndexUtils } from 'primevue/utils';\nimport BaseComponent from 'primevue/basecomponent';\nimport ContextMenuStyle from 'primevue/contextmenu/style';\nimport AngleRightIcon from 'primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, createVNode } from 'vue';\n\nvar script$2 = {\n name: 'BaseContextMenu',\n \"extends\": BaseComponent,\n props: {\n model: {\n type: Array,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n global: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: ContextMenuStyle,\n provide: function provide() {\n return {\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'ContextMenuSub',\n hostName: 'ContextMenu',\n \"extends\": BaseComponent,\n emits: ['item-click', 'item-mouseenter', 'item-mousemove'],\n props: {\n items: {\n type: Array,\n \"default\": null\n },\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n root: {\n type: Boolean,\n \"default\": false\n },\n visible: {\n type: Boolean,\n \"default\": false\n },\n level: {\n type: Number,\n \"default\": 0\n },\n templates: {\n type: Object,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n }\n },\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(key, processedItem, index) {\n return this.ptm(key, {\n context: {\n item: processedItem,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem),\n index: index\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return ObjectUtils.isNotEmpty(processedItem.items);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, 'separator');\n }).length;\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this2 = this;\n return index - this.items.slice(0, index).filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');\n }).length + 1;\n },\n onEnter: function onEnter() {\n DomHandler.nestedPosition(this.$refs.container, this.level);\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('action'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions('action', processedItem, index)),\n icon: mergeProps({\n \"class\": [this.cx('icon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions('icon', processedItem, index)),\n label: mergeProps({\n \"class\": this.cx('label')\n }, this.getPTOptions('label', processedItem, index)),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions('submenuicon', processedItem, index))\n };\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"tabindex\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-disabled\", \"aria-expanded\", \"aria-haspopup\", \"aria-level\", \"aria-setsize\", \"aria-posinset\", \"data-p-highlight\", \"data-p-focused\", \"data-p-disabled\"];\nvar _hoisted_3 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_4 = [\"href\", \"target\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_AngleRightIcon = resolveComponent(\"AngleRightIcon\");\n var _component_ContextMenuSub = resolveComponent(\"ContextMenuSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createBlock(Transition, mergeProps({\n name: \"p-contextmenusub\",\n onEnter: $options.onEnter\n }, _ctx.ptm('menu.transition')), {\n \"default\": withCtx(function () {\n return [($props.root ? true : $props.visible) ? (openBlock(), createElementBlock(\"ul\", mergeProps({\n key: 0,\n ref: \"container\",\n tabindex: $props.tabindex\n }, _ctx.ptm('menu')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('menuitem', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize(),\n \"aria-posinset\": $options.getAriaPosInset(index)\n }, $options.getPTOptions('menuitem', processedItem, index), {\n \"data-p-highlight\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n }\n }, $options.getPTOptions('content', processedItem, index)), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('action'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n \"aria-hidden\": \"true\"\n }, $options.getPTOptions('action', processedItem, index)), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('icon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')]\n }, $options.getPTOptions('icon', processedItem, index)), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('label')\n }, $options.getPTOptions('label', processedItem, index)), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), {\n key: 0,\n active: $options.isItemActive(processedItem),\n \"class\": normalizeClass(_ctx.cx('submenuIcon'))\n }, null, 8, [\"active\", \"class\"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon')\n }, $options.getPTOptions('submenuicon', processedItem, index)), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_4)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_3), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_ContextMenuSub, mergeProps({\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n role: \"menu\",\n \"class\": _ctx.cx('submenu'),\n menuId: $props.menuId,\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n templates: $props.templates,\n activeItemPath: $props.activeItemPath,\n level: $props.level + 1,\n visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n }),\n \"aria-labelledby\": $options.getItemLabelId(processedItem)\n }, _ctx.ptm('submenu')), null, 16, [\"id\", \"class\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"level\", \"visible\", \"pt\", \"unstyled\", \"aria-labelledby\"])) : createCommentVNode(\"\", true)], 16, _hoisted_2)) : createCommentVNode(\"\", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n role: \"separator\"\n }, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\"]);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'ContextMenu',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'show', 'hide', 'before-hide', 'before-show'],\n target: null,\n outsideClickListener: null,\n resizeListener: null,\n documentContextMenuListener: null,\n pageX: null,\n pageY: null,\n container: null,\n list: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n visible: false,\n submenuVisible: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (ObjectUtils.isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else if (!this.visible) {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n if (this.global) {\n this.bindDocumentContextMenuListener();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n this.unbindDocumentContextMenuListener();\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n this.target = null;\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? ObjectUtils.getItemValue(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return ObjectUtils.isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && ObjectUtils.isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n this.visible ? this.hide() : this.show(event);\n },\n show: function show(event) {\n this.$emit('before-show');\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n DomHandler.focus(this.list);\n this.pageX = event.pageX;\n this.pageY = event.pageY;\n this.visible ? this.position() : this.visible = true;\n event.stopPropagation();\n event.preventDefault();\n },\n hide: function hide() {\n this.$emit('before-hide');\n this.visible = false;\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (ObjectUtils.isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = ObjectUtils.isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n if (grouped) {\n activeItemPath.push(processedItem);\n this.submenuVisible = true;\n }\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n isFocus && DomHandler.focus(this.list);\n },\n onItemClick: function onItemClick(event) {\n var processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n DomHandler.focus(this.list);\n } else {\n grouped ? this.onItemChange(event) : this.hide();\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n this.onItemChange(event);\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (event.altKey) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.popup && this.hide();\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n var root = ObjectUtils.isEmpty(processedItem.parent);\n if (!root) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = DomHandler.findSingle(this.list, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemIdx), \"\\\"]\"));\n var anchorElement = element && DomHandler.findSingle(element, 'a[data-pc-section=\"action\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n this.hide();\n !this.popup && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n onEnter: function onEnter(el) {\n DomHandler.addStyles(el, {\n position: 'absolute'\n });\n this.position();\n if (this.autoZIndex) {\n ZIndexUtils.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n },\n onAfterEnter: function onAfterEnter() {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.$emit('show');\n DomHandler.focus(this.list);\n },\n onLeave: function onLeave() {\n this.$emit('hide');\n this.container = null;\n },\n onAfterLeave: function onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndexUtils.clear(el);\n }\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n },\n position: function position() {\n var left = this.pageX + 1;\n var top = this.pageY + 1;\n var width = this.container.offsetParent ? this.container.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.container);\n var height = this.container.offsetParent ? this.container.offsetHeight : DomHandler.getHiddenElementOuterHeight(this.container);\n var viewport = DomHandler.getViewport();\n\n //flip\n if (left + width - document.body.scrollLeft > viewport.width) {\n left -= width;\n }\n\n //flip\n if (top + height - document.body.scrollTop > viewport.height) {\n top -= height;\n }\n\n //fit\n if (left < document.body.scrollLeft) {\n left = document.body.scrollLeft;\n }\n\n //fit\n if (top < document.body.scrollTop) {\n top = document.body.scrollTop;\n }\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this2 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this2.container && !_this2.container.contains(event.target);\n var isOutsideTarget = _this2.visible ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true;\n if (isOutsideContainer && isOutsideTarget) {\n _this2.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this3 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this3.visible && !DomHandler.isTouchDevice()) {\n _this3.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentContextMenuListener: function bindDocumentContextMenuListener() {\n var _this4 = this;\n if (!this.documentContextMenuListener) {\n this.documentContextMenuListener = function (event) {\n event.button === 2 && _this4.show(event);\n };\n document.addEventListener('contextmenu', this.documentContextMenuListener);\n }\n },\n unbindDocumentContextMenuListener: function unbindDocumentContextMenuListener() {\n if (this.documentContextMenuListener) {\n document.removeEventListener('contextmenu', this.documentContextMenuListener);\n this.documentContextMenuListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this5 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this5.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this6 = this;\n return ObjectUtils.findLastIndex(this.visibleItems, function (processedItem) {\n return _this6.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this7 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this7.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this8 = this;\n var matchedItemIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this8.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this9 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this9.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this10 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this10.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this10.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this10.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this10.searchValue = '';\n _this10.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemIdx;\n var element = DomHandler.findSingle(this.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this11 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this11.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n listRef: function listRef(el) {\n this.list = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this12 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this12.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemIdx: function focusedItemIdx() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n ContextMenuSub: script$1,\n Portal: Portal\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_ContextMenuSub = resolveComponent(\"ContextMenuSub\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-contextmenu\",\n onEnter: $options.onEnter,\n onAfterEnter: $options.onAfterEnter,\n onLeave: $options.onLeave,\n onAfterLeave: $options.onAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.visible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.containerRef,\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createVNode(_component_ContextMenuSub, {\n ref: $options.listRef,\n id: $data.id + '_list',\n \"class\": normalizeClass(_ctx.cx('menu')),\n role: \"menubar\",\n root: true,\n tabindex: _ctx.tabindex,\n \"aria-orientation\": \"vertical\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemIdx : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemIdx : undefined,\n items: $options.processedItems,\n templates: _ctx.$slots,\n activeItemPath: $data.activeItemPath,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n level: 0,\n visible: $data.submenuVisible,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, null, 8, [\"id\", \"class\", \"tabindex\", \"aria-activedescendant\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"aria-labelledby\", \"aria-label\", \"visible\", \"pt\", \"unstyled\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onItemClick\", \"onItemMouseenter\", \"onItemMousemove\"])], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 1\n }, 8, [\"appendTo\"]);\n}\n\nscript.render = render;\n\nexport { script as default };\n"],"names":["classes","_ref","instance","_ref2","processedItem","ContextMenuStyle","BaseStyle","script$2","BaseComponent","script$1","name","params","ObjectUtils","key","index","path","event","_this","_this2","DomHandler","mergeProps","AngleRightIcon","Ripple","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","render$1","_ctx","_cache","$props","$setup","$data","$options","_component_AngleRightIcon","resolveComponent","_component_ContextMenuSub","_directive_ripple","resolveDirective","openBlock","createBlock","Transition","withCtx","createElementBlock","Fragment","renderList","createElementVNode","$event","resolveDynamicComponent","withDirectives","normalizeClass","createCommentVNode","toDisplayString","script","newValue","UniqueComponentId","newPath","ZIndexUtils","item","metaKey","isFocus","level","parentKey","items","grouped","activeItemPath","p","selected","itemIndex","parentItem","root","element","anchorElement","el","left","top","width","height","viewport","isOutsideContainer","isOutsideTarget","_this3","_this4","_this$getProccessedIt","_this5","_this6","_this7","matchedItemIndex","_this8","_this9","selectedIndex","_char","_this10","matched","id","_this11","parent","processedItems","newItem","_this12","Portal","render","_component_Portal","createVNode"],"mappings":"wSAEA,IAAIA,EAAU,CACZ,KAAM,SAAcC,EAAM,CACxB,IAAIC,EAAWD,EAAK,SACpB,MAAO,CAAC,4BAA6B,CACnC,oBAAqBC,EAAS,UAAU,OAAO,SAAW,EAChE,CAAK,CACF,EACD,KAAM,0BACN,SAAU,SAAkBC,EAAO,CACjC,IAAID,EAAWC,EAAM,SACnBC,EAAgBD,EAAM,cACxB,MAAO,CAAC,aAAc,CACpB,gCAAiCD,EAAS,aAAaE,CAAa,EACpE,UAAWF,EAAS,cAAcE,CAAa,EAC/C,aAAcF,EAAS,eAAeE,CAAa,CACzD,CAAK,CACF,EACD,QAAS,qBACT,OAAQ,kBACR,KAAM,kBACN,MAAO,kBACP,YAAa,iBACb,QAAS,iBACT,UAAW,sBACb,EACIC,EAAmBC,EAAU,OAAO,CACtC,KAAM,cACN,QAASN,CACX,CAAC,ECtBGO,EAAW,CACb,KAAM,kBACN,QAAWC,EACX,MAAO,CACL,MAAO,CACL,KAAM,MACN,QAAW,IACZ,EACD,SAAU,CACR,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAW,MACZ,EACD,WAAY,CACV,KAAM,QACN,QAAW,EACZ,EACD,WAAY,CACV,KAAM,OACN,QAAW,CACZ,EACD,OAAQ,CACN,KAAM,QACN,QAAW,EACZ,EACD,SAAU,CACR,KAAM,OACN,QAAW,CACZ,EACD,eAAgB,CACd,KAAM,OACN,QAAW,IACZ,EACD,UAAW,CACT,KAAM,OACN,QAAW,IACZ,CACF,EACD,MAAOH,EACP,QAAS,UAAmB,CAC1B,MAAO,CACL,gBAAiB,IACvB,CACG,CACH,EAEII,EAAW,CACb,KAAM,iBACN,SAAU,cACV,QAAWD,EACX,MAAO,CAAC,aAAc,kBAAmB,gBAAgB,EACzD,MAAO,CACL,MAAO,CACL,KAAM,MACN,QAAW,IACZ,EACD,OAAQ,CACN,KAAM,OACN,QAAW,IACZ,EACD,cAAe,CACb,KAAM,OACN,QAAW,IACZ,EACD,KAAM,CACJ,KAAM,QACN,QAAW,EACZ,EACD,QAAS,CACP,KAAM,QACN,QAAW,EACZ,EACD,MAAO,CACL,KAAM,OACN,QAAW,CACZ,EACD,UAAW,CACT,KAAM,OACN,QAAW,IACZ,EACD,eAAgB,CACd,KAAM,OACN,QAAW,IACZ,EACD,SAAU,CACR,KAAM,OACN,QAAW,CACZ,CACF,EACD,QAAS,CACP,UAAW,SAAmBJ,EAAe,CAC3C,MAAO,GAAG,OAAO,KAAK,OAAQ,GAAG,EAAE,OAAOA,EAAc,GAAG,CAC5D,EACD,WAAY,SAAoBA,EAAe,CAC7C,OAAO,KAAK,UAAUA,CAAa,CACpC,EACD,YAAa,SAAqBA,EAAeM,EAAMC,EAAQ,CAC7D,OAAOP,GAAiBA,EAAc,KAAOQ,EAAY,aAAaR,EAAc,KAAKM,CAAI,EAAGC,CAAM,EAAI,MAC3G,EACD,aAAc,SAAsBP,EAAe,CACjD,OAAO,KAAK,YAAYA,EAAe,OAAO,CAC/C,EACD,eAAgB,SAAwBA,EAAe,CACrD,MAAO,GAAG,OAAO,KAAK,OAAQ,GAAG,EAAE,OAAOA,EAAc,IAAK,QAAQ,CACtE,EACD,aAAc,SAAsBS,EAAKT,EAAeU,EAAO,CAC7D,OAAO,KAAK,IAAID,EAAK,CACnB,QAAS,CACP,KAAMT,EACN,OAAQ,KAAK,aAAaA,CAAa,EACvC,QAAS,KAAK,cAAcA,CAAa,EACzC,SAAU,KAAK,eAAeA,CAAa,EAC3C,MAAOU,CACR,CACT,CAAO,CACF,EACD,aAAc,SAAsBV,EAAe,CACjD,OAAO,KAAK,eAAe,KAAK,SAAUW,EAAM,CAC9C,OAAOA,EAAK,MAAQX,EAAc,GAC1C,CAAO,CACF,EACD,cAAe,SAAuBA,EAAe,CACnD,OAAO,KAAK,YAAYA,EAAe,SAAS,IAAM,EACvD,EACD,eAAgB,SAAwBA,EAAe,CACrD,OAAO,KAAK,YAAYA,EAAe,UAAU,CAClD,EACD,cAAe,SAAuBA,EAAe,CACnD,OAAO,KAAK,gBAAkB,KAAK,UAAUA,CAAa,CAC3D,EACD,YAAa,SAAqBA,EAAe,CAC/C,OAAOQ,EAAY,WAAWR,EAAc,KAAK,CAClD,EACD,YAAa,SAAqBY,EAAOZ,EAAe,CACtD,KAAK,YAAYA,EAAe,UAAW,CACzC,cAAeY,EACf,KAAMZ,EAAc,IAC5B,CAAO,EACD,KAAK,MAAM,aAAc,CACvB,cAAeY,EACf,cAAeZ,EACf,QAAS,EACjB,CAAO,CACF,EACD,iBAAkB,SAA0BY,EAAOZ,EAAe,CAChE,KAAK,MAAM,kBAAmB,CAC5B,cAAeY,EACf,cAAeZ,CACvB,CAAO,CACF,EACD,gBAAiB,SAAyBY,EAAOZ,EAAe,CAC9D,KAAK,MAAM,iBAAkB,CAC3B,cAAeY,EACf,cAAeZ,EACf,QAAS,EACjB,CAAO,CACF,EACD,eAAgB,UAA0B,CACxC,IAAIa,EAAQ,KACZ,OAAO,KAAK,MAAM,OAAO,SAAUb,EAAe,CAChD,OAAOa,EAAM,cAAcb,CAAa,GAAK,CAACa,EAAM,YAAYb,EAAe,WAAW,CAC3F,CAAA,EAAE,MACJ,EACD,gBAAiB,SAAyBU,EAAO,CAC/C,IAAII,EAAS,KACb,OAAOJ,EAAQ,KAAK,MAAM,MAAM,EAAGA,CAAK,EAAE,OAAO,SAAUV,EAAe,CACxE,OAAOc,EAAO,cAAcd,CAAa,GAAKc,EAAO,YAAYd,EAAe,WAAW,CACnG,CAAO,EAAE,OAAS,CACb,EACD,QAAS,UAAmB,CAC1Be,EAAW,eAAe,KAAK,MAAM,UAAW,KAAK,KAAK,CAC3D,EACD,iBAAkB,SAA0Bf,EAAeU,EAAO,CAChE,MAAO,CACL,OAAQM,EAAW,CACjB,MAAS,KAAK,GAAG,QAAQ,EACzB,SAAU,GACV,cAAe,EAChB,EAAE,KAAK,aAAa,SAAUhB,EAAeU,CAAK,CAAC,EACpD,KAAMM,EAAW,CACf,MAAS,CAAC,KAAK,GAAG,MAAM,EAAG,KAAK,YAAYhB,EAAe,MAAM,CAAC,CACnE,EAAE,KAAK,aAAa,OAAQA,EAAeU,CAAK,CAAC,EAClD,MAAOM,EAAW,CAChB,MAAS,KAAK,GAAG,OAAO,CACzB,EAAE,KAAK,aAAa,QAAShB,EAAeU,CAAK,CAAC,EACnD,YAAaM,EAAW,CACtB,MAAS,KAAK,GAAG,aAAa,CAC/B,EAAE,KAAK,aAAa,cAAehB,EAAeU,CAAK,CAAC,CACjE,CACK,CACF,EACD,WAAY,CACV,eAAgBO,CACjB,EACD,WAAY,CACV,OAAQC,CACT,CACH,EAEIC,EAAa,CAAC,UAAU,EACxBC,EAAa,CAAC,KAAM,aAAc,gBAAiB,gBAAiB,gBAAiB,aAAc,eAAgB,gBAAiB,mBAAoB,iBAAkB,iBAAiB,EAC3LC,EAAa,CAAC,UAAW,eAAgB,aAAa,EACtDC,EAAa,CAAC,OAAQ,QAAQ,EAC9BC,EAAa,CAAC,IAAI,EAClBC,EAAa,CAAC,IAAI,EACtB,SAASC,EAASC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,IAAIC,EAA4BC,EAAiB,gBAAgB,EAC7DC,EAA4BD,EAAiB,iBAAkB,EAAI,EACnEE,EAAoBC,EAAiB,QAAQ,EACjD,OAAOC,EAAW,EAAEC,EAAYC,EAAYvB,EAAW,CACrD,KAAM,mBACN,QAASe,EAAS,OACnB,EAAEL,EAAK,IAAI,iBAAiB,CAAC,EAAG,CAC/B,QAAWc,EAAQ,UAAY,CAC7B,MAAO,CAAEZ,EAAO,MAAcA,EAAO,SAAYS,EAAW,EAAEI,EAAmB,KAAMzB,EAAW,CAChG,IAAK,EACL,IAAK,YACL,SAAUY,EAAO,QACzB,EAASF,EAAK,IAAI,MAAM,CAAC,EAAG,EAAEW,EAAU,EAAI,EAAGI,EAAmBC,EAAU,KAAMC,EAAWf,EAAO,MAAO,SAAU5B,EAAeU,EAAO,CACnI,OAAO2B,EAAS,EAAII,EAAmBC,EAAU,CAC/C,IAAKX,EAAS,WAAW/B,CAAa,CACvC,EAAE,CAAC+B,EAAS,cAAc/B,CAAa,GAAK,CAAC+B,EAAS,YAAY/B,EAAe,WAAW,GAAKqC,EAAS,EAAII,EAAmB,KAAMzB,EAAW,CACjJ,IAAK,EACL,GAAIe,EAAS,UAAU/B,CAAa,EACpC,MAAO+B,EAAS,YAAY/B,EAAe,OAAO,EAClD,MAAS,CAAC0B,EAAK,GAAG,WAAY,CAC5B,cAAe1B,CAChB,CAAA,EAAG+B,EAAS,YAAY/B,EAAe,OAAO,CAAC,EAChD,KAAM,WACN,aAAc+B,EAAS,aAAa/B,CAAa,EACjD,gBAAiB+B,EAAS,eAAe/B,CAAa,GAAK,OAC3D,gBAAiB+B,EAAS,YAAY/B,CAAa,EAAI+B,EAAS,aAAa/B,CAAa,EAAI,OAC9F,gBAAiB+B,EAAS,YAAY/B,CAAa,GAAK,CAAC+B,EAAS,YAAY/B,EAAe,IAAI,EAAI,OAAS,OAC9G,aAAc4B,EAAO,MAAQ,EAC7B,eAAgBG,EAAS,eAAgB,EACzC,gBAAiBA,EAAS,gBAAgBrB,CAAK,CAChD,EAAEqB,EAAS,aAAa,WAAY/B,EAAeU,CAAK,EAAG,CAC1D,mBAAoBqB,EAAS,aAAa/B,CAAa,EACvD,iBAAkB+B,EAAS,cAAc/B,CAAa,EACtD,kBAAmB+B,EAAS,eAAe/B,CAAa,CACzD,CAAA,EAAG,CAAC4C,EAAmB,MAAO5B,EAAW,CACxC,MAASU,EAAK,GAAG,SAAS,EAC1B,QAAS,SAAiBmB,EAAQ,CAChC,OAAOd,EAAS,YAAYc,EAAQ7C,CAAa,CAClD,EACD,aAAc,SAAsB6C,EAAQ,CAC1C,OAAOd,EAAS,iBAAiBc,EAAQ7C,CAAa,CACvD,EACD,YAAa,SAAqB6C,EAAQ,CACxC,OAAOd,EAAS,gBAAgBc,EAAQ7C,CAAa,CACtD,CACX,EAAW+B,EAAS,aAAa,UAAW/B,EAAeU,CAAK,CAAC,EAAG,CAAEkB,EAAO,UAAU,MA0B2FS,EAAW,EAAEC,EAAYQ,EAAwBlB,EAAO,UAAU,IAAI,EAAG,CACjP,IAAK,EACL,KAAM5B,EAAc,KACpB,WAAY+B,EAAS,YAAY/B,EAAe,OAAO,EACvD,MAAO+B,EAAS,aAAa/B,CAAa,EAC1C,MAAO+B,EAAS,iBAAiB/B,EAAeU,CAAK,CACtD,EAAE,KAAM,EAAG,CAAC,OAAQ,aAAc,QAAS,OAAO,CAAC,GAhCkCqC,GAAgBV,EAAW,EAAEI,EAAmB,IAAKzB,EAAW,CACpJ,IAAK,EACL,KAAMe,EAAS,YAAY/B,EAAe,KAAK,EAC/C,MAAS0B,EAAK,GAAG,QAAQ,EACzB,OAAQK,EAAS,YAAY/B,EAAe,QAAQ,EACpD,SAAU,KACV,cAAe,MACzB,EAAW+B,EAAS,aAAa,SAAU/B,EAAeU,CAAK,CAAC,EAAG,CAACkB,EAAO,UAAU,UAAYS,EAAS,EAAIC,EAAYQ,EAAwBlB,EAAO,UAAU,QAAQ,EAAG,CACpK,IAAK,EACL,KAAM5B,EAAc,KACpB,MAASgD,EAAetB,EAAK,GAAG,MAAM,CAAC,CACjD,EAAW,KAAM,EAAG,CAAC,OAAQ,OAAO,CAAC,GAAKK,EAAS,YAAY/B,EAAe,MAAM,GAAKqC,EAAW,EAAEI,EAAmB,OAAQzB,EAAW,CAClI,IAAK,EACL,MAAS,CAACU,EAAK,GAAG,MAAM,EAAGK,EAAS,YAAY/B,EAAe,MAAM,CAAC,CAChF,EAAW+B,EAAS,aAAa,OAAQ/B,EAAeU,CAAK,CAAC,EAAG,KAAM,EAAE,GAAKuC,EAAmB,GAAI,EAAI,EAAGL,EAAmB,OAAQ5B,EAAW,CACxI,GAAIe,EAAS,eAAe/B,CAAa,EACzC,MAAS0B,EAAK,GAAG,OAAO,CAClC,EAAWK,EAAS,aAAa,QAAS/B,EAAeU,CAAK,CAAC,EAAGwC,EAAgBnB,EAAS,aAAa/B,CAAa,CAAC,EAAG,GAAIuB,CAAU,EAAGQ,EAAS,YAAY/B,EAAe,OAAO,GAAKqC,EAAS,EAAII,EAAmBC,EAAU,CAC1N,IAAK,CACN,EAAE,CAACd,EAAO,UAAU,aAAeS,EAAS,EAAIC,EAAYQ,EAAwBlB,EAAO,UAAU,WAAW,EAAG,CAClH,IAAK,EACL,OAAQG,EAAS,aAAa/B,CAAa,EAC3C,MAASgD,EAAetB,EAAK,GAAG,aAAa,CAAC,CAC/C,EAAE,KAAM,EAAG,CAAC,SAAU,OAAO,CAAC,IAAMW,IAAaC,EAAYN,EAA2BhB,EAAW,CAClG,IAAK,EACL,MAASU,EAAK,GAAG,aAAa,CACxC,EAAWK,EAAS,aAAa,cAAe/B,EAAeU,CAAK,CAAC,EAAG,KAAM,GAAI,CAAC,OAAO,CAAC,EAAE,EAAG,EAAE,GAAKuC,EAAmB,GAAI,EAAI,CAAC,EAAG,GAAI3B,CAAU,GAAI,CAAC,CAACa,CAAiB,CAAC,CAAC,CAM/G,EAAG,GAAId,CAAU,EAAGU,EAAS,cAAc/B,CAAa,GAAK+B,EAAS,YAAY/B,CAAa,GAAKqC,EAAW,EAAEC,EAAYJ,EAA2BlB,EAAW,CACvN,IAAK,EACL,GAAIe,EAAS,UAAU/B,CAAa,EAAI,QACxC,KAAM,OACN,MAAS0B,EAAK,GAAG,SAAS,EAC1B,OAAQE,EAAO,OACf,cAAeA,EAAO,cACtB,MAAO5B,EAAc,MACrB,UAAW4B,EAAO,UAClB,eAAgBA,EAAO,eACvB,MAAOA,EAAO,MAAQ,EACtB,QAASG,EAAS,aAAa/B,CAAa,GAAK+B,EAAS,YAAY/B,CAAa,EACnF,GAAI0B,EAAK,GACT,SAAUA,EAAK,SACf,YAAaC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,SAAUkB,EAAQ,CACvD,OAAOnB,EAAK,MAAM,aAAcmB,CAAM,CAClD,GACU,iBAAkBlB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,SAAUkB,EAAQ,CAC5D,OAAOnB,EAAK,MAAM,kBAAmBmB,CAAM,CACvD,GACU,gBAAiBlB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,SAAUkB,EAAQ,CAC3D,OAAOnB,EAAK,MAAM,iBAAkBmB,CAAM,CACtD,GACU,kBAAmBd,EAAS,eAAe/B,CAAa,CAClE,EAAW0B,EAAK,IAAI,SAAS,CAAC,EAAG,KAAM,GAAI,CAAC,KAAM,QAAS,SAAU,gBAAiB,QAAS,YAAa,iBAAkB,QAAS,UAAW,KAAM,WAAY,iBAAiB,CAAC,GAAKuB,EAAmB,GAAI,EAAI,CAAC,EAAG,GAAI7B,CAAU,GAAK6B,EAAmB,GAAI,EAAI,EAAGlB,EAAS,cAAc/B,CAAa,GAAK+B,EAAS,YAAY/B,EAAe,WAAW,GAAKqC,IAAaI,EAAmB,KAAMzB,EAAW,CAC/Y,IAAK,EACL,GAAIe,EAAS,UAAU/B,CAAa,EACpC,MAAO+B,EAAS,YAAY/B,EAAe,OAAO,EAClD,MAAS,CAAC0B,EAAK,GAAG,WAAW,EAAGK,EAAS,YAAY/B,EAAe,OAAO,CAAC,EAC5E,KAAM,WACP,EAAE0B,EAAK,IAAI,WAAW,CAAC,EAAG,KAAM,GAAIF,CAAU,GAAKyB,EAAmB,GAAI,EAAI,CAAC,EAAG,EAAE,CAC7F,CAAO,EAAG,GAAG,EAAG,EAAE,GAAI9B,CAAU,GAAK8B,EAAmB,GAAI,EAAI,CAAC,CACjE,CAAK,EACD,EAAG,CACP,EAAK,GAAI,CAAC,SAAS,CAAC,CACpB,CAEA5C,EAAS,OAASoB,EAEf,IAAC0B,EAAS,CACX,KAAM,cACN,QAAWhD,EACX,aAAc,GACd,MAAO,CAAC,QAAS,OAAQ,OAAQ,OAAQ,cAAe,aAAa,EACrE,OAAQ,KACR,qBAAsB,KACtB,eAAgB,KAChB,4BAA6B,KAC7B,MAAO,KACP,MAAO,KACP,UAAW,KACX,KAAM,KACN,KAAM,UAAgB,CACpB,MAAO,CACL,GAAI,KAAK,OAAO,GAChB,QAAS,GACT,gBAAiB,CACf,MAAO,GACP,MAAO,EACP,UAAW,EACZ,EACD,eAAgB,CAAE,EAClB,QAAS,GACT,eAAgB,EACtB,CACG,EACD,MAAO,CACL,YAAa,SAAkBiD,EAAU,CACvC,KAAK,GAAKA,GAAYC,GACvB,EACD,eAAgB,SAAwBC,EAAS,CAC3C9C,EAAY,WAAW8C,CAAO,GAChC,KAAK,yBAAwB,EAC7B,KAAK,mBAAkB,GACb,KAAK,UACf,KAAK,2BAA0B,EAC/B,KAAK,qBAAoB,EAE5B,CACF,EACD,QAAS,UAAmB,CAC1B,KAAK,GAAK,KAAK,IAAMD,EAAiB,EAClC,KAAK,QACP,KAAK,gCAA+B,CAEvC,EACD,cAAe,UAAyB,CACtC,KAAK,qBAAoB,EACzB,KAAK,2BAA0B,EAC/B,KAAK,kCAAiC,EAClC,KAAK,WAAa,KAAK,YACzBE,EAAY,MAAM,KAAK,SAAS,EAElC,KAAK,OAAS,KACd,KAAK,UAAY,IAClB,EACD,QAAS,CACP,YAAa,SAAqBC,EAAMlD,EAAM,CAC5C,OAAOkD,EAAOhD,EAAY,aAAagD,EAAKlD,CAAI,CAAC,EAAI,MACtD,EACD,aAAc,SAAsBkD,EAAM,CACxC,OAAO,KAAK,YAAYA,EAAM,OAAO,CACtC,EACD,eAAgB,SAAwBA,EAAM,CAC5C,OAAO,KAAK,YAAYA,EAAM,UAAU,CACzC,EACD,cAAe,SAAuBA,EAAM,CAC1C,OAAO,KAAK,YAAYA,EAAM,SAAS,IAAM,EAC9C,EACD,YAAa,SAAqBA,EAAM,CACtC,OAAOhD,EAAY,WAAW,KAAK,YAAYgD,EAAM,OAAO,CAAC,CAC9D,EACD,gBAAiB,SAAyBA,EAAM,CAC9C,OAAO,KAAK,YAAYA,EAAM,WAAW,CAC1C,EACD,uBAAwB,SAAgCxD,EAAe,CACrE,OAAOA,EAAgB,KAAK,aAAaA,EAAc,IAAI,EAAI,MAChE,EACD,sBAAuB,SAA+BA,EAAe,CACnE,OAAOA,GAAiBQ,EAAY,WAAWR,EAAc,KAAK,CACnE,EACD,OAAQ,SAAgBY,EAAO,CAC7B,KAAK,QAAU,KAAK,KAAM,EAAG,KAAK,KAAKA,CAAK,CAC7C,EACD,KAAM,SAAcA,EAAO,CACzB,KAAK,MAAM,aAAa,EACxB,KAAK,eAAiB,GACtB,KAAK,gBAAkB,CACrB,MAAO,GACP,MAAO,EACP,UAAW,EACnB,EACMG,EAAW,MAAM,KAAK,IAAI,EAC1B,KAAK,MAAQH,EAAM,MACnB,KAAK,MAAQA,EAAM,MACnB,KAAK,QAAU,KAAK,SAAU,EAAG,KAAK,QAAU,GAChDA,EAAM,gBAAe,EACrBA,EAAM,eAAc,CACrB,EACD,KAAM,UAAgB,CACpB,KAAK,MAAM,aAAa,EACxB,KAAK,QAAU,GACf,KAAK,eAAiB,GACtB,KAAK,gBAAkB,CACrB,MAAO,GACP,MAAO,EACP,UAAW,EACnB,CACK,EACD,QAAS,SAAiBA,EAAO,CAC/B,KAAK,QAAU,GACf,KAAK,gBAAkB,KAAK,gBAAgB,QAAU,GAAK,KAAK,gBAAkB,CAChF,MAAO,GACP,MAAO,EACP,UAAW,EACnB,EACM,KAAK,MAAM,QAASA,CAAK,CAC1B,EACD,OAAQ,SAAgBA,EAAO,CAC7B,KAAK,QAAU,GACf,KAAK,gBAAkB,CACrB,MAAO,GACP,MAAO,EACP,UAAW,EACnB,EACM,KAAK,YAAc,GACnB,KAAK,MAAM,OAAQA,CAAK,CACzB,EACD,UAAW,SAAmBA,EAAO,CACnC,IAAI6C,EAAU7C,EAAM,SAAWA,EAAM,QACrC,OAAQA,EAAM,KAAI,CAChB,IAAK,YACH,KAAK,eAAeA,CAAK,EACzB,MACF,IAAK,UACH,KAAK,aAAaA,CAAK,EACvB,MACF,IAAK,YACH,KAAK,eAAeA,CAAK,EACzB,MACF,IAAK,aACH,KAAK,gBAAgBA,CAAK,EAC1B,MACF,IAAK,OACH,KAAK,UAAUA,CAAK,EACpB,MACF,IAAK,MACH,KAAK,SAASA,CAAK,EACnB,MACF,IAAK,QACH,KAAK,WAAWA,CAAK,EACrB,MACF,IAAK,QACL,IAAK,cACH,KAAK,WAAWA,CAAK,EACrB,MACF,IAAK,SACH,KAAK,YAAYA,CAAK,EACtB,MACF,IAAK,MACH,KAAK,SAASA,CAAK,EACnB,MACF,IAAK,WACL,IAAK,SACL,IAAK,YACL,IAAK,YACL,IAAK,aAEH,MACF,QACM,CAAC6C,GAAWjD,EAAY,qBAAqBI,EAAM,GAAG,GACxD,KAAK,YAAYA,EAAOA,EAAM,GAAG,EAEnC,KACH,CACF,EACD,aAAc,SAAsBA,EAAO,CACzC,IAAIZ,EAAgBY,EAAM,cACxB8C,EAAU9C,EAAM,QAClB,GAAI,CAAAJ,EAAY,QAAQR,CAAa,EACrC,KAAIU,EAAQV,EAAc,MACxBS,EAAMT,EAAc,IACpB2D,EAAQ3D,EAAc,MACtB4D,EAAY5D,EAAc,UAC1B6D,EAAQ7D,EAAc,MACpB8D,EAAUtD,EAAY,WAAWqD,CAAK,EACtCE,EAAiB,KAAK,eAAe,OAAO,SAAUC,EAAG,CAC3D,OAAOA,EAAE,YAAcJ,GAAaI,EAAE,YAAcvD,CAC5D,CAAO,EACGqD,IACFC,EAAe,KAAK/D,CAAa,EACjC,KAAK,eAAiB,IAExB,KAAK,gBAAkB,CACrB,MAAOU,EACP,MAAOiD,EACP,UAAWC,CACnB,EACM,KAAK,eAAiBG,EACtBL,GAAW3C,EAAW,MAAM,KAAK,IAAI,EACtC,EACD,YAAa,SAAqBH,EAAO,CACvC,IAAIZ,EAAgBY,EAAM,cACtBkD,EAAU,KAAK,sBAAsB9D,CAAa,EAClDiE,EAAW,KAAK,WAAWjE,CAAa,EAC5C,GAAIiE,EAAU,CACZ,IAAIvD,EAAQV,EAAc,MACxBS,EAAMT,EAAc,IACpB2D,EAAQ3D,EAAc,MACtB4D,EAAY5D,EAAc,UAC5B,KAAK,eAAiB,KAAK,eAAe,OAAO,SAAUgE,EAAG,CAC5D,OAAOvD,IAAQuD,EAAE,KAAOvD,EAAI,WAAWuD,EAAE,GAAG,CACtD,CAAS,EACD,KAAK,gBAAkB,CACrB,MAAOtD,EACP,MAAOiD,EACP,UAAWC,CACrB,EACQ7C,EAAW,MAAM,KAAK,IAAI,CAClC,MACQ+C,EAAU,KAAK,aAAalD,CAAK,EAAI,KAAK,MAE7C,EACD,iBAAkB,SAA0BA,EAAO,CACjD,KAAK,aAAaA,CAAK,CACxB,EACD,gBAAiB,SAAyBA,EAAO,CAC3C,KAAK,SACP,KAAK,uBAAuBA,EAAOA,EAAM,cAAc,KAAK,CAE/D,EACD,eAAgB,SAAwBA,EAAO,CAC7C,IAAIsD,EAAY,KAAK,gBAAgB,QAAU,GAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,EAAI,KAAK,0BAAyB,EACvI,KAAK,uBAAuBtD,EAAOsD,CAAS,EAC5CtD,EAAM,eAAc,CACrB,EACD,aAAc,SAAsBA,EAAO,CACzC,GAAIA,EAAM,OAAQ,CAChB,GAAI,KAAK,gBAAgB,QAAU,GAAI,CACrC,IAAIZ,EAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK,EAC5D8D,EAAU,KAAK,sBAAsB9D,CAAa,EACtD,CAAC8D,GAAW,KAAK,aAAa,CAC5B,cAAelD,EACf,cAAeZ,CAC3B,CAAW,CACF,CACD,KAAK,OAAS,KAAK,OACnBY,EAAM,eAAc,CAC5B,KAAa,CACL,IAAIsD,EAAY,KAAK,gBAAgB,QAAU,GAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,EAAI,KAAK,yBAAwB,EACtI,KAAK,uBAAuBtD,EAAOsD,CAAS,EAC5CtD,EAAM,eAAc,CACrB,CACF,EACD,eAAgB,SAAwBA,EAAO,CAC7C,IAAIC,EAAQ,KACRb,EAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK,EAC5DmE,EAAa,KAAK,eAAe,KAAK,SAAUH,EAAG,CACrD,OAAOA,EAAE,MAAQhE,EAAc,SACvC,CAAO,EACGoE,EAAO5D,EAAY,QAAQR,EAAc,MAAM,EAC9CoE,IACH,KAAK,gBAAkB,CACrB,MAAO,GACP,UAAWD,EAAaA,EAAW,UAAY,EACzD,EACQ,KAAK,YAAc,GACnB,KAAK,eAAevD,CAAK,GAE3B,KAAK,eAAiB,KAAK,eAAe,OAAO,SAAUoD,EAAG,CAC5D,OAAOA,EAAE,YAAcnD,EAAM,gBAAgB,SACrD,CAAO,EACDD,EAAM,eAAc,CACrB,EACD,gBAAiB,SAAyBA,EAAO,CAC/C,IAAIZ,EAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK,EAC5D8D,EAAU,KAAK,sBAAsB9D,CAAa,EAClD8D,IACF,KAAK,aAAa,CAChB,cAAelD,EACf,cAAeZ,CACzB,CAAS,EACD,KAAK,gBAAkB,CACrB,MAAO,GACP,UAAWA,EAAc,GACnC,EACQ,KAAK,YAAc,GACnB,KAAK,eAAeY,CAAK,GAE3BA,EAAM,eAAc,CACrB,EACD,UAAW,SAAmBA,EAAO,CACnC,KAAK,uBAAuBA,EAAO,KAAK,mBAAoB,CAAA,EAC5DA,EAAM,eAAc,CACrB,EACD,SAAU,SAAkBA,EAAO,CACjC,KAAK,uBAAuBA,EAAO,KAAK,kBAAmB,CAAA,EAC3DA,EAAM,eAAc,CACrB,EACD,WAAY,SAAoBA,EAAO,CACrC,GAAI,KAAK,gBAAgB,QAAU,GAAI,CACrC,IAAIyD,EAAUtD,EAAW,WAAW,KAAK,KAAM,UAAW,OAAO,GAAG,OAAO,KAAK,cAAc,EAAG,IAAK,CAAC,EACnGuD,EAAgBD,GAAWtD,EAAW,WAAWsD,EAAS,6BAA6B,EAC3FC,EAAgBA,EAAc,MAAK,EAAKD,GAAWA,EAAQ,QAC3D,IAAIrE,EAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK,EAC5D8D,EAAU,KAAK,sBAAsB9D,CAAa,EACtD,CAAC8D,IAAY,KAAK,gBAAgB,MAAQ,KAAK,0BAAyB,EACzE,CACDlD,EAAM,eAAc,CACrB,EACD,WAAY,SAAoBA,EAAO,CACrC,KAAK,WAAWA,CAAK,CACtB,EACD,YAAa,SAAqBA,EAAO,CACvC,KAAK,KAAI,EACT,CAAC,KAAK,QAAU,KAAK,gBAAgB,MAAQ,KAAK,0BAAyB,GAC3EA,EAAM,eAAc,CACrB,EACD,SAAU,SAAkBA,EAAO,CACjC,GAAI,KAAK,gBAAgB,QAAU,GAAI,CACrC,IAAIZ,EAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK,EAC5D8D,EAAU,KAAK,sBAAsB9D,CAAa,EACtD,CAAC8D,GAAW,KAAK,aAAa,CAC5B,cAAelD,EACf,cAAeZ,CACzB,CAAS,CACF,CACD,KAAK,KAAI,CACV,EACD,QAAS,SAAiBuE,EAAI,CAC5BxD,EAAW,UAAUwD,EAAI,CACvB,SAAU,UAClB,CAAO,EACD,KAAK,SAAQ,EACT,KAAK,YACPhB,EAAY,IAAI,OAAQgB,EAAI,KAAK,WAAa,KAAK,UAAU,OAAO,OAAO,IAAI,CAElF,EACD,aAAc,UAAwB,CACpC,KAAK,yBAAwB,EAC7B,KAAK,mBAAkB,EACvB,KAAK,MAAM,MAAM,EACjBxD,EAAW,MAAM,KAAK,IAAI,CAC3B,EACD,QAAS,UAAmB,CAC1B,KAAK,MAAM,MAAM,EACjB,KAAK,UAAY,IAClB,EACD,aAAc,SAAsBwD,EAAI,CAClC,KAAK,YACPhB,EAAY,MAAMgB,CAAE,EAEtB,KAAK,2BAA0B,EAC/B,KAAK,qBAAoB,CAC1B,EACD,SAAU,UAAoB,CAC5B,IAAIC,EAAO,KAAK,MAAQ,EACpBC,EAAM,KAAK,MAAQ,EACnBC,EAAQ,KAAK,UAAU,aAAe,KAAK,UAAU,YAAc3D,EAAW,2BAA2B,KAAK,SAAS,EACvH4D,EAAS,KAAK,UAAU,aAAe,KAAK,UAAU,aAAe5D,EAAW,4BAA4B,KAAK,SAAS,EAC1H6D,EAAW7D,EAAW,cAGtByD,EAAOE,EAAQ,SAAS,KAAK,WAAaE,EAAS,QACrDJ,GAAQE,GAIND,EAAME,EAAS,SAAS,KAAK,UAAYC,EAAS,SACpDH,GAAOE,GAILH,EAAO,SAAS,KAAK,aACvBA,EAAO,SAAS,KAAK,YAInBC,EAAM,SAAS,KAAK,YACtBA,EAAM,SAAS,KAAK,WAEtB,KAAK,UAAU,MAAM,KAAOD,EAAO,KACnC,KAAK,UAAU,MAAM,IAAMC,EAAM,IAClC,EACD,yBAA0B,UAAoC,CAC5D,IAAI3D,EAAS,KACR,KAAK,uBACR,KAAK,qBAAuB,SAAUF,EAAO,CAC3C,IAAIiE,EAAqB/D,EAAO,WAAa,CAACA,EAAO,UAAU,SAASF,EAAM,MAAM,EAChFkE,EAAkBhE,EAAO,QAAU,EAAEA,EAAO,SAAWA,EAAO,SAAWF,EAAM,QAAUE,EAAO,OAAO,SAASF,EAAM,MAAM,IAAM,GAClIiE,GAAsBC,GACxBhE,EAAO,KAAI,CAEvB,EACQ,SAAS,iBAAiB,QAAS,KAAK,oBAAoB,EAE/D,EACD,2BAA4B,UAAsC,CAC5D,KAAK,uBACP,SAAS,oBAAoB,QAAS,KAAK,oBAAoB,EAC/D,KAAK,qBAAuB,KAE/B,EACD,mBAAoB,UAA8B,CAChD,IAAIiE,EAAS,KACR,KAAK,iBACR,KAAK,eAAiB,UAAY,CAC5BA,EAAO,SAAW,CAAChE,EAAW,cAAa,GAC7CgE,EAAO,KAAI,CAEvB,EACQ,OAAO,iBAAiB,SAAU,KAAK,cAAc,EAExD,EACD,qBAAsB,UAAgC,CAChD,KAAK,iBACP,OAAO,oBAAoB,SAAU,KAAK,cAAc,EACxD,KAAK,eAAiB,KAEzB,EACD,gCAAiC,UAA2C,CAC1E,IAAIC,EAAS,KACR,KAAK,8BACR,KAAK,4BAA8B,SAAUpE,EAAO,CAClDA,EAAM,SAAW,GAAKoE,EAAO,KAAKpE,CAAK,CACjD,EACQ,SAAS,iBAAiB,cAAe,KAAK,2BAA2B,EAE5E,EACD,kCAAmC,UAA6C,CAC1E,KAAK,8BACP,SAAS,oBAAoB,cAAe,KAAK,2BAA2B,EAC5E,KAAK,4BAA8B,KAEtC,EACD,cAAe,SAAuBZ,EAAe,CACnD,IAAIiF,EACJ,OAAO,KAAK,YAAYjF,CAAa,KAAOiF,EAAwB,KAAK,uBAAuBjF,CAAa,KAAO,MAAQiF,IAA0B,OAAS,OAASA,EAAsB,kBAAmB,EAAC,WAAW,KAAK,YAAY,kBAAmB,CAAA,EAClQ,EACD,YAAa,SAAqBjF,EAAe,CAC/C,MAAO,CAAC,CAACA,GAAiB,CAAC,KAAK,eAAeA,EAAc,IAAI,GAAK,CAAC,KAAK,gBAAgBA,EAAc,IAAI,GAAK,KAAK,cAAcA,EAAc,IAAI,CACzJ,EACD,oBAAqB,SAA6BA,EAAe,CAC/D,OAAO,KAAK,YAAYA,CAAa,GAAK,KAAK,WAAWA,CAAa,CACxE,EACD,WAAY,SAAoBA,EAAe,CAC7C,OAAO,KAAK,eAAe,KAAK,SAAUgE,EAAG,CAC3C,OAAOA,EAAE,MAAQhE,EAAc,GACvC,CAAO,CACF,EACD,mBAAoB,UAA8B,CAChD,IAAIkF,EAAS,KACb,OAAO,KAAK,aAAa,UAAU,SAAUlF,EAAe,CAC1D,OAAOkF,EAAO,YAAYlF,CAAa,CAC/C,CAAO,CACF,EACD,kBAAmB,UAA6B,CAC9C,IAAImF,EAAS,KACb,OAAO3E,EAAY,cAAc,KAAK,aAAc,SAAUR,EAAe,CAC3E,OAAOmF,EAAO,YAAYnF,CAAa,CAC/C,CAAO,CACF,EACD,kBAAmB,SAA2BU,EAAO,CACnD,IAAI0E,EAAS,KACTC,EAAmB3E,EAAQ,KAAK,aAAa,OAAS,EAAI,KAAK,aAAa,MAAMA,EAAQ,CAAC,EAAE,UAAU,SAAUV,EAAe,CAClI,OAAOoF,EAAO,YAAYpF,CAAa,CAC/C,CAAO,EAAI,GACL,OAAOqF,EAAmB,GAAKA,EAAmB3E,EAAQ,EAAIA,CAC/D,EACD,kBAAmB,SAA2BA,EAAO,CACnD,IAAI4E,EAAS,KACTD,EAAmB3E,EAAQ,EAAIF,EAAY,cAAc,KAAK,aAAa,MAAM,EAAGE,CAAK,EAAG,SAAUV,EAAe,CACvH,OAAOsF,EAAO,YAAYtF,CAAa,CAC/C,CAAO,EAAI,GACL,OAAOqF,EAAmB,GAAKA,EAAmB3E,CACnD,EACD,sBAAuB,UAAiC,CACtD,IAAI6E,EAAS,KACb,OAAO,KAAK,aAAa,UAAU,SAAUvF,EAAe,CAC1D,OAAOuF,EAAO,oBAAoBvF,CAAa,CACvD,CAAO,CACF,EACD,0BAA2B,UAAqC,CAC9D,IAAIwF,EAAgB,KAAK,wBACzB,OAAOA,EAAgB,EAAI,KAAK,mBAAkB,EAAKA,CACxD,EACD,yBAA0B,UAAoC,CAC5D,IAAIA,EAAgB,KAAK,wBACzB,OAAOA,EAAgB,EAAI,KAAK,kBAAiB,EAAKA,CACvD,EACD,YAAa,SAAqB5E,EAAO6E,EAAO,CAC9C,IAAIC,EAAU,KACd,KAAK,aAAe,KAAK,aAAe,IAAMD,EAC9C,IAAIvB,EAAY,GACZyB,EAAU,GACd,OAAI,KAAK,gBAAgB,QAAU,IACjCzB,EAAY,KAAK,aAAa,MAAM,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAUlE,EAAe,CACjG,OAAO0F,EAAQ,cAAc1F,CAAa,CACpD,CAAS,EACDkE,EAAYA,IAAc,GAAK,KAAK,aAAa,MAAM,EAAG,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAUlE,EAAe,CACvH,OAAO0F,EAAQ,cAAc1F,CAAa,CAC3C,CAAA,EAAIkE,EAAY,KAAK,gBAAgB,OAEtCA,EAAY,KAAK,aAAa,UAAU,SAAUlE,EAAe,CAC/D,OAAO0F,EAAQ,cAAc1F,CAAa,CACpD,CAAS,EAECkE,IAAc,KAChByB,EAAU,IAERzB,IAAc,IAAM,KAAK,gBAAgB,QAAU,KACrDA,EAAY,KAAK,6BAEfA,IAAc,IAChB,KAAK,uBAAuBtD,EAAOsD,CAAS,EAE1C,KAAK,eACP,aAAa,KAAK,aAAa,EAEjC,KAAK,cAAgB,WAAW,UAAY,CAC1CwB,EAAQ,YAAc,GACtBA,EAAQ,cAAgB,IACzB,EAAE,GAAG,EACCC,CACR,EACD,uBAAwB,SAAgC/E,EAAOF,EAAO,CAChE,KAAK,gBAAgB,QAAUA,IACjC,KAAK,gBAAgB,MAAQA,EAC7B,KAAK,aAAY,EAEpB,EACD,aAAc,UAAwB,CACpC,IAAIA,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAC5EkF,EAAKlF,IAAU,GAAK,GAAG,OAAO,KAAK,GAAI,GAAG,EAAE,OAAOA,CAAK,EAAI,KAAK,eACjE2D,EAAUtD,EAAW,WAAW,KAAK,KAAM,UAAW,OAAO6E,EAAI,IAAK,CAAC,EACvEvB,GACFA,EAAQ,gBAAkBA,EAAQ,eAAe,CAC/C,MAAO,UACP,OAAQ,OAClB,CAAS,CAEJ,EACD,qBAAsB,SAA8BR,EAAO,CACzD,IAAIgC,EAAU,KACVlC,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,EAC5EmC,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC7ElC,EAAY,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAChFmC,EAAiB,CAAA,EACrB,OAAAlC,GAASA,EAAM,QAAQ,SAAUL,EAAM9C,EAAO,CAC5C,IAAID,GAAOmD,IAAc,GAAKA,EAAY,IAAM,IAAMlD,EAClDsF,EAAU,CACZ,KAAMxC,EACN,MAAO9C,EACP,MAAOiD,EACP,IAAKlD,EACL,OAAQqF,EACR,UAAWlC,CACrB,EACQoC,EAAQ,MAAWH,EAAQ,qBAAqBrC,EAAK,MAAOG,EAAQ,EAAGqC,EAASvF,CAAG,EACnFsF,EAAe,KAAKC,CAAO,CACnC,CAAO,EACMD,CACR,EACD,aAAc,SAAsBxB,EAAI,CACtC,KAAK,UAAYA,CAClB,EACD,QAAS,SAAiBA,EAAI,CAC5B,KAAK,KAAOA,EAAKA,EAAG,IAAM,MAC3B,CACF,EACD,SAAU,CACR,eAAgB,UAA0B,CACxC,OAAO,KAAK,qBAAqB,KAAK,OAAS,CAAE,CAAA,CAClD,EACD,aAAc,UAAwB,CACpC,IAAI0B,EAAU,KACVjG,EAAgB,KAAK,eAAe,KAAK,SAAUgE,EAAG,CACxD,OAAOA,EAAE,MAAQiC,EAAQ,gBAAgB,SACjD,CAAO,EACD,OAAOjG,EAAgBA,EAAc,MAAQ,KAAK,cACnD,EACD,eAAgB,UAA0B,CACxC,OAAO,KAAK,gBAAgB,QAAU,GAAK,GAAG,OAAO,KAAK,EAAE,EAAE,OAAOQ,EAAY,WAAW,KAAK,gBAAgB,SAAS,EAAI,IAAM,KAAK,gBAAgB,UAAY,GAAI,GAAG,EAAE,OAAO,KAAK,gBAAgB,KAAK,EAAI,IACpN,CACF,EACD,WAAY,CACV,eAAgBH,EAChB,OAAQ6F,CACT,CACH,EAEA,SAASC,EAAOzE,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,IAAIG,EAA4BD,EAAiB,gBAAgB,EAC7DmE,EAAoBnE,EAAiB,QAAQ,EACjD,OAAOI,EAAS,EAAIC,EAAY8D,EAAmB,CACjD,SAAU1E,EAAK,QACnB,EAAK,CACD,QAAWc,EAAQ,UAAY,CAC7B,MAAO,CAAC6D,EAAY9D,EAAYvB,EAAW,CACzC,KAAM,gBACN,QAASe,EAAS,QAClB,aAAcA,EAAS,aACvB,QAASA,EAAS,QAClB,aAAcA,EAAS,YACxB,EAAEL,EAAK,IAAI,YAAY,CAAC,EAAG,CAC1B,QAAWc,EAAQ,UAAY,CAC7B,MAAO,CAACV,EAAM,SAAWO,EAAW,EAAEI,EAAmB,MAAOzB,EAAW,CACzE,IAAK,EACL,IAAKe,EAAS,aACd,MAASL,EAAK,GAAG,MAAM,CACnC,EAAaA,EAAK,KAAK,MAAM,CAAC,EAAG,CAAC2E,EAAYnE,EAA2B,CAC7D,IAAKH,EAAS,QACd,GAAID,EAAM,GAAK,QACf,MAASkB,EAAetB,EAAK,GAAG,MAAM,CAAC,EACvC,KAAM,UACN,KAAM,GACN,SAAUA,EAAK,SACf,mBAAoB,WACpB,wBAAyBI,EAAM,QAAUC,EAAS,eAAiB,OACnE,OAAQD,EAAM,GACd,cAAeA,EAAM,QAAUC,EAAS,eAAiB,OACzD,MAAOA,EAAS,eAChB,UAAWL,EAAK,OAChB,eAAgBI,EAAM,eACtB,kBAAmBJ,EAAK,eACxB,aAAcA,EAAK,UACnB,MAAO,EACP,QAASI,EAAM,eACf,GAAIJ,EAAK,GACT,SAAUA,EAAK,SACf,QAASK,EAAS,QAClB,OAAQA,EAAS,OACjB,UAAWA,EAAS,UACpB,YAAaA,EAAS,YACtB,iBAAkBA,EAAS,iBAC3B,gBAAiBA,EAAS,eAC3B,EAAE,KAAM,EAAG,CAAC,KAAM,QAAS,WAAY,wBAAyB,SAAU,gBAAiB,QAAS,YAAa,iBAAkB,kBAAmB,aAAc,UAAW,KAAM,WAAY,UAAW,SAAU,YAAa,cAAe,mBAAoB,iBAAiB,CAAC,CAAC,EAAG,EAAE,GAAKkB,EAAmB,GAAI,EAAI,CAAC,CAC1U,CAAS,EACD,EAAG,CACX,EAAS,GAAI,CAAC,UAAW,eAAgB,UAAW,cAAc,CAAC,CAAC,CACpE,CAAK,EACD,EAAG,CACP,EAAK,EAAG,CAAC,UAAU,CAAC,CACpB,CAEAE,EAAO,OAASgD","x_google_ignoreList":[0,1]}