quill-table-up 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +24 -24
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/is.ts","../src/utils/components/button.ts","../src/utils/color.ts","../src/utils/components/color-picker.ts","../src/utils/components/dialog.ts","../src/utils/components/input.ts","../src/utils/components/table/select-box.ts","../src/utils/components/table/creator.ts","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/.pnpm/@floating-ui+core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.12/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/position.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/overrides/block.ts","../src/formats/overrides/blockquote.ts","../src/formats/overrides/code.ts","../src/formats/overrides/header.ts","../src/formats/overrides/list.ts","../src/formats/overrides/scroll.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/index.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts","../src/modules/table-selection.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["blotName","container","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","defaultColorMap","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","isFunction","val","isArray","Array","isString","createButton","options","type","content","btn","document","createElement","classList","add","textContent","appendChild","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","i","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","length","join","HSBtoHEX","createColorPicker","contentWidth","contentHeight","handleSizeSec","hsbValue","color","startsWith","slice","parseInt","toFixed","root","colorSelector","colorBackground","colorHandle","colorAlpha","alphaBg","alphaHandle","colorHue","colorHueHandle","action","colorRInput","colorGInput","colorBInput","colorAInput","map","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","Object","assign","updateUI","colorDragging","hueDragging","alphaDragging","updateInput","input","entries","String","style","left","top","backgroundColor","background","updateAlphaBg","onChange","pickColor","event","rect","getBoundingClientRect","window","pageYOffset","documentElement","scrollTop","body","scrollLeft","pageX","pageY","pickHue","pickAlpha","width","onDrag","preventDefault","onColorSelectorDragEnd","removeEventListener","onColorHueDragEnd","onColorAlphaDragEnd","zindex","createDialog","child","target","beforeClose","appendTo","dialog","zIndex","overlay","stopPropagation","originOverflow","getComputedStyle","overflow","close","remove","createInputItem","inputItem","inputLabel","inputInput","setAttribute","errorTip","msg","contains","querySelector","removeError","createSelectBox","selectDom","selectBlock","row","c","col","selectItem","dataset","updateSelectBlockItems","from","querySelectorAll","childs","children","childRow","childCol","removeAttribute","onSelect","customBtn","texts","selectCustom","customBtnText","async","res","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","colItem","colInput","colErrorTip","colText","control","confirmBtn","confirmText","cancelBtn","cancelText","validateInput","isNaN","notPositiveNumberError","keyboardClose","Promise","resolve","reject","focus","result","showTableCreator","createCoords","x","y","oppositeSideMap","right","bottom","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","hasWindow","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","test","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","filter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollX","scrollY","getParentNode","assignedSlot","parentNode","host","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","concat","visualViewport","parent","getPrototypeOf","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","name","fn","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","push","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","tooltipContainer","createTooltip","delay","onOpen","onClose","closed","onDestroy","tooltip","showTimer","closeTimer","then","transitionendHandler","removeChild","openTooltip","force","allow","closeTooltip","once","clickDisplay","show","prepare","hide","destroy","displayMethods","hover","eventListeners","bind","undefined","open","listener","click","destroyDisplay","isRectanglesIntersect","tolerance","minAx","minAy","x1","maxAx","y1","maxAy","minBx","minBy","maxBx","maxBy","randomId","random","debounce","timestamp","args","apply","findParentBlot","blot","targetBlotName","statics","Error","findParentBlots","targetBlotNames","resultBlots","blotNameIndexMaps","size","has","delete","keys","mixinProps","source","prop","getOwnPropertyNames","defineProperty","getOwnPropertyDescriptor","mixinClass","base","mixins","targetClass","constructor","props","super","prototype","limitDomInViewPort","leftLimited","topLimited","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","optimize","_context","next","checkMerge","moveChildren","BlockOverride","replaceWith","replacement","ParentBlot","selfParent","insertBefore","prev","block","selfRow","attributes","copy","format","tableNext","tableRowNext","tableCellNext","Blockquote","BlockquoteOverride","CodeBlock","CodeBlockOverride","Header","HeaderOverride","ListItem","ListItemOverride","register","ScrollBlot","ScrollOverride","createBlock","refBlot","createBlotName","formats","query","BLOCK","BLOT","formatAt","getValidCellspan","isValidCellspan","TableCellInnerFormat","Set","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","domNode","setFormatValue","isStyle","cssText","allowDataAttrs","attrName","blocks","descendants","getColumnIndex","getColIds","indexOf","blotValue","afterBlock","wrap","uiNode","firstChild","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","TableRowFormat","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","iterator","cur","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","TableCellFormat","getAttribute","inlineStyles","property","allowAttrs","head","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","cancelFull","tableWidth","colgroup","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","deleteAt","tableBodys","tableColgroups","menuColorSelectClassName","defaultTools","icon","tip","tableModule","appendRow","hideTableTools","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","selectedTds","setCellAttrs","usedColors","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","quill","menu","updateUsedColor","tooltipItem","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tipTexts","tools","getUsedColors","buildTools","toolBox","tool","attrKey","iconDom","innerHTML","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","isChild","tableSelection","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","emitter","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableMainRect","fullWidth","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","call","showScrollbar","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","containerWidth","containerHeight","tableHeight","containerScrollHandler","originalHeight","originalWidth","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","startDrag","stopImmediatePropagation","onselectstart","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbar","hideScrollbarTransitionend","Delta","Break","icons","createCell","getCellWidth","styleWidth","tableCantInsert","isForbidInTable","current","TableUp","bindInHead","collapsed","handler","range","getLine","offsetInline","tail","suffix","getFormat","numLines","insertText","setSelection","sources","SILENT","allowedChildren","requiredContainer","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","scrollbarBEM","toolboxBEM","addContainer","toolbar","getModule","theme","pickers","select","controls","toolName","toLocaleLowerCase","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","path","composedPath","tableNode","showTableTools","on","events","EDITOR_CHANGE","oldRange","SELECTION_CHANGE","startBlot","endBlot","startTableBlot","endTableBlot","USER","pasteTableHandler","listenBalanceCells","classes","classname","resolveTexts","selectionOptions","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","cellCount","colCount","pasteElementIntoCell","delta","_scroll","tableCellInnerValue","op","ops","clipboard","addMatcher","TEXT_NODE","ELEMENT_NODE","insert","attrs","newCols","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","last","cellAttrs","matchCell","cellFormat","border","selection","resize","resizeScale","attr","td","insertTable","columns","currentBlot","getLeaf","rootStyle","paddingRight","colWidth","retain","j","updateContents","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","tds","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","computeSelectedTds","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableWrapperRect","tableNodeX","tableNodeY","rootRect","cornerTranslateX","rowHeadWrapperTranslateX","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","TEXT_CHANGE","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","off","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","selectingHandler","mouseDownHandler","tableMenu","helpLinesInitial","tableMenuOptions","selectColor","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","wrapLeft","wrapTop"],"mappings":"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","x_google_ignoreList":[10,11,12,13]}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/is.ts","../src/utils/components/button.ts","../src/utils/color.ts","../src/utils/components/color-picker.ts","../src/utils/components/dialog.ts","../src/utils/components/input.ts","../src/utils/components/table/select-box.ts","../src/utils/components/table/creator.ts","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/.pnpm/@floating-ui+core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.12/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/position.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/overrides/block.ts","../src/formats/overrides/blockquote.ts","../src/formats/overrides/code.ts","../src/formats/overrides/header.ts","../src/formats/overrides/list.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/overrides/scroll.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/index.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts","../src/modules/table-selection.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["blotName","container","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","defaultColorMap","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","isFunction","val","isArray","Array","isString","createButton","options","type","content","btn","document","createElement","classList","add","textContent","appendChild","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","i","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","length","join","HSBtoHEX","createColorPicker","contentWidth","contentHeight","handleSizeSec","hsbValue","color","startsWith","slice","parseInt","toFixed","root","colorSelector","colorBackground","colorHandle","colorAlpha","alphaBg","alphaHandle","colorHue","colorHueHandle","action","colorRInput","colorGInput","colorBInput","colorAInput","map","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","Object","assign","updateUI","colorDragging","hueDragging","alphaDragging","updateInput","input","entries","String","style","left","top","backgroundColor","background","updateAlphaBg","onChange","pickColor","event","rect","getBoundingClientRect","window","pageYOffset","documentElement","scrollTop","body","scrollLeft","pageX","pageY","pickHue","pickAlpha","width","onDrag","preventDefault","onColorSelectorDragEnd","removeEventListener","onColorHueDragEnd","onColorAlphaDragEnd","zindex","createDialog","child","target","beforeClose","appendTo","dialog","zIndex","overlay","stopPropagation","originOverflow","getComputedStyle","overflow","close","remove","createInputItem","inputItem","inputLabel","inputInput","setAttribute","errorTip","msg","contains","querySelector","removeError","createSelectBox","selectDom","selectBlock","row","c","col","selectItem","dataset","updateSelectBlockItems","from","querySelectorAll","childs","children","childRow","childCol","removeAttribute","onSelect","customBtn","texts","selectCustom","customBtnText","async","res","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","colItem","colInput","colErrorTip","colText","control","confirmBtn","confirmText","cancelBtn","cancelText","validateInput","isNaN","notPositiveNumberError","keyboardClose","Promise","resolve","reject","focus","result","showTableCreator","createCoords","x","y","oppositeSideMap","right","bottom","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","hasWindow","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","test","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","filter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollX","scrollY","getParentNode","assignedSlot","parentNode","host","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","concat","visualViewport","parent","getPrototypeOf","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","name","fn","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","push","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","tooltipContainer","createTooltip","delay","onOpen","onClose","closed","onDestroy","tooltip","showTimer","closeTimer","then","transitionendHandler","removeChild","openTooltip","force","allow","closeTooltip","once","clickDisplay","show","prepare","hide","destroy","displayMethods","hover","eventListeners","bind","undefined","open","listener","click","destroyDisplay","isRectanglesIntersect","tolerance","minAx","minAy","x1","maxAx","y1","maxAy","minBx","minBy","maxBx","maxBy","randomId","random","debounce","timestamp","args","apply","findParentBlot","blot","targetBlotName","statics","Error","findParentBlots","targetBlotNames","resultBlots","blotNameIndexMaps","size","has","delete","keys","mixinProps","source","prop","getOwnPropertyNames","defineProperty","getOwnPropertyDescriptor","mixinClass","base","mixins","targetClass","constructor","props","super","prototype","limitDomInViewPort","leftLimited","topLimited","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","optimize","_context","next","checkMerge","moveChildren","BlockOverride","replaceWith","replacement","ParentBlot","selfParent","insertBefore","prev","block","selfRow","attributes","copy","format","tableNext","tableRowNext","tableCellNext","Blockquote","BlockquoteOverride","CodeBlock","CodeBlockOverride","Header","HeaderOverride","ListItem","ListItemOverride","register","getValidCellspan","isValidCellspan","TableCellInnerFormat","Set","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","formats","domNode","setFormatValue","isStyle","cssText","allowDataAttrs","attrName","blocks","descendants","getColumnIndex","getColIds","indexOf","formatAt","blotValue","afterBlock","wrap","uiNode","firstChild","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","ScrollBlot","ScrollOverride","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","TableRowFormat","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","iterator","cur","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","TableCellFormat","getAttribute","inlineStyles","property","allowAttrs","head","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","cancelFull","tableWidth","colgroup","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","deleteAt","tableBodys","tableColgroups","menuColorSelectClassName","defaultTools","icon","tip","tableModule","appendRow","hideTableTools","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","selectedTds","setCellAttrs","usedColors","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","quill","menu","updateUsedColor","tooltipItem","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tipTexts","tools","getUsedColors","buildTools","toolBox","tool","attrKey","iconDom","innerHTML","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","isChild","tableSelection","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","emitter","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableMainRect","fullWidth","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","call","showScrollbar","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","containerWidth","containerHeight","tableHeight","containerScrollHandler","originalHeight","originalWidth","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","startDrag","stopImmediatePropagation","onselectstart","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbar","hideScrollbarTransitionend","Delta","Break","icons","createCell","getCellWidth","styleWidth","tableCantInsert","isForbidInTable","current","TableUp","bindInHead","collapsed","handler","range","getLine","offsetInline","tail","suffix","getFormat","numLines","insertText","setSelection","sources","SILENT","allowedChildren","requiredContainer","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","scrollbarBEM","toolboxBEM","addContainer","toolbar","getModule","theme","pickers","select","controls","toolName","toLocaleLowerCase","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","path","composedPath","tableNode","showTableTools","on","events","EDITOR_CHANGE","oldRange","SELECTION_CHANGE","startBlot","endBlot","startTableBlot","endTableBlot","USER","pasteTableHandler","listenBalanceCells","classes","classname","resolveTexts","selectionOptions","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","cellCount","colCount","pasteElementIntoCell","delta","_scroll","tableCellInnerValue","op","ops","clipboard","addMatcher","TEXT_NODE","ELEMENT_NODE","insert","attrs","newCols","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","cellAttrs","matchCell","cellFormat","border","selection","resize","resizeScale","attr","td","insertTable","columns","currentBlot","getLeaf","rootStyle","paddingRight","colWidth","retain","j","updateContents","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","tds","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","computeSelectedTds","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableWrapperRect","tableNodeX","tableNodeY","rootRect","cornerTranslateX","rowHeadWrapperTranslateX","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","TEXT_CHANGE","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","off","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","selectingHandler","mouseDownHandler","tableMenu","helpLinesInitial","tableMenuOptions","selectColor","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","wrapLeft","wrapTop"],"mappings":"kRAAa,MAAAA,EAAW,CACtBC,UAAW,qBACXC,aAAc,WACdC,UAAW,gBACXC,cAAe,oBACfC,SAAU,eACVC,UAAW,gBACXC,SAAU,eACVC,UAAW,gBACXC,eAAgB,uBAGLC,EAAc,CACzBC,eAAgB,EAChBC,cAAe,GACfC,gBAAiB,MACjBC,eAAgB,IAGLC,EAAe,CAC1BC,mBAAoB,sBAGTC,EAAkB,CAC7B,CACE,qBACA,eACA,mBACA,oBACA,mBACA,mBACA,mBACA,oBACA,mBACA,qBAEF,CACE,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEF,CACE,qBACA,kBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEF,CACE,qBACA,kBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEF,CACE,qBACA,kBACA,kBACA,mBACA,oBACA,mBACA,mBACA,mBACA,mBACA,oBAEF,CACE,qBACA,kBACA,kBACA,mBACA,kBACA,kBACA,kBACA,kBACA,kBACA,oBC5FSC,EAAY,CAACC,EAAWC,EDgGT,cC/F1B,MAAMC,EAASD,EAAI,GAAGA,KAAO,GAC7B,MAAO,CAELD,EAAG,IAAM,GAAGE,IAASF,IAErBG,GAAKC,GAAeA,EAAI,GAAGF,IAASF,MAAMI,IAAM,GAEhDC,GAAKC,GAAeA,EAAI,GAAGJ,IAASF,MAAMM,IAAM,GAEhDC,IAAK,CAACH,EAAYE,IAAeF,GAAKE,EAAI,GAAGJ,IAASF,MAAMI,MAAME,IAAM,GAExEE,GAAKC,GAAeA,EAAI,GAAGP,IAASO,IAAM,GAE1CC,GAAKD,GAAeA,EAAI,GAAGP,IAASF,KAAKS,IAAM,GAE/CE,GAAKC,GAAeA,EAAI,KAAKV,IAASU,IAAM,GAE5CC,GAAKZ,GAAc,MAAMA,IAC1B,ECrBUa,EAAcC,GAA6C,mBAARA,EAEnDC,EAAUC,MAAMD,QAChBE,EAAYH,GAA2C,iBAARA,ECI/CI,EAAgBC,IAC3B,MAAMC,KAAEA,EAAO,UAASC,QAAEA,GAAYF,GAAW,CAAA,EAC3Cb,EAAMR,EAAU,UAChBwB,EAAMC,SAASC,cAAc,UAUnC,OATAF,EAAIG,UAAUC,IAAIpB,EAAIP,IAAKqB,GACvBC,IACEJ,EAASI,GACXC,EAAIK,YAAcN,EAGlBC,EAAIM,YAAYP,IAGbC,CAAG,ECRNO,EAAiB,SAAUC,EAAwBC,GAIvD,OAHAD,EAAQE,KAAKC,IAAIF,EAAeC,KAAKD,IAAI,EAAGG,OAAOC,WAAW,GAAGL,OAG7DE,KAAKI,IAAIN,EAASC,GAAkB,KAC/B,EAIDD,EAASC,EAAkBG,OAAOC,WAAWJ,EACvD,EACaM,EAAeC,IACnB,CACLC,EAAGP,KAAKC,IAAI,IAAKD,KAAKD,IAAI,EAAGO,EAAIC,IACjC/B,EAAGwB,KAAKC,IAAI,IAAKD,KAAKD,IAAI,EAAGO,EAAI9B,IACjCT,EAAGiC,KAAKC,IAAI,IAAKD,KAAKD,IAAI,EAAGO,EAAIvC,IACjCyC,EAAGR,KAAKC,IAAI,EAAGD,KAAKD,IAAI,EAAGO,EAAIE,MAWtBC,EAAYC,IACvB,IAAIC,EAAEA,EAACC,EAAEA,EAAC7C,EAAEA,EAACyC,EAAEA,GAAME,EACrBC,EAAId,EAAec,EAAG,KACtBC,EAAIf,EAAee,EAAG,KACtB7C,EAAI8B,EAAe9B,EAAG,KAEtB,MAAMgC,EAAMC,KAAKD,IAAIY,EAAGC,EAAG7C,GACrBkC,EAAMD,KAAKC,IAAIU,EAAGC,EAAG7C,GAC3B,IAAIwC,EACJ,MAAM5B,EAAIoB,EAEJc,EAAId,EAAME,EACVzB,EAAY,IAARuB,EAAY,EAAIc,EAAId,EAE9B,GAAIA,IAAQE,EACVM,EAAI,MAED,CACH,OAAQR,GACN,KAAKY,EACHJ,GAAKK,EAAI7C,GAAK8C,GAAKD,EAAI7C,EAAI,EAAI,GAC/B,MAEF,KAAK6C,EACHL,GAAKxC,EAAI4C,GAAKE,EAAI,EAClB,MAEF,KAAK9C,EACHwC,GAAKI,EAAIC,GAAKC,EAAI,EAItBN,GAAM,CACP,CAED,MAAO,CAAEA,EAAQ,IAALA,EAAU/B,EAAO,IAAJA,EAAST,EAAO,IAAJY,EAAS6B,IAAG,EAEtCM,EAAYR,IACvB,IAAIC,EAAEA,EAAC/B,EAAEA,EAACT,EAAEA,EAACyC,EAAEA,GAAMF,EACrBC,EAA6B,EAAzBV,EAAeU,EAAG,KACtB/B,EAAIqB,EAAerB,EAAG,KACtBT,EAAI8B,EAAe9B,EAAG,KAEtB,MAAMgD,EAAIf,KAAKgB,MAAMT,GACfU,EAAIV,EAAIQ,EACRG,EAAInD,GAAK,EAAIS,GACb2C,EAAIpD,GAAK,EAAIkD,EAAIzC,GACjB4C,EAAIrD,GAAK,GAAK,EAAIkD,GAAKzC,GACvB6C,EAAMN,EAAI,EACVJ,EAAI,CAAC5C,EAAGoD,EAAGD,EAAGA,EAAGE,EAAGrD,GAAGsD,GACvBT,EAAI,CAACQ,EAAGrD,EAAGA,EAAGoD,EAAGD,EAAGA,GAAGG,GACvB1C,EAAI,CAACuC,EAAGA,EAAGE,EAAGrD,EAAGA,EAAGoD,GAAGE,GAE7B,MAAO,CACLV,EAAGX,KAAKsB,MAAU,IAAJX,GACdC,EAAGZ,KAAKsB,MAAU,IAAJV,GACd7C,EAAGiC,KAAKsB,MAAU,IAAJ3C,GACd6B,IACD,EAEUe,EAAYb,IACvB,MAAMc,EAAM,CAACd,EAAIC,EAAEc,SAAS,IAAKf,EAAIE,EAAEa,SAAS,IAAKf,EAAI3C,EAAE0D,SAAS,IAAKzB,KAAKsB,MAAc,IAARZ,EAAIF,GAASiB,SAAS,KAC1G,IAAK,MAAMC,KAAOF,EACQ,IAApBA,EAAIE,GAAKC,SACXH,EAAIE,GAAO,IAAIF,EAAIE,MAGvB,OAAOF,EAAII,KAAK,GAAG,EAERC,EAAYvB,GAAqBiB,EAAST,EAASR,ICpGnDwB,EAAoB,CAAC3C,EAAuC,MACvE,MAAM4C,EAAe,IACfC,EAAgB,IAChBC,EAAgB,GAEtB,IAAIC,EAAgBzB,GDmBpBe,GADuBA,EClBerC,EAAQgD,OAAS,WDmB7CC,WAAW,KAAOZ,EAAIa,MAAM,GAAKb,EAKpC,CAAEb,EAJCT,OAAOoC,SAASd,EAAIa,MAAM,EAAG,GAAI,IAI/BzB,EAHFV,OAAOoC,SAASd,EAAIa,MAAM,EAAG,GAAI,IAG5BtE,EAFLmC,OAAOoC,SAASd,EAAIa,MAAM,EAAG,GAAI,IAEzB7B,EADRN,QAAQA,OAAOoC,SAASd,EAAIa,MAAM,EAAG,IAAM,KAAM,IAAM,KAAKE,QAAQ,OALxD,IAACf,ECjBvB,MAAMlD,EAAMR,EAAU,gBAChB0E,EAAOjD,SAASC,cAAc,OACpCgD,EAAK/C,UAAUC,IAAIpB,EAAIP,KAEvB,MAAMsB,EAAUE,SAASC,cAAc,OACvCH,EAAQI,UAAUC,IAAIpB,EAAIJ,GAAG,YAE7B,MAAMuE,EAAgBlD,SAASC,cAAc,OAC7CiD,EAAchD,UAAUC,IAAIpB,EAAIJ,GAAG,aAEnC,MAAMwE,EAAkBnD,SAASC,cAAc,OAC/CkD,EAAgBjD,UAAUC,IAAIpB,EAAIJ,GAAG,eACrCuE,EAAc7C,YAAY8C,GAE1B,MAAMC,EAAcpD,SAASC,cAAc,OAC3CmD,EAAYlD,UAAUC,IAAIpB,EAAIJ,GAAG,sBACjCwE,EAAgB9C,YAAY+C,GAE5B,MAAMC,EAAarD,SAASC,cAAc,OAC1CoD,EAAWnD,UAAUC,IAAIpB,EAAIJ,GAAG,UAEhC,MAAM2E,EAAUtD,SAASC,cAAc,OACvCqD,EAAQpD,UAAUC,IAAIpB,EAAIJ,GAAG,aAE7B,MAAM4E,EAAcvD,SAASC,cAAc,OAC3CsD,EAAYrD,UAAUC,IAAIpB,EAAIJ,GAAG,iBAEjC0E,EAAWhD,YAAYiD,GACvBD,EAAWhD,YAAYkD,GAEvB,MAAMC,EAAWxD,SAASC,cAAc,OACxCuD,EAAStD,UAAUC,IAAIpB,EAAIJ,GAAG,QAE9B,MAAM8E,EAAiBzD,SAASC,cAAc,OAC9CwD,EAAevD,UAAUC,IAAIpB,EAAIJ,GAAG,eACpC6E,EAASnD,YAAYoD,GAErB,MAAMC,EAAS1D,SAASC,cAAc,OACtCyD,EAAOxD,UAAUC,IAAIpB,EAAIJ,GAAG,WAE5B,MAAOgF,EAAaC,EAAaC,EAAaC,GAAgB,CAAC,IAAK,IAAK,IAAK,KAAeC,KAAK5B,IAChG,MAAM6B,EAAOhE,SAASC,cAAc,OACpC+D,EAAK9D,UAAUC,IAAIpB,EAAIJ,GAAG,eAAgBwD,GAE1C,MAAM8B,EAAQjE,SAASC,cAAc,SACrCgE,EAAM7D,YAAc+B,EAAI+B,cAExB,MAAMC,EAAanE,SAASC,cAAc,SAoB1C,OAnBAkE,EAAWjE,UAAUC,IAAIpB,EAAIJ,GAAG,UAEhCwF,EAAWC,iBAAiB,SAAS,KACnCD,EAAW5D,MAAQ4D,EAAW5D,MAAM8D,WAAW,UAAW,GAAG,IAE/DF,EAAWC,iBAAiB,UAAU,KACpC,IAAI7D,EAAQE,KAAKsB,MAAMpB,OAAOwD,EAAW5D,QAC7B,MAAR4B,IACF5B,GAAgB,KAGlB+D,EADexD,EAAYI,EAASqD,OAAOC,OAAO,CAAE,EAAEjD,EAASoB,GAAW,CAAER,CAACA,GAAM5B,OAEnFkE,GAAU,IAGZT,EAAK3D,YAAY4D,GACjBD,EAAK3D,YAAY8D,GACjBT,EAAOrD,YAAY2D,GAEZG,CAAU,IAGnBrE,EAAQO,YAAYmD,GACpB1D,EAAQO,YAAY6C,GACpBpD,EAAQO,YAAYgD,GACpBJ,EAAK5C,YAAYP,GACjBmD,EAAK5C,YAAYqD,GAEjB,IAAIgB,GAAgB,EAChBC,GAAc,EACdC,GAAgB,EAEpB,SAASC,IACP,MAAM5C,EAAMK,EAASK,GACrB,IAAK,MAAOnB,EAAGsD,IAAU,CAACnB,EAAaC,EAAaC,GAAakB,UAC/DD,EAAMvE,MAAQyE,OAAOrE,OAAOoC,SAASd,EAAQ,EAAJT,GAASS,EAAQ,EAAJT,EAAQ,GAAI,KAEpEsC,EAAYvD,MAAQyE,QAAqB,IAAbrC,EAAS1B,GAAS+B,QAAQ,GACvD,CAyBD,SAASyB,IAvBPF,OAAOC,OAAOpB,EAAY6B,MAAO,CAC/BC,KAAM,GAAGzE,KAAKgB,MAAOe,EAAeG,EAAS1D,EAAK,SAClDkG,IAAK,GAAG1E,KAAKgB,MAAOgB,GAAiB,IAAME,EAASnE,GAAM,WAI5D0E,EAAc+B,MAAMG,gBAAkB,IAAIpD,EAAST,EAAS,CAC1DP,EAAG2B,EAAS3B,EACZ/B,EAAG,IACHT,EAAG,IACHyC,EAAG,OAILwC,EAAewB,MAAME,IAAM,GAAG1E,KAAKgB,MAAMgB,EAAiBA,EAAgBE,EAAS3B,EAAK,SAGxFuC,EAAY0B,MAAMC,KAAuB,IAAbvC,EAAS1B,EAAZ,IAE3B,WACE,MAAMG,EAAEA,EAACC,EAAEA,EAAC7C,EAAEA,GAAM+C,EAASoB,GAC7BW,EAAQ2B,MAAMI,WAAa,kCAAkCjE,MAAMC,MAAM7C,kBAAkB4C,MAAMC,MAAM7C,aACxG,CAMC8G,GACAT,GACD,CACD,SAASP,EAAY/D,GACnBoC,EAAW7B,EAAYyD,OAAOC,OAAO,CAAA,EAAI7B,EAAUpC,IAEnDsE,IAEIjF,EAAQ2F,UACV3F,EAAQ2F,SAAS,IAAIjD,EAASK,KAEjC,CAED,SAAS6C,EAAUC,GACjB,MAAMC,EAAOxC,EAAcyC,wBACrBR,EAAMO,EAAKP,KAAOS,OAAOC,aAAe7F,SAAS8F,gBAAgBC,WAAa/F,SAASgG,KAAKD,WAAa,GACzGb,EAAOQ,EAAKR,KAAOlF,SAASgG,KAAKC,WAIvC3B,EAAY,CACVrF,EAJiBwB,KAAKgB,MAAO,IAAMhB,KAAKD,IAAI,EAAGC,KAAKC,IAAI8B,EAAciD,EAAMS,MAAQhB,IAAU1C,GAK9FhE,EAJiBiC,KAAKgB,MAAO,KAAOgB,EAAgBhC,KAAKD,IAAI,EAAGC,KAAKC,IAAI+B,EAAegD,EAAMU,MAAQhB,KAAU1C,KAMlHgC,GACD,CACD,SAAS2B,EAAQX,GACf,MAAMN,EAAM3B,EAASmC,wBAAwBR,KAAOS,OAAOC,aAAe7F,SAAS8F,gBAAgBC,WAAa/F,SAASgG,KAAKD,WAAa,GAE3IzB,EAAY,CACVtD,EAAGP,KAAKgB,MAAO,KAAOgB,EAAgBhC,KAAKD,IAAI,EAAGC,KAAKC,IAAI+B,EAAegD,EAAMU,MAAQhB,KAAU1C,KAEpGgC,GACD,CACD,SAAS4B,EAAUZ,GACjB,MAAMS,MAAEA,GAAUT,EACZC,EAAOrC,EAAWsC,wBACxB,IAAIT,EAAOgB,EAAQR,EAAKR,KACxBA,EAAOzE,KAAKD,IAAIkC,EAAgB,EAAGwC,GACnCA,EAAOzE,KAAKC,IAAIwE,EAAMQ,EAAKY,MAAQ5D,EAAgB,GAEnD4B,EAAY,CACVrD,EAAGR,KAAKsB,OAAQmD,EAAO,IAAWQ,EAAKY,MAAQ,IAAO,KAAO,MAE/D7B,GACD,CAED,SAAS8B,EAAOd,GACVf,IACFe,EAAMe,iBACNhB,EAAUC,IAGRd,IACFc,EAAMe,iBACNJ,EAAQX,IAGNb,IACFa,EAAMe,iBACNH,EAAUZ,GAEb,CAED,SAASgB,IACPzG,SAAS0G,oBAAoB,YAAaH,GAC1CvG,SAAS0G,oBAAoB,UAAWD,GACxC/B,GAAgB,CACjB,CASD,SAASiC,IACP3G,SAAS0G,oBAAoB,YAAaH,GAC1CvG,SAAS0G,oBAAoB,UAAWC,GACxChC,GAAc,CACf,CASD,SAASiC,IACP5G,SAAS0G,oBAAoB,YAAaH,GAC1CvG,SAAS0G,oBAAoB,UAAWE,GACxChC,GAAgB,CACjB,CAUD,OA7BA1B,EAAckB,iBAAiB,aAN/B,SAAkCxF,GAChCoB,SAASoE,iBAAiB,YAAamC,GACvCvG,SAASoE,iBAAiB,UAAWqC,GACrC/B,GAAgB,EAChBc,EAAU5G,EACX,IAcD4E,EAASY,iBAAiB,aAN1B,SAA6BqB,GAC3BzF,SAASoE,iBAAiB,YAAamC,GACvCvG,SAASoE,iBAAiB,UAAWuC,GACrChC,GAAc,EACdyB,EAAQX,EACT,IAcDpC,EAAWe,iBAAiB,aAN5B,SAA+BqB,GAC7BzF,SAASoE,iBAAiB,YAAamC,GACvCvG,SAASoE,iBAAiB,UAAWwC,GACrChC,GAAgB,EAChByB,EAAUZ,EACX,IAGDhB,IACOxB,CAAI,ECnOb,IAAI4D,EAAS,IACN,MAAMC,EAAe,EAAGC,QAAOC,SAAShH,SAASgG,KAAMiB,cAAc,QAA4B,MACtG,MAAMlI,EAAMR,EAAU,UAChB2I,EAAWF,EACXG,EAASnH,SAASC,cAAc,OACtCkH,EAAOjH,UAAUC,IAAIpB,EAAIP,KACzB2I,EAAOlC,MAAMmC,OAASpC,OAAO6B,GAC7B,MAAMQ,EAAUrH,SAASC,cAAc,OAGvC,GAFAoH,EAAQnH,UAAUC,IAAIpB,EAAIJ,GAAG,YAC7BwI,EAAO9G,YAAYgH,GACfN,EAAO,CACT,MAAMjH,EAAUE,SAASC,cAAc,OACvCH,EAAQI,UAAUC,IAAIpB,EAAIJ,GAAG,YAC7BmB,EAAQO,YAAY0G,GACpBM,EAAQhH,YAAYP,GACpBA,EAAQsE,iBAAiB,SAAUxF,IACjCA,EAAE0I,iBAAiB,GAEtB,CAED,MAAMC,EAAiBC,iBAAiBN,GAAUO,SAClDP,EAASjC,MAAMwC,SAAW,SAE1BP,EAAS7G,YAAY8G,GACrB,MAAMO,EAAQ,KACZT,IACAE,EAAOQ,SACPT,EAASjC,MAAMwC,SAAWF,CAAc,EAK1C,OAHAJ,EAAO/C,iBAAiB,QAASsD,GACjCb,GAAU,EAEH,CAAEM,SAAQO,QAAO,EC9BbE,EAAkB,CAAC3D,EAAerE,KAC7C,MAAMb,EAAMR,EAAU,SACtBqB,EAAQC,OAASD,EAAQC,KAAO,QAChCD,EAAQW,QAAUX,EAAQW,MAAQ,IAElC,MAAMsH,EAAY7H,SAASC,cAAc,OAGzC,GAFA4H,EAAU3H,UAAUC,IAAIpB,EAAIJ,GAAG,SAE3BsF,EAAO,CACT,MAAM6D,EAAa9H,SAASC,cAAc,QAC1C6H,EAAW5H,UAAUC,IAAIpB,EAAIJ,GAAG,UAChCmJ,EAAW1H,YAAc6D,EACzB4D,EAAUxH,YAAYyH,EACvB,CAED,MAAMC,EAAa/H,SAASC,cAAc,OAC1C8H,EAAW7H,UAAUC,IAAIpB,EAAIJ,GAAG,UAChC,MAAMmG,EAAQ9E,SAASC,cAAc,SACrC,IAAK,MAAMkC,KAAOvC,EAChBkF,EAAMkD,aAAa7F,EAAKvC,EAAQuC,KAE9BvC,EAAQY,KAAOZ,EAAQc,MACzBoE,EAAMV,iBAAiB,QAAQ,KACzBxE,EAAQY,KAAOZ,EAAQY,KAAOG,OAAOmE,EAAMvE,SAC7CuE,EAAMvE,MAAQyE,OAAOpF,EAAQY,MAE3BZ,EAAQc,KAAOd,EAAQc,KAAOC,OAAOmE,EAAMvE,SAC7CuE,EAAMvE,MAAQyE,OAAOpF,EAAQc,KAC9B,IAILqH,EAAW1H,YAAYyE,GACvB+C,EAAUxH,YAAY0H,GAEtBjD,EAAMV,iBAAiB,SAAS,KAC9B2D,EAAW7H,UAAUC,IAAI,QAAQ,IAEnC2E,EAAMV,iBAAiB,QAAQ,KAC7B2D,EAAW7H,UAAUyH,OAAO,QAAQ,IAwBtC,MAAO,CAAE3D,KAAM6D,EAAW/C,QAAOmD,SArBfC,IAChB,IAAID,EACAF,EAAW7H,UAAUiI,SAAS,SAChCF,EAAWF,EAAWK,cAAc,IAAIrJ,EAAIJ,GAAG,iBAG/CsJ,EAAWjI,SAASC,cAAc,QAClCgI,EAAS/H,UAAUC,IAAIpB,EAAIJ,GAAG,cAC9BoJ,EAAW1H,YAAY4H,IAGzBA,EAAS7H,YAAc8H,EACvBH,EAAW7H,UAAUC,IAAI,SAMzB,MAAO,CAAEkI,YAJW,KAClBN,EAAW7H,UAAUyH,OAAO,SAC5BM,EAASN,QAAQ,EAEG,EAGmB,EC7DhCW,EAAkB,CAAC1I,EAAuC,MACrE,MAAMb,EAAMR,EAAU,cAChBgK,EAAYvI,SAASC,cAAc,OACzCsI,EAAUrI,UAAUC,IAAIpB,EAAIP,KAE5B,MAAMgK,EAAcxI,SAASC,cAAc,OAC3CuI,EAAYtI,UAAUC,IAAIpB,EAAIJ,GAAG,UACjC,IAAK,IAAIyC,EAAI,EAAGA,GAAKxB,EAAQ6I,KAAO,GAAIrH,IACtC,IAAK,IAAIsH,EAAI,EAAGA,GAAK9I,EAAQ+I,KAAO,GAAID,IAAK,CAC3C,MAAME,EAAa5I,SAASC,cAAc,OAC1C2I,EAAW1I,UAAUC,IAAIpB,EAAIJ,GAAG,SAChCiK,EAAWC,QAAQJ,IAAMzD,OAAO5D,EAAI,GACpCwH,EAAWC,QAAQF,IAAM3D,OAAO0D,EAAI,GACpCF,EAAYnI,YAAYuI,EACzB,CAEH,MAAME,EAAyB,KAC7B,MAAML,IAAEA,EAAGE,IAAEA,GAAQJ,EAAUM,QAC/B,IAAK,MAAM7E,KAAQvE,MAAMsJ,KAAKP,EAAYQ,iBAAiB,YACzDhF,EAAK9D,UAAUyH,OAAO,UAExB,IAAKc,IAAQE,EAAK,OAClB,MAAMM,EAASxJ,MAAMsJ,KAAKP,EAAYU,UACtC,IAAK,IAAI1H,EAAI,EAAGA,EAAIyH,EAAO7G,OAAQZ,IAAK,CACtC,MAAQiH,IAAKU,EAAUR,IAAKS,GAAaH,EAAOzH,GAAGqH,QACnD,GAAIM,EAAYV,GAAOW,EAAYT,EACjC,OAEEQ,GAAaV,GAAOW,GAAaT,EACnCM,EAAOzH,GAAGtB,UAAUC,IAAI,UAGxB8I,EAAOzH,GAAGtB,UAAUyH,OAAO,SAE9B,GAsBH,GApBAa,EAAYpE,iBAAiB,aAAcxF,IACzC,IAAKA,EAAEoI,OAAQ,OACf,MAAMyB,IAAEA,EAAGE,IAAEA,GAAS/J,EAAEoI,OAAuB6B,QAC1CJ,GAAQE,IACbJ,EAAUM,QAAQJ,IAAMA,EACxBF,EAAUM,QAAQF,IAAMA,EACxBG,IAAwB,IAE1BN,EAAYpE,iBAAiB,cAAc,KACzCmE,EAAUc,gBAAgB,YAC1Bd,EAAUc,gBAAgB,YAC1BP,GAAwB,IAE1BN,EAAYpE,iBAAiB,SAAS,KACpC,MAAMqE,IAAEA,EAAGE,IAAEA,GAAQJ,EAAUM,QAC1BJ,GAAQE,GACb/I,EAAQ0J,UAAY1J,EAAQ0J,SAAS3I,OAAO8H,GAAM9H,OAAOgI,GAAK,IAEhEJ,EAAUlI,YAAYmI,GAElB5I,EAAQ2J,UAAW,CACrB,MAAMC,EAAQ5J,EAAQ4J,OAAS,GACzBC,EAAezJ,SAASC,cAAc,OAC5CwJ,EAAavJ,UAAUC,IAAIpB,EAAIJ,GAAG,WAClC8K,EAAarJ,YAAcoJ,EAAME,eAAiB,SAClDD,EAAarF,iBAAiB,SAASuF,UACrC,MAAMC,OC/DoBD,OAAO/J,EAAwC,MAC7E,MAAMb,EAAMR,EAAU,iBAChBsL,EAAM7J,SAASC,cAAc,OACnC4J,EAAI3J,UAAUC,IAAIpB,EAAIP,KACtB,MAAMsL,EAAe9J,SAASC,cAAc,OAC5C6J,EAAa5J,UAAUC,IAAIpB,EAAIJ,GAAG,UAElC,MACEqF,KAAM+F,EACNjF,MAAOkF,EACP/B,SAAUgC,GACRrC,EAAgBhI,EAAQsK,SAAW,MAAO,CAAErK,KAAM,SAAUU,MAAOyE,OAAOpF,EAAQ6I,KAAO,IAAKjI,IAAK,MAErGwD,KAAMmG,EACNrF,MAAOsF,EACPnC,SAAUoC,GACRzC,EAAgBhI,EAAQ0K,SAAW,SAAU,CAAEzK,KAAM,SAAUU,MAAOyE,OAAOpF,EAAQ+I,KAAO,IAAKnI,IAAK,KAE1GsJ,EAAazJ,YAAY0J,GACzBD,EAAazJ,YAAY8J,GACzBN,EAAIxJ,YAAYyJ,GAEhB,MAAMS,EAAUvK,SAASC,cAAc,OACvCsK,EAAQrK,UAAUC,IAAIpB,EAAIJ,GAAG,YAE7B,MAAM6L,EAAa7K,EAAa,CAAEE,KAAM,UAAWC,QAASF,EAAQ6K,aAAe,YAC7EC,EAAY/K,EAAa,CAAEE,KAAM,UAAWC,QAASF,EAAQ+K,YAAc,WAEjFJ,EAAQlK,YAAYmK,GACpBD,EAAQlK,YAAYqK,GACpBb,EAAIxJ,YAAYkK,GAEhB,MAAMK,EAAgB,CAACnC,EAAc9H,OAAOqJ,EAASzJ,OAAQoI,EAAchI,OAAOyJ,EAAS7J,UACzF,GAAII,OAAOkK,MAAMpC,IAAQA,GAAO,EAC9BwB,EAAYrK,EAAQkL,wBAA0B,uCADhD,CAIA,KAAInK,OAAOkK,MAAMlC,IAAQA,GAAO,GAIhC,MAAO,CAAEF,MAAKE,OAHZ0B,EAAYzK,EAAQkL,wBAA0B,kCAF/C,CAKkB,EAEfC,EAAiBnM,IACP,WAAVA,EAAEuD,MACJuF,QACA1H,SAAS0G,oBAAoB,UAAWqE,GACzC,EAGH,OAAO,IAAIC,SAAsC,CAACC,EAASC,KACzD,MAAMxD,MAAEA,GAAUZ,EAAa,CAAEC,MAAO8C,EAAK5C,YAAaiE,IAC1DlB,EAASmB,QAET,IAAK,MAAMrG,IAAS,CAACkF,EAAUI,GAC7BtF,EAAMV,iBAAiB,WAAYxF,IACjC,GAAc,UAAVA,EAAEuD,IAAiB,CACrB,MAAMiJ,EAASR,IACXQ,IACFH,EAAQG,GACR1D,IAEH,KAGL8C,EAAWpG,iBAAiB,SAASuF,UACnC,MAAMyB,EAASR,IACXQ,IACFH,EAAQG,GACR1D,IACD,IAEH1H,SAASoE,iBAAiB,UAAW2G,GACrCL,EAAUtG,iBAAiB,QAASsD,EAAM,GAC1C,EDXoB2D,CAAiB7B,GAC/BI,GACFhK,EAAQ0J,UAAY1J,EAAQ0J,SAASM,EAAInB,IAAKmB,EAAIjB,IACnD,IAEHJ,EAAUlI,YAAYoJ,EACvB,CAED,OAAOlB,CAAS,EEzEZ7H,EAAMD,KAAKC,IACXF,EAAMC,KAAKD,IACXuB,EAAQtB,KAAKsB,MACbN,EAAQhB,KAAKgB,MACb6J,EAAelM,IAAM,CACzBmM,EAAGnM,EACHoM,EAAGpM,IAECqM,EAAkB,CACtBvG,KAAM,QACNwG,MAAO,OACPC,OAAQ,MACRxG,IAAK,UAEDyG,EAAuB,CAC3BC,MAAO,MACPC,IAAK,SAEP,SAASC,EAAMF,EAAOtL,EAAOuL,GAC3B,OAAOtL,EAAIqL,EAAOnL,EAAIH,EAAOuL,GAC/B,CACA,SAASE,EAASzL,EAAO0L,GACvB,MAAwB,mBAAV1L,EAAuBA,EAAM0L,GAAS1L,CACtD,CACA,SAAS2L,EAAQC,GACf,OAAOA,EAAUC,MAAM,KAAK,EAC9B,CACA,SAASC,EAAaF,GACpB,OAAOA,EAAUC,MAAM,KAAK,EAC9B,CACA,SAASE,EAAgBC,GACvB,MAAgB,MAATA,EAAe,IAAM,GAC9B,CACA,SAASC,EAAcD,GACrB,MAAgB,MAATA,EAAe,SAAW,OACnC,CACA,SAASE,EAAYN,GACnB,MAAO,CAAC,MAAO,UAAUO,SAASR,EAAQC,IAAc,IAAM,GAChE,CACA,SAASQ,EAAiBR,GACxB,OAAOG,EAAgBG,EAAYN,GACrC,CAkBA,SAASS,EAA8BT,GACrC,OAAOA,EAAUU,QAAQ,cAAcC,GAAalB,EAAqBkB,IAC3E,CA6BA,SAASC,EAAqBZ,GAC5B,OAAOA,EAAUU,QAAQ,0BAA0BG,GAAQvB,EAAgBuB,IAC7E,CAkBA,SAASC,EAAiBvH,GACxB,MAAM6F,EACJA,EAACC,EACDA,EAAClF,MACDA,EAAK4G,OACLA,GACExH,EACJ,MAAO,CACLY,QACA4G,SACA/H,IAAKqG,EACLtG,KAAMqG,EACNG,MAAOH,EAAIjF,EACXqF,OAAQH,EAAI0B,EACZ3B,IACAC,IAEJ,CCpIA,SAAS2B,EAA2BC,EAAMjB,EAAWkB,GACnD,IAAIC,UACFA,EAASC,SACTA,GACEH,EACJ,MAAMI,EAAWf,EAAYN,GACvBsB,EAAgBd,EAAiBR,GACjCuB,EAAclB,EAAciB,GAC5BT,EAAOd,EAAQC,GACfwB,EAA0B,MAAbH,EACbI,EAAUN,EAAU/B,EAAI+B,EAAUhH,MAAQ,EAAIiH,EAASjH,MAAQ,EAC/DuH,EAAUP,EAAU9B,EAAI8B,EAAUJ,OAAS,EAAIK,EAASL,OAAS,EACjEY,EAAcR,EAAUI,GAAe,EAAIH,EAASG,GAAe,EACzE,IAAIK,EACJ,OAAQf,GACN,IAAK,MACHe,EAAS,CACPxC,EAAGqC,EACHpC,EAAG8B,EAAU9B,EAAI+B,EAASL,QAE5B,MACF,IAAK,SACHa,EAAS,CACPxC,EAAGqC,EACHpC,EAAG8B,EAAU9B,EAAI8B,EAAUJ,QAE7B,MACF,IAAK,QACHa,EAAS,CACPxC,EAAG+B,EAAU/B,EAAI+B,EAAUhH,MAC3BkF,EAAGqC,GAEL,MACF,IAAK,OACHE,EAAS,CACPxC,EAAG+B,EAAU/B,EAAIgC,EAASjH,MAC1BkF,EAAGqC,GAEL,MACF,QACEE,EAAS,CACPxC,EAAG+B,EAAU/B,EACbC,EAAG8B,EAAU9B,GAGnB,OAAQa,EAAaF,IACnB,IAAK,QACH4B,EAAON,IAAkBK,GAAeT,GAAOM,GAAc,EAAI,GACjE,MACF,IAAK,MACHI,EAAON,IAAkBK,GAAeT,GAAOM,GAAc,EAAI,GAGrE,OAAOI,CACT,CAqGApE,eAAeqE,EAAeC,EAAOrO,GACnC,IAAIsO,OACY,IAAZtO,IACFA,EAAU,CAAA,GAEZ,MAAM2L,EACJA,EAACC,EACDA,EAAC2C,SACDA,EAAQC,MACRA,EAAKC,SACLA,EAAQC,SACRA,GACEL,GACEM,SACJA,EAAW,oBAAmBC,aAC9BA,EAAe,WAAUC,eACzBA,EAAiB,WAAUC,YAC3BA,GAAc,EAAKC,QACnBA,EAAU,GACR3C,EAASpM,EAASqO,GAChBW,EDpER,SAA0BD,GACxB,MAA0B,iBAAZA,EAVhB,SAA6BA,GAC3B,MAAO,CACLxJ,IAAK,EACLuG,MAAO,EACPC,OAAQ,EACRzG,KAAM,KACHyJ,EAEP,CAEuCE,CAAoBF,GAAW,CAClExJ,IAAKwJ,EACLjD,MAAOiD,EACPhD,OAAQgD,EACRzJ,KAAMyJ,EAEV,CC6DwBG,CAAiBH,GAEjCI,EAAUV,EAASK,EADa,aAAnBD,EAAgC,YAAc,WACbA,GAC9CO,EAAqB/B,QAAuBkB,EAASc,gBAAgB,CACzEF,QAAiH,OAAtGb,QAAqD,MAAtBC,EAASe,eAAoB,EAASf,EAASe,UAAUH,MAAqBb,EAAgCa,EAAUA,EAAQI,sBAAyD,MAA/BhB,EAASiB,wBAA6B,EAASjB,EAASiB,mBAAmBf,EAASd,WACxRgB,WACAC,eACAF,cAEI5I,EAA0B,aAAnB+I,EAAgC,CAC3ClD,IACAC,IACAlF,MAAO8H,EAAMb,SAASjH,MACtB4G,OAAQkB,EAAMb,SAASL,QACrBkB,EAAMd,UACJ+B,QAAkD,MAA5BlB,EAASmB,qBAA0B,EAASnB,EAASmB,gBAAgBjB,EAASd,WACpGgC,QAA4C,MAAtBpB,EAASe,eAAoB,EAASf,EAASe,UAAUG,WAA+C,MAArBlB,EAASqB,cAAmB,EAASrB,EAASqB,SAASH,KAGlK,CACF9D,EAAG,EACHC,EAAG,GAECiE,EAAoBxC,EAAiBkB,EAASuB,4DAA8DvB,EAASuB,sDAAsD,CAC/KrB,WACA3I,OACA2J,eACAf,aACG5I,GACL,MAAO,CACLP,KAAM6J,EAAmB7J,IAAMsK,EAAkBtK,IAAMyJ,EAAczJ,KAAOoK,EAAY/D,EACxFG,QAAS8D,EAAkB9D,OAASqD,EAAmBrD,OAASiD,EAAcjD,QAAU4D,EAAY/D,EACpGtG,MAAO8J,EAAmB9J,KAAOuK,EAAkBvK,KAAO0J,EAAc1J,MAAQqK,EAAYhE,EAC5FG,OAAQ+D,EAAkB/D,MAAQsD,EAAmBtD,MAAQkD,EAAclD,OAAS6D,EAAYhE,EAEpG,CCrNA,SAASoE,IACP,MAAyB,oBAAX/J,MAChB,CACA,SAASgK,EAAYC,GACnB,OAAIC,EAAOD,IACDA,EAAKE,UAAY,IAAIC,cAKxB,WACT,CACA,SAASC,EAAUJ,GACjB,IAAIK,EACJ,OAAgB,MAARL,GAA8D,OAA7CK,EAAsBL,EAAKM,oBAAyB,EAASD,EAAoBE,cAAgBxK,MAC5H,CACA,SAASwJ,EAAmBS,GAC1B,IAAIzC,EACJ,OAA0F,OAAlFA,GAAQ0C,EAAOD,GAAQA,EAAKM,cAAgBN,EAAK7P,WAAa4F,OAAO5F,eAAoB,EAASoN,EAAKtH,eACjH,CACA,SAASgK,EAAOvP,GACd,QAAKoP,MAGEpP,aAAiB8P,MAAQ9P,aAAiB0P,EAAU1P,GAAO8P,KACpE,CACA,SAASnB,EAAU3O,GACjB,QAAKoP,MAGEpP,aAAiB+P,SAAW/P,aAAiB0P,EAAU1P,GAAO+P,QACvE,CACA,SAASC,EAAchQ,GACrB,QAAKoP,MAGEpP,aAAiBiQ,aAAejQ,aAAiB0P,EAAU1P,GAAOiQ,YAC3E,CACA,SAASC,EAAalQ,GACpB,SAAKoP,KAAqC,oBAAfe,cAGpBnQ,aAAiBmQ,YAAcnQ,aAAiB0P,EAAU1P,GAAOmQ,WAC1E,CACA,SAASC,EAAkB5B,GACzB,MAAMtH,SACJA,EAAQmJ,UACRA,EAASC,UACTA,EAASC,QACTA,GACEtJ,GAAiBuH,GACrB,MAAO,kCAAkCgC,KAAKtJ,EAAWoJ,EAAYD,KAAe,CAAC,SAAU,YAAYlE,SAASoE,EACtH,CACA,SAASE,EAAejC,GACtB,MAAO,CAAC,QAAS,KAAM,MAAMrC,SAASkD,EAAYb,GACpD,CACA,SAASkC,EAAWlC,GAClB,MAAO,CAAC,gBAAiB,UAAUmC,MAAKC,IACtC,IACE,OAAOpC,EAAQqC,QAAQD,EACxB,CAAC,MAAOvS,GACP,OAAO,CACR,IAEL,CACA,SAASyS,EAAkBC,GACzB,MAAMC,EAASC,KACTC,EAAMvC,EAAUoC,GAAgB9J,GAAiB8J,GAAgBA,EAGvE,MAAyB,SAAlBG,EAAIC,WAA4C,SAApBD,EAAIE,eAA2BF,EAAIG,eAAsC,WAAtBH,EAAIG,gBAAwCL,KAAWE,EAAII,gBAAwC,SAAvBJ,EAAII,iBAAuCN,KAAWE,EAAIK,QAAwB,SAAfL,EAAIK,QAA8B,CAAC,YAAa,cAAe,UAAUZ,MAAK3Q,IAAUkR,EAAIM,YAAc,IAAIrF,SAASnM,MAAW,CAAC,QAAS,SAAU,SAAU,WAAW2Q,MAAK3Q,IAAUkR,EAAIO,SAAW,IAAItF,SAASnM,IAC7b,CAaA,SAASiR,KACP,QAAmB,oBAARS,MAAwBA,IAAIC,WAChCD,IAAIC,SAAS,0BAA2B,OACjD,CACA,SAASC,GAAsBtC,GAC7B,MAAO,CAAC,OAAQ,OAAQ,aAAanD,SAASkD,EAAYC,GAC5D,CACA,SAASrI,GAAiBuH,GACxB,OAAOkB,EAAUlB,GAASvH,iBAAiBuH,EAC7C,CACA,SAASqD,GAAcrD,GACrB,OAAIG,EAAUH,GACL,CACL9I,WAAY8I,EAAQ9I,WACpBF,UAAWgJ,EAAQhJ,WAGhB,CACLE,WAAY8I,EAAQsD,QACpBtM,UAAWgJ,EAAQuD,QAEvB,CACA,SAASC,GAAc1C,GACrB,GAA0B,SAAtBD,EAAYC,GACd,OAAOA,EAET,MAAMzE,EAENyE,EAAK2C,cAEL3C,EAAK4C,YAELhC,EAAaZ,IAASA,EAAK6C,MAE3BtD,EAAmBS,GACnB,OAAOY,EAAarF,GAAUA,EAAOsH,KAAOtH,CAC9C,CACA,SAASuH,GAA2B9C,GAClC,MAAM4C,EAAaF,GAAc1C,GACjC,OAAIsC,GAAsBM,GACjB5C,EAAKM,cAAgBN,EAAKM,cAAcnK,KAAO6J,EAAK7J,KAEzDuK,EAAckC,IAAe9B,EAAkB8B,GAC1CA,EAEFE,GAA2BF,EACpC,CACA,SAASG,GAAqB/C,EAAMgD,EAAMC,GACxC,IAAIC,OACS,IAATF,IACFA,EAAO,SAEe,IAApBC,IACFA,GAAkB,GAEpB,MAAME,EAAqBL,GAA2B9C,GAChDoD,EAASD,KAAuE,OAA9CD,EAAuBlD,EAAKM,oBAAyB,EAAS4C,EAAqB/M,MACrHkN,EAAMjD,EAAU+C,GACtB,GAAIC,EAAQ,CACV,MAAME,EAAeC,GAAgBF,GACrC,OAAOL,EAAKQ,OAAOH,EAAKA,EAAII,gBAAkB,GAAI3C,EAAkBqC,GAAsBA,EAAqB,GAAIG,GAAgBL,EAAkBF,GAAqBO,GAAgB,GAC3L,CACD,OAAON,EAAKQ,OAAOL,EAAoBJ,GAAqBI,EAAoB,GAAIF,GACtF,CACA,SAASM,GAAgBF,GACvB,OAAOA,EAAIK,QAAUhP,OAAOiP,eAAeN,EAAIK,QAAUL,EAAIC,aAAe,IAC9E,CCjJA,SAASM,GAAiB1E,GACxB,MAAM0C,EAAMjK,GAAiBuH,GAG7B,IAAIzI,EAAQ1F,WAAW6Q,EAAInL,QAAU,EACjC4G,EAAStM,WAAW6Q,EAAIvE,SAAW,EACvC,MAAMwG,EAAYnD,EAAcxB,GAC1B4E,EAAcD,EAAY3E,EAAQ4E,YAAcrN,EAChDsN,EAAeF,EAAY3E,EAAQ6E,aAAe1G,EAClD2G,EAAiB9R,EAAMuE,KAAWqN,GAAe5R,EAAMmL,KAAY0G,EAKzE,OAJIC,IACFvN,EAAQqN,EACRzG,EAAS0G,GAEJ,CACLtN,QACA4G,SACA4G,EAAGD,EAEP,CAEA,SAASE,GAAchF,GACrB,OAAQG,EAAUH,GAAoCA,EAAzBA,EAAQI,cACvC,CAEA,SAASK,GAAST,GAChB,MAAMiF,EAAaD,GAAchF,GACjC,IAAKwB,EAAcyD,GACjB,OAAO1I,EAAa,GAEtB,MAAM5F,EAAOsO,EAAWrO,yBAClBW,MACJA,EAAK4G,OACLA,EAAM4G,EACNA,GACEL,GAAiBO,GACrB,IAAIzI,GAAKuI,EAAI/R,EAAM2D,EAAKY,OAASZ,EAAKY,OAASA,EAC3CkF,GAAKsI,EAAI/R,EAAM2D,EAAKwH,QAAUxH,EAAKwH,QAAUA,EAUjD,OANK3B,GAAM5K,OAAOsT,SAAS1I,KACzBA,EAAI,GAEDC,GAAM7K,OAAOsT,SAASzI,KACzBA,EAAI,GAEC,CACLD,IACAC,IAEJ,CAEA,MAAM0I,GAAyB5I,EAAa,GAC5C,SAAS6I,GAAiBpF,GACxB,MAAMmE,EAAMjD,EAAUlB,GACtB,OAAKyC,MAAe0B,EAAII,eAGjB,CACL/H,EAAG2H,EAAII,eAAec,WACtB5I,EAAG0H,EAAII,eAAee,WAJfH,EAMX,CAWA,SAASvO,GAAsBoJ,EAASuF,EAAcC,EAAiBlF,QAChD,IAAjBiF,IACFA,GAAe,QAEO,IAApBC,IACFA,GAAkB,GAEpB,MAAMC,EAAazF,EAAQpJ,wBACrBqO,EAAaD,GAAchF,GACjC,IAAI0F,EAAQnJ,EAAa,GACrBgJ,IACEjF,EACEH,EAAUG,KACZoF,EAAQjF,GAASH,IAGnBoF,EAAQjF,GAAST,IAGrB,MAAM2F,EA7BR,SAAgC3F,EAAS4F,EAASC,GAIhD,YAHgB,IAAZD,IACFA,GAAU,MAEPC,GAAwBD,GAAWC,IAAyB3E,EAAUlB,KAGpE4F,CACT,CAqBwBE,CAAuBb,EAAYO,EAAiBlF,GAAgB8E,GAAiBH,GAAc1I,EAAa,GACtI,IAAIC,GAAKiJ,EAAWtP,KAAOwP,EAAcnJ,GAAKkJ,EAAMlJ,EAChDC,GAAKgJ,EAAWrP,IAAMuP,EAAclJ,GAAKiJ,EAAMjJ,EAC/ClF,EAAQkO,EAAWlO,MAAQmO,EAAMlJ,EACjC2B,EAASsH,EAAWtH,OAASuH,EAAMjJ,EACvC,GAAIwI,EAAY,CACd,MAAMd,EAAMjD,EAAU+D,GAChBc,EAAYzF,GAAgBH,EAAUG,GAAgBY,EAAUZ,GAAgBA,EACtF,IAAI0F,EAAa7B,EACb8B,EAAgB5B,GAAgB2B,GACpC,KAAOC,GAAiB3F,GAAgByF,IAAcC,GAAY,CAChE,MAAME,EAAczF,GAASwF,GACvBE,EAAaF,EAAcrP,wBAC3B8L,EAAMjK,GAAiBwN,GACvB9P,EAAOgQ,EAAWhQ,MAAQ8P,EAAcG,WAAavU,WAAW6Q,EAAI2D,cAAgBH,EAAY1J,EAChGpG,EAAM+P,EAAW/P,KAAO6P,EAAcK,UAAYzU,WAAW6Q,EAAI6D,aAAeL,EAAYzJ,EAClGD,GAAK0J,EAAY1J,EACjBC,GAAKyJ,EAAYzJ,EACjBlF,GAAS2O,EAAY1J,EACrB2B,GAAU+H,EAAYzJ,EACtBD,GAAKrG,EACLsG,GAAKrG,EACL4P,EAAa9E,EAAU+E,GACvBA,EAAgB5B,GAAgB2B,EACjC,CACF,CACD,OAAO9H,EAAiB,CACtB3G,QACA4G,SACA3B,IACAC,KAEJ,CAIA,SAAS+J,GAAoBxG,EAASrJ,GACpC,MAAM8P,EAAapD,GAAcrD,GAAS9I,WAC1C,OAAKP,EAGEA,EAAKR,KAAOsQ,EAFV7P,GAAsByJ,EAAmBL,IAAU7J,KAAOsQ,CAGrE,CAEA,SAASC,GAAc3P,EAAiB4P,EAAQC,QACrB,IAArBA,IACFA,GAAmB,GAErB,MAAMC,EAAW9P,EAAgBH,wBAKjC,MAAO,CACL4F,EALQqK,EAAS1Q,KAAOwQ,EAAOzP,YAAc0P,EAAmB,EAElEJ,GAAoBzP,EAAiB8P,IAInCpK,EAHQoK,EAASzQ,IAAMuQ,EAAO3P,UAKlC,CA6GA,SAAS8P,GAAkC9G,EAAS+G,EAAkBxH,GACpE,IAAI5I,EACJ,GAAyB,aAArBoQ,EACFpQ,EA7CJ,SAAyBqJ,EAAST,GAChC,MAAM4E,EAAMjD,EAAUlB,GAChBgH,EAAO3G,EAAmBL,GAC1BuE,EAAiBJ,EAAII,eAC3B,IAAIhN,EAAQyP,EAAKC,YACb9I,EAAS6I,EAAKE,aACd1K,EAAI,EACJC,EAAI,EACR,GAAI8H,EAAgB,CAClBhN,EAAQgN,EAAehN,MACvB4G,EAASoG,EAAepG,OACxB,MAAMgJ,EAAsB1E,OACvB0E,GAAuBA,GAAoC,UAAb5H,KACjD/C,EAAI+H,EAAec,WACnB5I,EAAI8H,EAAee,UAEtB,CACD,MAAO,CACL/N,QACA4G,SACA3B,IACAC,IAEJ,CAsBW2K,CAAgBpH,EAAST,QAC3B,GAAyB,aAArBwH,EACTpQ,EAlEJ,SAAyBqJ,GACvB,MAAMgH,EAAO3G,EAAmBL,GAC1B2G,EAAStD,GAAcrD,GACvB/I,EAAO+I,EAAQoB,cAAcnK,KAC7BM,EAAQ9F,EAAIuV,EAAKK,YAAaL,EAAKC,YAAahQ,EAAKoQ,YAAapQ,EAAKgQ,aACvE9I,EAAS1M,EAAIuV,EAAKM,aAAcN,EAAKE,aAAcjQ,EAAKqQ,aAAcrQ,EAAKiQ,cACjF,IAAI1K,GAAKmK,EAAOzP,WAAasP,GAAoBxG,GACjD,MAAMvD,GAAKkK,EAAO3P,UAIlB,MAHyC,QAArCyB,GAAiBxB,GAAMsQ,YACzB/K,GAAK/K,EAAIuV,EAAKC,YAAahQ,EAAKgQ,aAAe1P,GAE1C,CACLA,QACA4G,SACA3B,IACAC,IAEJ,CAiDW+K,CAAgBnH,EAAmBL,SACrC,GAAIG,EAAU4G,GACnBpQ,EAvBJ,SAAoCqJ,EAAST,GAC3C,MAAMkG,EAAa7O,GAAsBoJ,GAAS,EAAmB,UAAbT,GAClDnJ,EAAMqP,EAAWrP,IAAM4J,EAAQsG,UAC/BnQ,EAAOsP,EAAWtP,KAAO6J,EAAQoG,WACjCV,EAAQlE,EAAcxB,GAAWS,GAAST,GAAWzD,EAAa,GAKxE,MAAO,CACLhF,MALYyI,EAAQiH,YAAcvB,EAAMlJ,EAMxC2B,OALa6B,EAAQkH,aAAexB,EAAMjJ,EAM1CD,EALQrG,EAAOuP,EAAMlJ,EAMrBC,EALQrG,EAAMsP,EAAMjJ,EAOxB,CAQWgL,CAA2BV,EAAkBxH,OAC/C,CACL,MAAMoG,EAAgBP,GAAiBpF,GACvCrJ,EAAO,CACL6F,EAAGuK,EAAiBvK,EAAImJ,EAAcnJ,EACtCC,EAAGsK,EAAiBtK,EAAIkJ,EAAclJ,EACtClF,MAAOwP,EAAiBxP,MACxB4G,OAAQ4I,EAAiB5I,OAE5B,CACD,OAAOD,EAAiBvH,EAC1B,CACA,SAAS+Q,GAAyB1H,EAAS2H,GACzC,MAAMjE,EAAaF,GAAcxD,GACjC,QAAI0D,IAAeiE,IAAaxH,EAAUuD,IAAeN,GAAsBM,MAG9B,UAA1CjL,GAAiBiL,GAAYkE,UAAwBF,GAAyBhE,EAAYiE,GACnG,CA2EA,SAASE,GAA8B7H,EAASM,EAAcf,GAC5D,MAAMuI,EAA0BtG,EAAclB,GACxCvJ,EAAkBsJ,EAAmBC,GACrCsF,EAAuB,UAAbrG,EACV5I,EAAOC,GAAsBoJ,GAAS,EAAM4F,EAAStF,GAC3D,IAAIqG,EAAS,CACXzP,WAAY,EACZF,UAAW,GAEb,MAAM+Q,EAAUxL,EAAa,GAC7B,GAAIuL,IAA4BA,IAA4BlC,EAI1D,IAHkC,SAA9B/E,EAAYP,IAA4BsB,EAAkB7K,MAC5D4P,EAAStD,GAAc/C,IAErBwH,EAAyB,CAC3B,MAAME,EAAapR,GAAsB0J,GAAc,EAAMsF,EAAStF,GACtEyH,EAAQvL,EAAIwL,EAAWxL,EAAI8D,EAAa8F,WACxC2B,EAAQtL,EAAIuL,EAAWvL,EAAI6D,EAAagG,SACzC,MAAUvP,IAGTgR,EAAQvL,EAAIgK,GAAoBzP,IAGpC,MAAMkR,GAAalR,GAAoB+Q,GAA4BlC,EAAmDrJ,EAAa,GAAtDmK,GAAc3P,EAAiB4P,GAG5G,MAAO,CACLnK,EAHQ7F,EAAKR,KAAOwQ,EAAOzP,WAAa6Q,EAAQvL,EAAIyL,EAAWzL,EAI/DC,EAHQ9F,EAAKP,IAAMuQ,EAAO3P,UAAY+Q,EAAQtL,EAAIwL,EAAWxL,EAI7DlF,MAAOZ,EAAKY,MACZ4G,OAAQxH,EAAKwH,OAEjB,CAEA,SAAS+J,GAAmBlI,GAC1B,MAA8C,WAAvCvH,GAAiBuH,GAAS4H,QACnC,CAEA,SAASO,GAAoBnI,EAASoI,GACpC,IAAK5G,EAAcxB,IAAmD,UAAvCvH,GAAiBuH,GAAS4H,SACvD,OAAO,KAET,GAAIQ,EACF,OAAOA,EAASpI,GAElB,IAAIqI,EAAkBrI,EAAQM,aAS9B,OAHID,EAAmBL,KAAaqI,IAClCA,EAAkBA,EAAgBjH,cAAcnK,MAE3CoR,CACT,CAIA,SAAS9H,GAAgBP,EAASoI,GAChC,MAAMjE,EAAMjD,EAAUlB,GACtB,GAAIkC,EAAWlC,GACb,OAAOmE,EAET,IAAK3C,EAAcxB,GAAU,CAC3B,IAAIsI,EAAkB9E,GAAcxD,GACpC,KAAOsI,IAAoBlF,GAAsBkF,IAAkB,CACjE,GAAInI,EAAUmI,KAAqBJ,GAAmBI,GACpD,OAAOA,EAETA,EAAkB9E,GAAc8E,EACjC,CACD,OAAOnE,CACR,CACD,IAAI7D,EAAe6H,GAAoBnI,EAASoI,GAChD,KAAO9H,GAAgB2B,EAAe3B,IAAiB4H,GAAmB5H,IACxEA,EAAe6H,GAAoB7H,EAAc8H,GAEnD,OAAI9H,GAAgB8C,GAAsB9C,IAAiB4H,GAAmB5H,KAAkBgC,EAAkBhC,GACzG6D,EAEF7D,GDtXT,SAA4BN,GAC1B,IAAIuI,EAAc/E,GAAcxD,GAChC,KAAOwB,EAAc+G,KAAiBnF,GAAsBmF,IAAc,CACxE,GAAIjG,EAAkBiG,GACpB,OAAOA,EACF,GAAIrG,EAAWqG,GACpB,OAAO,KAETA,EAAc/E,GAAc+E,EAC7B,CACD,OAAO,IACT,CC2WyBC,CAAmBxI,IAAYmE,CACxD,CAqBA,MAAM/E,GAAW,CACfuB,sDAxTF,SAA+DtC,GAC7D,IAAIiB,SACFA,EAAQ3I,KACRA,EAAI2J,aACJA,EAAYf,SACZA,GACElB,EACJ,MAAMuH,EAAuB,UAAbrG,EACVxI,EAAkBsJ,EAAmBC,GACrCmI,IAAWnJ,GAAW4C,EAAW5C,EAASd,UAChD,GAAI8B,IAAiBvJ,GAAmB0R,GAAY7C,EAClD,OAAOjP,EAET,IAAIgQ,EAAS,CACXzP,WAAY,EACZF,UAAW,GAET0O,EAAQnJ,EAAa,GACzB,MAAMwL,EAAUxL,EAAa,GACvBuL,EAA0BtG,EAAclB,GAC9C,IAAIwH,IAA4BA,IAA4BlC,MACxB,SAA9B/E,EAAYP,IAA4BsB,EAAkB7K,MAC5D4P,EAAStD,GAAc/C,IAErBkB,EAAclB,IAAe,CAC/B,MAAM0H,EAAapR,GAAsB0J,GACzCoF,EAAQjF,GAASH,GACjByH,EAAQvL,EAAIwL,EAAWxL,EAAI8D,EAAa8F,WACxC2B,EAAQtL,EAAIuL,EAAWvL,EAAI6D,EAAagG,SACzC,CAEH,MAAM2B,GAAalR,GAAoB+Q,GAA4BlC,EAAyDrJ,EAAa,GAA5DmK,GAAc3P,EAAiB4P,GAAQ,GACpH,MAAO,CACLpP,MAAOZ,EAAKY,MAAQmO,EAAMlJ,EAC1B2B,OAAQxH,EAAKwH,OAASuH,EAAMjJ,EAC5BD,EAAG7F,EAAK6F,EAAIkJ,EAAMlJ,EAAImK,EAAOzP,WAAawO,EAAMlJ,EAAIuL,EAAQvL,EAAIyL,EAAWzL,EAC3EC,EAAG9F,EAAK8F,EAAIiJ,EAAMjJ,EAAIkK,EAAO3P,UAAY0O,EAAMjJ,EAAIsL,EAAQtL,EAAIwL,EAAWxL,EAE9E,EAmRE4D,qBACAH,gBAhJF,SAAyB7B,GACvB,IAAI2B,QACFA,EAAOR,SACPA,EAAQC,aACRA,EAAYF,SACZA,GACElB,EACJ,MACMqK,EAAoB,IADoB,sBAAblJ,EAAmC0C,EAAWlC,GAAW,GAxC5F,SAAqCA,EAAS2I,GAC5C,MAAMC,EAAeD,EAAME,IAAI7I,GAC/B,GAAI4I,EACF,OAAOA,EAET,IAAIvM,EAASwH,GAAqB7D,EAAS,IAAI,GAAO+C,QAAO+F,GAAM3I,EAAU2I,IAA2B,SAApBjI,EAAYiI,KAC5FC,EAAsC,KAC1C,MAAMC,EAAwD,UAAvCvQ,GAAiBuH,GAAS4H,SACjD,IAAIW,EAAcS,EAAiBxF,GAAcxD,GAAWA,EAG5D,KAAOG,EAAUoI,KAAiBnF,GAAsBmF,IAAc,CACpE,MAAMU,EAAgBxQ,GAAiB8P,GACjCW,EAA0B5G,EAAkBiG,GAC7CW,GAAsD,UAA3BD,EAAcrB,WAC5CmB,EAAsC,OAEVC,GAAkBE,IAA4BH,GAAuCG,GAAsD,WAA3BD,EAAcrB,UAA2BmB,GAAuC,CAAC,WAAY,SAASpL,SAASoL,EAAoCnB,WAAahG,EAAkB2G,KAAiBW,GAA2BxB,GAAyB1H,EAASuI,IAG5YlM,EAASA,EAAO0G,QAAOoG,GAAYA,IAAaZ,IAGhDQ,EAAsCE,EAExCV,EAAc/E,GAAc+E,EAC7B,CAED,OADAI,EAAMS,IAAIpJ,EAAS3D,GACZA,CACT,CAWiGgN,CAA4BrJ,EAASsJ,KAAKC,IAAM,GAAGjF,OAAO9E,GACjGC,GAClD+J,EAAwBd,EAAkB,GAC1Ce,EAAef,EAAkBgB,QAAO,CAACC,EAAS5C,KACtD,MAAMpQ,EAAOmQ,GAAkC9G,EAAS+G,EAAkBxH,GAK1E,OAJAoK,EAAQvT,IAAM3E,EAAIkF,EAAKP,IAAKuT,EAAQvT,KACpCuT,EAAQhN,MAAQhL,EAAIgF,EAAKgG,MAAOgN,EAAQhN,OACxCgN,EAAQ/M,OAASjL,EAAIgF,EAAKiG,OAAQ+M,EAAQ/M,QAC1C+M,EAAQxT,KAAO1E,EAAIkF,EAAKR,KAAMwT,EAAQxT,MAC/BwT,CAAO,GACb7C,GAAkC9G,EAASwJ,EAAuBjK,IACrE,MAAO,CACLhI,MAAOkS,EAAa9M,MAAQ8M,EAAatT,KACzCgI,OAAQsL,EAAa7M,OAAS6M,EAAarT,IAC3CoG,EAAGiN,EAAatT,KAChBsG,EAAGgN,EAAarT,IAEpB,EAyHEmK,mBACAqJ,gBAxBsBhP,eAAgBiP,GACtC,MAAMC,EAAoBR,KAAK/I,iBAAmBA,GAC5CwJ,EAAkBT,KAAKU,cACvBC,QAA2BF,EAAgBF,EAAKrL,UACtD,MAAO,CACLD,UAAWsJ,GAA8BgC,EAAKtL,gBAAiBuL,EAAkBD,EAAKrL,UAAWqL,EAAKtK,UACtGf,SAAU,CACRhC,EAAG,EACHC,EAAG,EACHlF,MAAO0S,EAAmB1S,MAC1B4G,OAAQ8L,EAAmB9L,QAGjC,EAYE+L,eArRF,SAAwBlK,GACtB,OAAOtP,MAAMsJ,KAAKgG,EAAQkK,iBAC5B,EAoREF,cA1HF,SAAuBhK,GACrB,MAAMzI,MACJA,EAAK4G,OACLA,GACEuG,GAAiB1E,GACrB,MAAO,CACLzI,QACA4G,SAEJ,EAkHEsC,YACAN,YACAgK,MAdF,SAAenK,GACb,MAA+C,QAAxCvH,GAAiBuH,GAASuH,SACnC,GAoGA,SAAS6C,GAAW7L,EAAWC,EAAU6L,EAAQxZ,QAC/B,IAAZA,IACFA,EAAU,CAAA,GAEZ,MAAMyZ,eACJA,GAAiB,EAAIC,eACrBA,GAAiB,EAAIC,cACrBA,EAA0C,mBAAnBC,eAA6BC,YACpDA,EAA8C,mBAAzBC,qBAAmCC,eACxDA,GAAiB,GACf/Z,EACEga,EAAc7F,GAAczG,GAC5BuM,EAAYR,GAAkBC,EAAiB,IAAKM,EAAchH,GAAqBgH,GAAe,MAAQhH,GAAqBrF,IAAa,GACtJsM,EAAUC,SAAQ5B,IAChBmB,GAAkBnB,EAAS9T,iBAAiB,SAAUgV,EAAQ,CAC5DW,SAAS,IAEXT,GAAkBpB,EAAS9T,iBAAiB,SAAUgV,EAAO,IAE/D,MAAMY,EAAYJ,GAAeH,EAvGnC,SAAqB1K,EAASkL,GAC5B,IACIC,EADAC,EAAK,KAET,MAAMlX,EAAOmM,EAAmBL,GAChC,SAASqL,IACP,IAAIC,EACJC,aAAaJ,GACC,OAAbG,EAAMF,IAAeE,EAAIE,aAC1BJ,EAAK,IACN,CAgED,OA/DA,SAASK,EAAQC,EAAMC,QACR,IAATD,IACFA,GAAO,QAES,IAAdC,IACFA,EAAY,GAEdN,IACA,MAAMlV,KACJA,EAAIC,IACJA,EAAGmB,MACHA,EAAK4G,OACLA,GACE6B,EAAQpJ,wBAIZ,GAHK8U,GACHR,KAEG3T,IAAU4G,EACb,OAEF,MAKMtN,EAAU,CACd+a,YANelZ,EAAM0D,GAIQ,OAHZ1D,EAAMwB,EAAK+S,aAAe9Q,EAAOoB,IAGC,OAFjC7E,EAAMwB,EAAKgT,cAAgB9Q,EAAM+H,IAEuB,OAD1DzL,EAAMyD,GACyE,KAG/FwV,UAAWla,EAAI,EAAGE,EAAI,EAAGga,KAAe,GAE1C,IAAIE,GAAgB,EACpB,SAASC,EAAc9V,GACrB,MAAM+V,EAAQ/V,EAAQ,GAAGgW,kBACzB,GAAID,IAAUJ,EAAW,CACvB,IAAKE,EACH,OAAOJ,IAEJM,EAOHN,GAAQ,EAAOM,GAJfZ,EAAYc,YAAW,KACrBR,GAAQ,EAAO,KAAK,GACnB,IAIN,CACDI,GAAgB,CACjB,CAID,IACET,EAAK,IAAIT,qBAAqBmB,EAAe,IACxCjb,EAEHqD,KAAMA,EAAKkN,eAEd,CAAC,MAAOvR,GACPub,EAAK,IAAIT,qBAAqBmB,EAAejb,EAC9C,CACDua,EAAGc,QAAQlM,EACZ,CACDyL,EAAQ,GACDJ,CACT,CA6BiDc,CAAYtB,EAAaR,GAAU,KAClF,IAsBI+B,EAtBAC,GAAkB,EAClBC,EAAiB,KACjB9B,IACF8B,EAAiB,IAAI7B,gBAAepM,IAClC,IAAKkO,GAAclO,EACfkO,GAAcA,EAAWtU,SAAW4S,GAAeyB,IAGrDA,EAAeE,UAAUhO,GACzBiO,qBAAqBJ,GACrBA,EAAiBK,uBAAsB,KACrC,IAAIC,EACkC,OAArCA,EAAkBL,IAA2BK,EAAgBT,QAAQ1N,EAAS,KAGnF6L,GAAQ,IAENQ,IAAgBD,GAClB0B,EAAeJ,QAAQrB,GAEzByB,EAAeJ,QAAQ1N,IAGzB,IAAIoO,EAAchC,EAAiBhU,GAAsB2H,GAAa,KAatE,OAZIqM,GAGJ,SAASiC,IACP,MAAMC,EAAclW,GAAsB2H,IACtCqO,GAAgBE,EAAYtQ,IAAMoQ,EAAYpQ,GAAKsQ,EAAYrQ,IAAMmQ,EAAYnQ,GAAKqQ,EAAYvV,QAAUqV,EAAYrV,OAASuV,EAAY3O,SAAWyO,EAAYzO,QACtKkM,IAEFuC,EAAcE,EACdV,EAAUM,sBAAsBG,EACjC,CATCA,GAUFxC,IACO,KACL,IAAI0C,EACJjC,EAAUC,SAAQ5B,IAChBmB,GAAkBnB,EAASxR,oBAAoB,SAAU0S,GACzDE,GAAkBpB,EAASxR,oBAAoB,SAAU0S,EAAO,IAErD,MAAbY,GAAqBA,IACkB,OAAtC8B,EAAmBT,IAA2BS,EAAiBvB,aAChEc,EAAiB,KACb1B,GACF6B,qBAAqBL,EACtB,CAEL,CAmBA,MAAMY,GF0HS,SAAUnc,GAIvB,YAHgB,IAAZA,IACFA,EAAU,GAEL,CACLoc,KAAM,SACNpc,UACA,QAAMqc,CAAGhO,GACP,IAAIiO,EAAuBC,EAC3B,MAAM5Q,EACJA,EAACC,EACDA,EAACW,UACDA,EAASiQ,eACTA,GACEnO,EACEoO,QA9DZ1S,eAAoCsE,EAAOrO,GACzC,MAAMuM,UACJA,EAASgC,SACTA,EAAQE,SACRA,GACEJ,EACEZ,QAA+B,MAAlBc,EAAS+K,WAAgB,EAAS/K,EAAS+K,MAAM7K,EAASd,WACvEP,EAAOd,EAAQC,GACfW,EAAYT,EAAaF,GACzBwB,EAAwC,MAA3BlB,EAAYN,GACzBmQ,EAAgB,CAAC,OAAQ,OAAO5P,SAASM,IAAS,EAAI,EACtDuP,EAAiBlP,GAAOM,GAAc,EAAI,EAC1C6O,EAAWxQ,EAASpM,EAASqO,GAGnC,IAAIwO,SACFA,EAAQC,UACRA,EAASjP,cACTA,GACsB,iBAAb+O,EAAwB,CACjCC,SAAUD,EACVE,UAAW,EACXjP,cAAe,MACb,CACFgP,SAAUD,EAASC,UAAY,EAC/BC,UAAWF,EAASE,WAAa,EACjCjP,cAAe+O,EAAS/O,eAK1B,OAHIX,GAAsC,iBAAlBW,IACtBiP,EAA0B,QAAd5P,GAAuC,EAAjBW,EAAqBA,GAElDE,EAAa,CAClBpC,EAAGmR,EAAYH,EACf/Q,EAAGiR,EAAWH,GACZ,CACF/Q,EAAGkR,EAAWH,EACd9Q,EAAGkR,EAAYH,EAEnB,CAwB+BI,CAAqB1O,EAAOrO,GAIrD,OAAIuM,KAAkE,OAAlD+P,EAAwBE,EAAeL,aAAkB,EAASG,EAAsB/P,YAAgE,OAAjDgQ,EAAwBC,EAAeQ,QAAkBT,EAAsBU,gBACjM,GAEF,CACLtR,EAAGA,EAAI8Q,EAAW9Q,EAClBC,EAAGA,EAAI6Q,EAAW7Q,EAClBoN,KAAM,IACDyD,EACHlQ,aAGL,EAEL,EE3IM2Q,GFkJQ,SAAUld,GAItB,YAHgB,IAAZA,IACFA,EAAU,CAAA,GAEL,CACLoc,KAAM,QACNpc,UACA,QAAMqc,CAAGhO,GACP,MAAM1C,EACJA,EAACC,EACDA,EAACW,UACDA,GACE8B,GAEFwO,SAAUM,GAAgB,EAC1BL,UAAWM,GAAiB,EAAKC,QACjCA,EAAU,CACRhB,GAAI7O,IACF,IAAI7B,EACFA,EAACC,EACDA,GACE4B,EACJ,MAAO,CACL7B,IACAC,IACD,MAGF0R,GACDlR,EAASpM,EAASqO,GAChBF,EAAS,CACbxC,IACAC,KAEI/D,QAAiBuG,EAAeC,EAAOiP,GACvCR,EAAYjQ,EAAYP,EAAQC,IAChCsQ,EAAWnQ,EAAgBoQ,GACjC,IAAIS,EAAgBpP,EAAO0O,GACvBW,EAAiBrP,EAAO2O,GAC5B,GAAIK,EAAe,CACjB,MACMM,EAAuB,MAAbZ,EAAmB,SAAW,QAG9CU,EAAgBpR,EAFJoR,EAAgB1V,EAFC,MAAbgV,EAAmB,MAAQ,QAIhBU,EADfA,EAAgB1V,EAAS4V,GAEtC,CACD,GAAIL,EAAgB,CAClB,MACMK,EAAwB,MAAdX,EAAoB,SAAW,QAG/CU,EAAiBrR,EAFLqR,EAAiB3V,EAFC,MAAdiV,EAAoB,MAAQ,QAIhBU,EADhBA,EAAiB3V,EAAS4V,GAEvC,CACD,MAAMC,EAAgBL,EAAQhB,GAAG,IAC5BhO,EACHwO,CAACA,GAAWU,EACZT,CAACA,GAAYU,IAEf,MAAO,IACFE,EACH1E,KAAM,CACJrN,EAAG+R,EAAc/R,EAAIA,EACrBC,EAAG8R,EAAc9R,EAAIA,EACrB+R,QAAS,CACPd,CAACA,GAAWM,EACZL,CAACA,GAAYM,IAIpB,EAEL,EEjNMQ,GF/QO,SAAU5d,GAIrB,YAHgB,IAAZA,IACFA,EAAU,CAAA,GAEL,CACLoc,KAAM,OACNpc,UACA,QAAMqc,CAAGhO,GACP,IAAIkO,EAAuBsB,EAC3B,MAAMtR,UACJA,EAASiQ,eACTA,EAAchO,MACdA,EAAKsP,iBACLA,EAAgBvP,SAChBA,EAAQE,SACRA,GACEJ,GAEFwO,SAAUM,GAAgB,EAC1BL,UAAWM,GAAiB,EAC5BW,mBAAoBC,EAA2BC,iBAC/CA,EAAmB,UAASC,0BAC5BA,EAA4B,OAAMC,cAClCA,GAAgB,KACbb,GACDlR,EAASpM,EAASqO,GAMtB,GAAsD,OAAjDkO,EAAwBC,EAAeQ,QAAkBT,EAAsBU,gBAClF,MAAO,GAET,MAAM7P,EAAOd,EAAQC,GACf6R,EAAkBvR,EAAYiR,GAC9BO,EAAkB/R,EAAQwR,KAAsBA,EAChDrQ,QAA+B,MAAlBc,EAAS+K,WAAgB,EAAS/K,EAAS+K,MAAM7K,EAASd,WACvEoQ,EAAqBC,IAAgCK,IAAoBF,EAAgB,CAAChR,EAAqB2Q,ID7X3H,SAA+BvR,GAC7B,MAAM+R,EAAoBnR,EAAqBZ,GAC/C,MAAO,CAACS,EAA8BT,GAAY+R,EAAmBtR,EAA8BsR,GACrG,CC0XgJC,CAAsBT,IAC1JU,EAA6D,SAA9BN,GAChCF,GAA+BQ,GAClCT,EAAmBU,QDxW3B,SAAmClS,EAAW4R,EAAezH,EAAWjJ,GACtE,MAAMP,EAAYT,EAAaF,GAC/B,IAAI0G,EAnBN,SAAqB7F,EAAMsR,EAASjR,GAClC,MAAMkR,EAAK,CAAC,OAAQ,SACdC,EAAK,CAAC,QAAS,QACfC,EAAK,CAAC,MAAO,UACbC,EAAK,CAAC,SAAU,OACtB,OAAQ1R,GACN,IAAK,MACL,IAAK,SACH,OAAIK,EAAYiR,EAAUE,EAAKD,EACxBD,EAAUC,EAAKC,EACxB,IAAK,OACL,IAAK,QACH,OAAOF,EAAUG,EAAKC,EACxB,QACE,MAAO,GAEb,CAGaC,CAAYzS,EAAQC,GAA0B,UAAdmK,EAAuBjJ,GAOlE,OANIP,IACF+F,EAAOA,EAAK9O,KAAIiJ,GAAQA,EAAO,IAAMF,IACjCiR,IACFlL,EAAOA,EAAKQ,OAAOR,EAAK9O,IAAI6I,MAGzBiG,CACT,CC8VmC+L,CAA0BlB,EAAkBK,EAAeD,EAA2BzQ,IAEnH,MAAMwR,EAAa,CAACnB,KAAqBC,GACnClW,QAAiBuG,EAAeC,EAAOiP,GACvC4B,EAAY,GAClB,IAAIC,GAAiE,OAA/CtB,EAAuBrB,EAAeoB,WAAgB,EAASC,EAAqBqB,YAAc,GAIxH,GAHI/B,GACF+B,EAAUT,KAAK5W,EAASuF,IAEtBgQ,EAAgB,CAClB,MAAMgC,EDvZd,SAA2B7S,EAAWiC,EAAOf,QAC/B,IAARA,IACFA,GAAM,GAER,MAAMP,EAAYT,EAAaF,GACzBsB,EAAgBd,EAAiBR,GACjC/J,EAASoK,EAAciB,GAC7B,IAAIwR,EAAsC,MAAlBxR,EAAwBX,KAAeO,EAAM,MAAQ,SAAW,QAAU,OAAuB,UAAdP,EAAwB,SAAW,MAI9I,OAHIsB,EAAMd,UAAUlL,GAAUgM,EAAMb,SAASnL,KAC3C6c,EAAoBlS,EAAqBkS,IAEpC,CAACA,EAAmBlS,EAAqBkS,GAClD,CC2YsBC,CAAkB/S,EAAWiC,EAAOf,GAClDyR,EAAUT,KAAK5W,EAASuX,EAAM,IAAKvX,EAASuX,EAAM,IACnD,CAOD,GANAD,EAAgB,IAAIA,EAAe,CACjC5S,YACA2S,eAIGA,EAAUK,OAAMnS,GAAQA,GAAQ,IAAI,CACvC,IAAIoS,EAAuBC,EAC3B,MAAMC,IAA+D,OAAhDF,EAAwBhD,EAAeoB,WAAgB,EAAS4B,EAAsBG,QAAU,GAAK,EACpHC,EAAgBX,EAAWS,GACjC,GAAIE,EAEF,MAAO,CACL5G,KAAM,CACJ2G,MAAOD,EACPR,UAAWC,GAEbU,MAAO,CACLtT,UAAWqT,IAOjB,IAAIE,EAAgJ,OAA9HL,EAAwBN,EAAcjN,QAAOxQ,GAAKA,EAAEwd,UAAU,IAAM,IAAGa,MAAK,CAAC1e,EAAGzC,IAAMyC,EAAE6d,UAAU,GAAKtgB,EAAEsgB,UAAU,KAAI,SAAc,EAASO,EAAsBlT,UAG1L,IAAKuT,EACH,OAAQ7B,GACN,IAAK,UACH,CACE,IAAI+B,EACJ,MAAMzT,EASmJ,OATtIyT,EAAyBb,EAAcjN,QAAOxQ,IAC/D,GAAI8c,EAA8B,CAChC,MAAMyB,EAAkBpT,EAAYnL,EAAE6K,WACtC,OAAO0T,IAAoB7B,GAGP,MAApB6B,CACD,CACD,OAAO,CAAI,IACV9b,KAAIzC,GAAK,CAACA,EAAE6K,UAAW7K,EAAEwd,UAAUhN,QAAOrK,GAAYA,EAAW,IAAGgR,QAAO,CAACqH,EAAKrY,IAAaqY,EAAMrY,GAAU,MAAKkY,MAAK,CAAC1e,EAAGzC,IAAMyC,EAAE,GAAKzC,EAAE,KAAI,SAAc,EAASohB,EAAuB,GAC5LzT,IACFuT,EAAiBvT,GAEnB,KACD,CACH,IAAK,mBACHuT,EAAiBhC,EAIvB,GAAIvR,IAAcuT,EAChB,MAAO,CACLD,MAAO,CACLtT,UAAWuT,GAIlB,CACD,MAAO,EACR,EAEL,EE2LMK,GFmLa,SAAUngB,GAI3B,YAHgB,IAAZA,IACFA,EAAU,CAAA,GAEL,CACLA,UACA,EAAAqc,CAAGhO,GACD,MAAM1C,EACJA,EAACC,EACDA,EAACW,UACDA,EAASiC,MACTA,EAAKgO,eACLA,GACEnO,GACE8N,OACJA,EAAS,EACTU,SAAUM,GAAgB,EAC1BL,UAAWM,GAAiB,GAC1BhR,EAASpM,EAASqO,GAChBF,EAAS,CACbxC,IACAC,KAEIkR,EAAYjQ,EAAYN,GACxBsQ,EAAWnQ,EAAgBoQ,GACjC,IAAIS,EAAgBpP,EAAO0O,GACvBW,EAAiBrP,EAAO2O,GAC5B,MAAMsD,EAAYhU,EAAS+P,EAAQ9N,GAC7BgS,EAAsC,iBAAdD,EAAyB,CACrDvD,SAAUuD,EACVtD,UAAW,GACT,CACFD,SAAU,EACVC,UAAW,KACRsD,GAEL,GAAIjD,EAAe,CACjB,MAAMmD,EAAmB,MAAbzD,EAAmB,SAAW,QACpC0D,EAAW/R,EAAMd,UAAUmP,GAAYrO,EAAMb,SAAS2S,GAAOD,EAAexD,SAC5E2D,EAAWhS,EAAMd,UAAUmP,GAAYrO,EAAMd,UAAU4S,GAAOD,EAAexD,SAC/EU,EAAgBgD,EAClBhD,EAAgBgD,EACPhD,EAAgBiD,IACzBjD,EAAgBiD,EAEnB,CACD,GAAIpD,EAAgB,CAClB,IAAId,EAAuBmE,EAC3B,MAAMH,EAAmB,MAAbzD,EAAmB,QAAU,SACnC6D,EAAe,CAAC,MAAO,QAAQ5T,SAASR,EAAQC,IAChDgU,EAAW/R,EAAMd,UAAUoP,GAAatO,EAAMb,SAAS2S,IAAQI,IAAmE,OAAlDpE,EAAwBE,EAAeL,aAAkB,EAASG,EAAsBQ,KAAmB,IAAM4D,EAAe,EAAIL,EAAevD,WACnO0D,EAAWhS,EAAMd,UAAUoP,GAAatO,EAAMd,UAAU4S,IAAQI,EAAe,GAAyD,OAAnDD,EAAyBjE,EAAeL,aAAkB,EAASsE,EAAuB3D,KAAe,IAAM4D,EAAeL,EAAevD,UAAY,GAChPU,EAAiB+C,EACnB/C,EAAiB+C,EACR/C,EAAiBgD,IAC1BhD,EAAiBgD,EAEpB,CACD,MAAO,CACL3D,CAACA,GAAWU,EACZT,CAACA,GAAYU,EAEhB,EAEL,EE7OMmD,GAAkB,CAACjT,EAAWC,EAAU3N,KAI5C,MAAM8X,EAAQ,IAAI8I,IACZC,EAAgB,CACpBtS,eACGvO,GAEC8gB,EAAoB,IACrBD,EAActS,SACjBmK,GAAIZ,GAEN,MFxpBsB/N,OAAO2D,EAAWC,EAAUoT,KAClD,MAAMxU,UACJA,EAAY,SAAQmC,SACpBA,EAAW,WAAUsS,WACrBA,EAAa,GAAEzS,SACfA,GACEwS,EACEE,EAAkBD,EAAW9O,OAAOgP,SACpCzT,QAA+B,MAAlBc,EAAS+K,WAAgB,EAAS/K,EAAS+K,MAAM3L,IACpE,IAAIa,QAAcD,EAASwK,gBAAgB,CACzCrL,YACAC,WACAe,cAEE/C,EACFA,EAACC,EACDA,GACE2B,EAA2BiB,EAAOjC,EAAWkB,GAC7C0T,EAAoB5U,EACpBiQ,EAAiB,CAAA,EACjB4E,EAAa,EACjB,IAAK,IAAIxf,EAAI,EAAGA,EAAIqf,EAAgBze,OAAQZ,IAAK,CAC/C,MAAMwa,KACJA,EAAIC,GACJA,GACE4E,EAAgBrf,IAElB+J,EAAG0V,EACHzV,EAAG0V,EAAKtI,KACRA,EAAI6G,MACJA,SACQxD,EAAG,CACX1Q,IACAC,IACAkS,iBAAkBvR,EAClBA,UAAW4U,EACXzS,WACA8N,iBACAhO,QACAD,WACAE,SAAU,CACRf,YACAC,cAGJhC,EAAa,MAAT0V,EAAgBA,EAAQ1V,EAC5BC,EAAa,MAAT0V,EAAgBA,EAAQ1V,EAC5B4Q,EAAiB,IACZA,EACHJ,CAACA,GAAO,IACHI,EAAeJ,MACfpD,IAGH6G,GAASuB,GAAc,KACzBA,IACqB,iBAAVvB,IACLA,EAAMtT,YACR4U,EAAoBtB,EAAMtT,WAExBsT,EAAMrR,QACRA,GAAwB,IAAhBqR,EAAMrR,YAAuBD,EAASwK,gBAAgB,CAC5DrL,YACAC,WACAe,aACGmR,EAAMrR,SAGX7C,IACAC,KACE2B,EAA2BiB,EAAO2S,EAAmB1T,KAE3D7L,GAAK,EAER,CACD,MAAO,CACL+J,IACAC,IACAW,UAAW4U,EACXzS,WACA8N,iBACD,EEukBM+E,CAAkB7T,EAAWC,EAAU,IACzCkT,EACHtS,SAAUuS,GACV,EC1rBJ,IAAIU,GAMG,MAAMC,GAAgB,CAACra,EAAqBpH,EAA0B,MAC3E,MAAMsI,IAAEA,EAAM,GAAEoZ,MAAEA,EAAQ,IAAGxhB,QAAEA,EAAOwW,UAAEA,EAAY,SAAQzW,KAAEA,EAAO,QAAOvC,UAAEA,EAASikB,OAAEA,EAAMC,QAAEA,EAAOC,OAAEA,EAAMC,UAAEA,GAAc9hB,EAC1Hb,EAAMR,EAAU,WACtB,GAAI2J,GAAOpI,EAAS,CACbshB,KACHA,GAAmBphB,SAASC,cAAc,OAC1CD,SAASgG,KAAK3F,YAAY+gB,KAE5B,MAAMla,EAAW5J,GAAa8jB,GACxBO,EAAU3hB,SAASC,cAAc,OAQvC,IAAI2hB,EACAC,EAEAzH,EAVJuH,EAAQzhB,UAAUC,IAAIpB,EAAIP,IAAK,SAAU,eACrCsB,EACF6hB,EAAQthB,YAAYP,GAEboI,IACPyZ,EAAQvhB,YAAc8H,GAMxB,MAAMkR,EAAS,KACTgB,GAASA,IACbmG,GAAgBvZ,EAAQ2a,EAAS,CAC/BxV,UAAWmK,EACXsK,WAAY,CAACpD,KAAQV,GAAM,CAAEG,QAAS8C,OAAiBhE,GAhC9C,MAiCR+F,MAAK,EAAGvW,IAAGC,QACZjH,OAAOC,OAAOmd,EAAQ1c,MAAO,CAC3BC,KAAM,GAAGqG,MACTpG,IAAK,GAAGqG,OACR,GACF,EAEEuW,EAAuB,KAC3BJ,EAAQzhB,UAAUC,IAAI,UAClB+G,EAASiB,SAASwZ,IACpBza,EAAS8a,YAAYL,GAEnBvH,GAASA,IACTqH,GAAQA,GAAQ,EAGhBQ,EAAc,CAACC,GAAiB,KAChCL,GAAYvH,aAAauH,GAG7BD,EAAY5G,YAAW,KACrB,GAAIuG,EAAQ,CACV,MAAMY,EAAQZ,EAAOW,GACrB,IAAKA,GAASC,EAAO,MACtB,CACDjb,EAAS7G,YAAYshB,GACrBA,EAAQjb,oBAAoB,gBAAiBqb,GAC7CJ,EAAQzhB,UAAUyH,OAAO,UAEzByS,EAAUjB,GAAWnS,EAAQ2a,EAASvI,GAEtCuI,EAAQzhB,UAAUyH,OAAO,cAAc,GACtC2Z,EAAM,EAELc,EAAe,CAACF,GAAiB,KACjCN,GAAWtH,aAAasH,GAE5BC,EAAa7G,YAAW,KACtB,GAAIwG,EAAS,CACX,MAAMW,EAAQX,EAAQU,GACtB,IAAKA,GAASC,EAAO,MACtB,CACDR,EAAQvd,iBAAiB,gBAAiB2d,EAAsB,CAAEM,MAAM,IACxEV,EAAQzhB,UAAUC,IAAI,cAAc,GACnCmhB,EAAM,EAyBLgB,EAAe,KACnB,MAAM5a,EAAS9I,IACbA,EAAE0I,kBACF8a,GAAa,EAAM,EAEfG,EAAQ3jB,IACZA,EAAE0I,kBACF2a,IACAjiB,SAAS0G,oBAAoB,QAASgB,GACtC1H,SAASoE,iBAAiB,QAASsD,EAAO,CAAE2a,MAAM,GAAO,EAE3D,MAAO,CACLG,QAAS,KACPb,EAAQvd,iBAAiB,SAAUxF,GAAaA,EAAE0I,oBAClDN,EAAO5C,iBAAiB,QAASme,EAAK,EAExCA,KAAMN,EACNQ,KAAM,CAACP,GAAiB,KACtBE,EAAaF,GACbliB,SAAS0G,oBAAoB,QAASgB,EAAM,EAE9Cgb,QAAS,KACP1b,EAAON,oBAAoB,QAAS6b,GACpCviB,SAAS0G,oBAAoB,QAASgB,EAAM,EAE/C,EAEGib,EAAiB,CACrBC,MAlDmB,KACnB,MAAMC,EAAiB,CAAC7b,EAAQ2a,GAC1Bja,EAAQ0a,EAAaU,UAAKC,GAAW,GACrCC,EAAOf,EAAYa,UAAKC,GAAW,GAOzC,MAAO,CACLP,QAPc,KACd,IAAK,MAAMS,KAAYJ,EACrBI,EAAS7e,iBAAiB,aAAc4e,GACxCC,EAAS7e,iBAAiB,aAAcsD,EACzC,EAID6a,KAAMN,EACNQ,KAAML,EACNM,QAAS,KACP,IAAK,MAAMO,KAAYJ,EACrBI,EAASvc,oBAAoB,aAAcsc,GAC3CC,EAASvc,oBAAoB,aAAcgB,EAC5C,EAEJ,EA+BDwb,MAAOZ,IAGHE,QAAEA,EAAOD,KAAEA,EAAIE,KAAEA,EAAMC,QAASS,GAAmBR,EAAe9iB,KACxE2iB,IAEA,MAAME,EAAU,KACdD,GAAK,GACDf,GAAWA,IACfyB,IACI/I,GAASA,IACbuH,EAAQha,QAAQ,EAElB,MAAO,CACL4a,OACAE,OACAC,UAEH,CACD,OAAO,IAAI,ECtLP,SAAUU,GAAsBniB,EAA4CzC,EAA4C6kB,EAAY,GACxI,MAAQ9X,EAAG+X,EAAO9X,EAAG+X,EAAOC,GAAIC,EAAOC,GAAIC,GAAU1iB,GAC7CsK,EAAGqY,EAAOpY,EAAGqY,EAAOL,GAAIM,EAAOJ,GAAIK,GAAUvlB,EAGrD,QAFoBilB,GAASG,EAAQP,GAAaC,EAAQD,GAAaS,IACnDH,GAASE,EAAQR,GAAaE,EAAQF,GAAaU,GAEzE,OCHaC,GAAW,IAAMvjB,KAAKwjB,SAAS/hB,SAAS,IAAIY,MAAM,GAClDohB,GAAW,CAAoCjI,EAAOqF,KACjE,IAAI6C,EACJ,OAAO,YAAwBC,GACzBD,GACF7J,aAAa6J,GAEfA,EAAYnJ,YAAW,KACrBiB,EAAGoI,MAAMhM,KAAM+L,EAAK,GACnB9C,EACL,CAAC,EAiBa,SAAAgD,GACdC,EACAC,GAEA,IAAIxd,EAASud,EAAKhR,OAClB,KAAOvM,GAAUA,EAAOyd,QAAQpnB,WAAamnB,GAAkBxd,IAAWud,EAAK7O,QAC7E1O,EAASA,EAAOuM,OAElB,GAAIvM,IAAWud,EAAK7O,OAClB,MAAM,IAAIgP,MAAM,GAAGH,EAAKE,QAAQpnB,+BAA+BmnB,KAEjE,OAAOxd,CACT,CAEgB,SAAA2d,GACdJ,EACAK,GAEA,MAAMC,EAAsC,IAAIplB,MAAMmlB,EAAgBxiB,QAChE0iB,EAAoB,IAAItE,IAAoBoE,EAAgB7gB,KAAI,CAACiY,EAAMxa,IAAM,CAACwa,EAAMxa,MAC1F,IAAIwF,EAASud,EAAKhR,OAClB,KAAOvM,GAAUA,IAAWud,EAAK7O,QACA,IAA3BoP,EAAkBC,MADiB,CAEvC,GAAID,EAAkBE,IAAIhe,EAAOyd,QAAQpnB,UAAW,CAElDwnB,EADcC,EAAkBlN,IAAI5Q,EAAOyd,QAAQpnB,WAC9B2J,EACrB8d,EAAkBG,OAAOje,EAAOyd,QAAQpnB,SACzC,CACD2J,EAASA,EAAOuM,MACjB,CACD,GAAIuR,EAAkBC,KAAO,EAC3B,MAAM,IAAIL,MAAM,GAAGH,EAAKE,QAAQpnB,+BAA+BoC,MAAMsJ,KAAK+b,EAAkBI,QAAQ7iB,KAAK,SAE3G,OAAOwiB,CACT,CAEA,SAASM,GAA6Bne,EAAWoe,GAC/C,IAAK,MAAMC,KAAQ9gB,OAAO+gB,oBAAoBF,GACxC,gBAAgBrU,KAAKsU,IACzB9gB,OAAOghB,eAAeve,EAAQqe,EAAM9gB,OAAOihB,yBAAyBJ,EAAQC,IAE9E,OAAOre,CACT,CACgB,SAAAye,GAIdC,EACAC,GAEA,MAAMC,EAAmB,cAAcF,EACrC,WAAAG,IAAeC,GACbC,SAASD,EACV,GAEH,IAAK,MAAMV,KAAUO,EACnBR,GAAkES,EAAYI,UAAWZ,EAAOY,WAGlG,OAAOJ,CACT,CAEA,MACaK,GAAsBvgB,IACjC,IAAIR,KAAEA,EAAIC,IAAEA,EAAGmB,MAAEA,EAAK4G,OAAEA,GAAWxH,EACnC,MAAMsQ,YAAEA,EAAWC,aAAEA,GAAiBjW,SAAS8F,gBAC/C,IAAIogB,GAAc,EACdC,GAAa,EAiBjB,OAhBIjhB,EAAOoB,EAAQ0P,GACjB9Q,EAAO8Q,EAAc1P,EAPD,EAQpB4f,GAAc,GAEPhhB,EAAO,IACdA,EAXoB,EAYpBghB,GAAc,GAEZ/gB,EAAM+H,EAAS+I,GACjB9Q,EAAM8Q,EAAe/I,EAfD,EAgBpBiZ,GAAa,GAENhhB,EAAM,IACbA,EAnBoB,EAoBpBghB,GAAa,GAER,CACLjhB,OACAC,MACA+gB,cACAC,aACD,EAMa,SAAAC,GAAmCC,EAAkBC,GACnED,EAAIjiB,iBAAiB,SAAUkiB,GAC/BjO,KAAKkO,cAAclI,KAAK,CAACgI,EAAKC,GAChC,UAEgBE,KACd,IAAK,IAAIhlB,EAAI,EAAGA,EAAI6W,KAAKkO,cAAcnkB,OAAQZ,IAAK,CAClD,MAAO6kB,EAAKC,GAAUjO,KAAKkO,cAAc/kB,GACzC6kB,EAAI3f,oBAAoB,SAAU4f,EACnC,CACDjO,KAAKkO,cAAgB,EACvB,CCtIA,MAAME,GAAYC,EAAMC,OAAO,aACzBC,GAAYF,EAAMC,OAAO,mBACzBE,GAAQH,EAAMC,OAAO,eACrBG,GAAaJ,EAAMC,OAAO,qBAE1B,MAAOI,WAAwBH,GACnCI,eACAA,gBAA0B3pB,EAASC,UACnC0pB,aAAeP,GAAUQ,MAAMC,WAE/BF,uBAA2D,CAACH,GAAOC,GAAYF,IAC/EI,yBACAA,oBAEA,aAAOG,CAAOC,GACZ,MAAMvX,EAAO7P,SAASC,cAAcoY,KAAKgP,SAIzC,OAHIhP,KAAKiP,WACPzX,EAAK3P,UAAUC,IAAIkY,KAAKiP,WAEnBzX,CACR,CAED,QAAA0X,CAAShI,EAAehf,EAAeinB,GACrC,MAAOzgB,GAASsR,KAAKnP,SAASue,KAAKlI,GACnC,IAAKxY,EAAO,CACV,MAAM2gB,EAAerP,KAAK3C,OAAOyR,OAAO9O,KAAKoM,QAAQiD,aAAarqB,UAAY,SAC9Egb,KAAKhY,YAAYqnB,EAClB,CACD3B,MAAMwB,SAAShI,EAAOhf,EAAOinB,EAC9B,CAEM,QAAAG,CAASC,GACd,GAA6B,IAAzBvP,KAAKnP,SAAS9G,OAChB,GAAiC,MAA7BiW,KAAKoM,QAAQiD,aAAsB,CACrC,MAAM3gB,EAAQsR,KAAK3C,OAAOyR,OAAO9O,KAAKoM,QAAQiD,aAAarqB,UAC3Dgb,KAAKhY,YAAY0G,EAClB,MAECsR,KAAK1Q,SAIL0Q,KAAKnP,SAAS9G,OAAS,GAAkB,MAAbiW,KAAKwP,MAAgBxP,KAAKyP,eACxDzP,KAAKwP,KAAKE,aAAa1P,MACvBA,KAAKwP,KAAKlgB,SAEb,EC7CH,MAAM8e,GAAYC,EAAMC,OAAO,aACzBE,GAAQH,EAAMC,OAAO,eAErB,MAAOqB,WAAsBnB,GACjC,WAAAoB,CAAYjM,EAAmCzb,GAC7C,MAAM2nB,EAA8B,iBAATlM,EAAoB3D,KAAK3C,OAAOyR,OAAOnL,EAAMzb,GAASyb,EACjF,GAAIkM,aAAuBzB,GAAU0B,WAAY,CAM/C,GAAID,EAAYzD,QAAQpnB,WAAaA,EAASS,eAAgB,CAC5D,MAAMsqB,EAAa/P,KAAK9E,OACxB,GAAI6U,EAAW3D,QAAQpnB,WAAaA,EAASS,eAAgB,CAI3D,GAHkB,MAAdsqB,GACFA,EAAWC,aAAaH,EAAa7P,KAAKiQ,KAAO,KAAOjQ,KAAKwP,MAE3DxP,KAAK9E,OAAOkR,QAAQpnB,WAAaA,EAASS,gBAAkBua,KAAKiQ,KAAM,CACzE,IAAIC,EAA0BlQ,KAC9B,KAAOkQ,GAAO,CACZ,MAAMV,EAAOU,EAAMV,KACnBK,EAAY7nB,YAAYkoB,GACxBA,EAAQV,CACT,CACF,MAECK,EAAY7nB,YAAYgY,MAG1B,GAAI+P,GAAsC,IAAxBA,EAAWhmB,SAAgB,CAC3CgmB,EAAW7U,OAAO5L,SAClB,MAAM6gB,EAAUJ,EAAW7U,OAAOA,OAC9BiV,EAAQ/D,QAAQpnB,WAAaA,EAASO,UAAwC,IAA5B4qB,EAAQtf,SAAS9G,QACrEomB,EAAQ7gB,QAEX,CACF,MAEmB,MAAdygB,GACFA,EAAWC,aAAaH,EAAa7P,KAAKwP,MAE5CK,EAAY7nB,YAAYgY,MAE1B,OAAO6P,CACR,CAEC7P,KAAK0P,aAAaG,EAErB,CAMD,OALmB,MAAf7P,KAAK9E,SACP8E,KAAK9E,OAAO8U,aAAaH,EAAa7P,KAAKwP,WAAQ9E,GACnD1K,KAAK1Q,UAEP0Q,KAAKoQ,WAAWC,KAAKR,GACdA,CACR,CAED,MAAAS,CAAO3M,EAAczb,GACnB,GAAIyb,IAAS3e,EAASS,gBAAkBua,KAAK9E,OAAOkR,QAAQpnB,WAAa2e,GAASzb,EAyBhFwlB,MAAM4C,OAAO3M,EAAMzb,OAzBoE,CAGvF,MAAO1C,EAAWD,EAAUL,GAAgBonB,GAAgBtM,KAAM,CAAChb,EAASQ,UAAWR,EAASO,SAAUP,EAASE,eAC7GqrB,EAAYrrB,EAAasqB,KAC/B,IAAIgB,EAAejrB,EAASiqB,KACxBiB,EAAgBjrB,EAAUgqB,KAM9B,IAHAtqB,EAAagW,OAAO8U,aAAahQ,KAAMuQ,GAGhCE,GAAe,CACpB,MAAMjB,EAAOiB,EAAcjB,KAC3BtqB,EAAagW,OAAO8U,aAAaS,EAAeF,GAChDE,EAAgBjB,CACjB,CAED,KAAOgB,GAAc,CACnB,MAAMhB,EAAOgB,EAAahB,KAC1BtqB,EAAagW,OAAO8U,aAAaQ,EAAcD,GAC/CC,EAAehB,CAChB,CACF,CAIF,ECtFH,MAAMkB,GAAarC,EAAMC,OAAO,sBAE1B,MAAOqC,WAA2BvD,GAAWsD,GAAY,CAACf,OCFhE,MAAMiB,GAAYvC,EAAMC,OAAO,sBAEzB,MAAOuC,WAA0BzD,GAAWwD,GAAW,CAACjB,OCF9D,MAAMmB,GAASzC,EAAMC,OAAO,kBAEtB,MAAOyC,WAAuB3D,GAAW0D,GAAQ,CAACnB,OCFxD,MAAMqB,GAAW3C,EAAMC,OAAO,gBAExB,MAAO2C,WAAyB7D,GAAW4D,GAAU,CAACrB,MAC1D,eAAOuB,GAAmB,ECNrB,MAAMC,GAAoBjpB,IAAekpB,OrBGhBlqB,EqBHgCgB,GrBGTI,OAAOkK,MAAMtL,IAAQoB,OAAOpB,GAAO,EqBHjBgB,EAAQ,ErBGlD,IAAChB,CqBHkD,ECO5EsnB,GAAQH,EAAMC,OAAO,eACrBG,GAAaJ,EAAMC,OAAO,qBAE1B,MAAO+C,WAA6B3C,GACxCC,gBAAkB3pB,EAASS,eAC3BkpB,eAAiB,MACjBA,iBAAmB,sBACnBA,sBAAqC,IAAI2C,IAAI,CAAC,WAAY,SAAU,SAAU,UAAW,YACzF3C,oBAAqDH,GAGrDG,kBAAoB,IAAI2C,IAAI,CAAC,mBAAoB,SAAU,WAC3D,mBAAOC,CAAaC,GAClB,IAAK,MAAM5kB,KAASoT,KAAKyR,WACvB,GAAID,EAAIhnB,WAAWoC,GACjB,OAAO,EAGX,OAAO,CACR,CAED,aAAOkiB,CAAO5mB,GACZ,MAAMwpB,QACJA,EAAOC,MACPA,EAAKC,MACLA,EAAKC,QACLA,EAAOC,QACPA,EAAOllB,MACPA,GACE1E,EACEsP,EAAOkW,MAAMoB,SAOnB,OANAtX,EAAKhH,QAAQkhB,QAAUA,EACvBla,EAAKhH,QAAQmhB,MAAQA,EACrBna,EAAKhH,QAAQohB,MAAQA,EACrBpa,EAAKhH,QAAQqhB,QAAUllB,OAAOwkB,GAAiBU,IAC/Cra,EAAKhH,QAAQshB,QAAUnlB,OAAOwkB,GAAiBW,IAC/CllB,IAAU4K,EAAKhH,QAAQ5D,MAAQA,GACxB4K,CACR,CAED,cAAOua,CAAQC,GACb,MAAMN,QAAEA,EAAOC,MAAEA,EAAKC,MAAEA,EAAKC,QAAEA,EAAOC,QAAEA,EAAOllB,MAAEA,GAAUolB,EAAQxhB,QAC7DtI,EAA6B,CACjCwpB,UACAC,QACAC,QACAC,QAASvpB,OAAO6oB,GAAiBU,IACjCC,QAASxpB,OAAO6oB,GAAiBW,KAGnC,OADAllB,IAAU1E,EAAM0E,MAAQA,GACjB1E,CACR,CAED,cAAA+pB,CAAetO,EAAczb,EAAYgqB,GAAmB,GAC1D,GAAIA,EAAS,CACX,IAAKlS,KAAKoM,QAAQmF,aAAa5N,GAAO,OAClC3D,KAAK9E,SACP8E,KAAK9E,OAAO+W,eAAetO,EAAMzb,GACjC8X,KAAKgS,QAAQxhB,QAAQ5D,MAAQoT,KAAK9E,OAAO8W,QAAQplB,MAAMulB,QAE1D,KACI,CACH,IAAKnS,KAAKoM,QAAQgG,eAAezF,IAAIhJ,GAAO,OAC5C,MAAM0O,EAAW,QAAQ1O,IACrBzb,EACF8X,KAAKgS,QAAQriB,aAAa0iB,EAAUnqB,GAGpC8X,KAAKgS,QAAQhhB,gBAAgBqhB,GAE3BrS,KAAK9E,QACP8E,KAAK9E,OAAO+W,eAAetO,EAAMzb,EAEpC,CAED,MAAMoqB,EAAStS,KAAKuS,YAAY/D,GAAO,GACvC,IAAK,MAAM9f,KAAS4jB,EACjB5jB,EAAoB2Q,MAAQ,EAEhC,CAED,WAAIqS,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,SAAIC,GACF,OAAO3R,KAAKgS,QAAQxhB,QAAQmhB,KAC7B,CAED,SAAIA,CAAMzpB,GACR8X,KAAKiS,eAAe,SAAU/pB,EAC/B,CAED,SAAI0pB,GACF,OAAO5R,KAAKgS,QAAQxhB,QAAQohB,KAC7B,CAED,SAAIA,CAAM1pB,GACR8X,KAAKiS,eAAe,SAAU/pB,EAC/B,CAED,WAAI2pB,GACF,OAAOvpB,OAAO0X,KAAKgS,QAAQxhB,QAAQqhB,QACpC,CAED,WAAIA,CAAQ3pB,GACV8X,KAAKiS,eAAe,UAAW/pB,EAChC,CAED,WAAI4pB,GACF,OAAOxpB,OAAO0X,KAAKgS,QAAQxhB,QAAQshB,QACpC,CAED,WAAIA,CAAQ5pB,GACV8X,KAAKiS,eAAe,UAAW/pB,EAChC,CAED,cAAAsqB,GAEE,OADcvG,GAAejM,KAAMhb,EAASG,WAC/BstB,YAAYC,QAAQ1S,KAAK4R,MACvC,CAED,QAAAe,CAASzL,EAAend,EAAgB4Z,EAAczb,GACvB,IAAzB8X,KAAKnP,SAAS9G,SAChBiW,KAAKhY,YAAYgY,KAAK3C,OAAOyR,OAAO9O,KAAKoM,QAAQiD,aAAarqB,WAE9D+E,GAAU,GAEZ2jB,MAAMiF,SAASzL,EAAOnd,EAAQ4Z,EAAMzb,EACrC,CAED,OAAA6pB,GACE,MAAM7pB,EAAQ8X,KAAKoM,QAAQ2F,QAAQ/R,KAAKgS,SACxC,MAAO,CACL,CAAChS,KAAKoM,QAAQpnB,UAAWkD,EAE5B,CAED,UAAAunB,GACE,MAAMmC,MAAEA,EAAKD,MAAEA,EAAKG,QAAEA,EAAOD,QAAEA,GAAY7R,KACrCwP,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKmC,QAAUA,GACfnC,EAAKoC,QAAUA,GACfpC,EAAKsC,UAAYA,GACjBtC,EAAKqC,UAAYA,CAEvB,CAED,QAAAvC,GACE,MAAMpU,EAAS8E,KAAK9E,OACd0X,EAAY5S,KAAKoM,QAAQ2F,QAAQ/R,KAAKgS,SAE5C,GAAIhS,KAAKiQ,MAAQjQ,KAAKiQ,gBAAgBxB,GAAY,CAChD,MAAMoE,EAAa7S,KAAK3C,OAAOyR,OAAO,SACtC9O,KAAKhY,YAAYgY,KAAKiQ,MACtBjQ,KAAKhY,YAAY6qB,EAClB,CACD,GAAe,OAAX3X,GAAmBA,EAAOkR,QAAQpnB,WAAaA,EAASQ,YAC1Dwa,KAAK8S,KAAK9tB,EAASQ,UAAWotB,GAID,IAAzB5S,KAAKnP,SAAS9G,QAAc,CAC9B,MAAM2E,EAAQsR,KAAK3C,OAAOyR,OAAO9O,KAAKoM,QAAQiD,aAAarqB,UAC3Dgb,KAAKhY,YAAY0G,EAClB,CAGCsR,KAAKnP,SAAS9G,OAAS,GAAkB,MAAbiW,KAAKwP,MAAgBxP,KAAKyP,eACxDzP,KAAKwP,KAAKE,aAAa1P,MACvBA,KAAKwP,KAAKlgB,UAGO,MAAf0Q,KAAK+S,QAAkB/S,KAAK+S,SAAW/S,KAAKgS,QAAQgB,YACtDhT,KAAKgS,QAAQhC,aAAahQ,KAAK+S,OAAQ/S,KAAKgS,QAAQgB,YAGzB,IAAzBhT,KAAKnP,SAAS9G,QAEhBiW,KAAK1Q,QAER,CAED,YAAA0gB,CAAa9D,EAA0B+G,GACrC,GAAI/G,EAAKE,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,SAAU,CACnD,MAAMkuB,EAAgBhH,EAChBiH,EAAqBnT,KAAKoM,QAAQ2F,QAAQmB,EAAclB,SACxDoB,EAAYpT,KAAKoM,QAAQ2F,QAAQ/R,KAAKgS,SAG5C,GAFe9lB,OAAOQ,QAAQ0mB,GAAWtM,OAAM,EAAEhd,EAAK5B,KAAWA,IAAUirB,EAAmBrpB,KA6C5F,OAAOkW,KAAK9E,OAAO8U,aAAakD,EAAelT,KAAKwP,MA3CzC,CACX,MAAOW,EAASkD,GAAY/G,GAAgBtM,KAAM,CAAChb,EAASO,SAAUP,EAASQ,YAE/E,GAAIytB,EAAK,CACP,MAAM/L,EAAQ+L,EAAIvP,SAElB,GAAIwD,EAAQ,EADGlH,KAAKjW,SACI,CACtB,MAAMupB,EAAetT,KAAK3C,OAAOyR,OAAO9pB,EAASS,eAAgB2tB,GACjEpT,KAAKnP,SAAS0iB,UAAUrM,EAAQ,EAAGlH,KAAKjW,UAAWmmB,IACjDoD,EAAatrB,YAAYkoB,EAAM,IAEjCC,EAAQH,aAAasD,EAAaR,KAAK9tB,EAASQ,UAAW4tB,GAAYC,EAAS7D,MAEnD,IAAzBxP,KAAKnP,SAAS9G,SAChBiW,KAAK1Q,SAC+B,IAAhC0Q,KAAK9E,OAAOrK,SAAS9G,QACvBiW,KAAK9E,OAAO5L,SAGjB,CACF,CAED,GAAI0Q,KAAK2R,QAAUuB,EAAcvB,MAAO,CACtC,GAAIsB,EAAK,CACP,MAAM/L,EAAQ+L,EAAIvP,OAAOyM,GACzBA,EAAQpc,MAAMmT,EACf,MACI,GAAImM,EAAS7D,KAAM,CACtB,MAAMtI,EAAQmM,EAAS7D,KAAK9L,OAAOyM,GACnCA,EAAQpc,MAAMmT,EACf,CACD,MAAM9W,EAAM4P,KAAK3C,OAAOyR,OAAO9pB,EAASO,SAAU4tB,GAC5CK,EAAOxT,KAAK3C,OAAOyR,OAAO9pB,EAASQ,UAAW2tB,GAGpD,OAFAK,EAAKxrB,YAAYkrB,GACjB9iB,EAAIpI,YAAYwrB,GACTrD,EAAQjV,OAAO8U,aAAa5f,EAAK+f,EAAQX,KACjD,CACD,OAAOW,EAAQH,aACbkD,EAAcJ,KAAK9tB,EAASQ,UAAW2tB,GACvCF,EAAMI,EAAWA,EAAS7D,KAE7B,CAIF,CACD9B,MAAMsC,aAAa9D,EAAM+G,EAC1B,ECpPH,MAAM7E,GAAYC,EAAMC,OAAO,aACzBmF,GAAapF,EAAMC,OAAO,gBAE1B,MAAOoF,WAAuBD,GAClC,WAAAE,CAAYvD,EAAiCwD,GAC3C,IAAIC,EACA9B,EAA+B,CAAA,EACnC,GAAI3B,EAAWprB,EAASS,gBACtBouB,EAAiB7uB,EAASS,oBAI1B,IAAK,MAAOqE,EAAK5B,KAAUgE,OAAOQ,QAAQ0jB,GAAa,CACgC,MAAjEpQ,KAAK8T,MAAMhqB,EAAKskB,GAAUQ,MAAMmF,MAAQ3F,GAAUQ,MAAMoF,MAE1EH,EAAiB/pB,EAGjBioB,EAAQjoB,GAAO5B,CAElB,CAGC2rB,IAAmB7uB,EAASS,iBAC9BssB,EAAU,IAAK3B,UACR2B,EAAQ8B,IAGjB,MAAM3D,EAAQlQ,KAAK8O,OACjB+E,GAAkB7T,KAAKoM,QAAQiD,aAAarqB,SAC5C6uB,EAAiBzD,EAAWyD,QAAkBnJ,GAGhD1K,KAAKgQ,aAAaE,EAAO0D,QAAWlJ,GAEpC,IAAI3gB,EAASmmB,EAAMnmB,SACfmmB,aAAiBmB,IAAmC,IAAXtnB,IAC3CA,GAAU,GAEZ,IAAK,MAAOD,EAAK5B,KAAUgE,OAAOQ,QAAQqlB,GACxC7B,EAAMyC,SAAS,EAAG5oB,EAAQD,EAAK5B,GAGjC,OAAOgoB,CACR,ECzCG,MAAO+D,WAAuBvF,GAClCC,gBAAkB3pB,EAASO,SAC3BopB,eAAiB,KACjBA,iBAAmB,eAEnB,aAAOG,CAAO5mB,GACZ,MAAMsP,EAAOkW,MAAMoB,SAGnB,OAFAtX,EAAKhH,QAAQkhB,QAAUxpB,EAAMwpB,QAC7Bla,EAAKhH,QAAQmhB,MAAQzpB,EAAMypB,MACpBna,CACR,CAID,SAAIma,GACF,OAAO3R,KAAKgS,QAAQxhB,QAAQmhB,KAC7B,CAED,WAAID,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,SAAAwC,CAAUhsB,GACR8X,KAAKmU,kBAAkBC,IACrBA,EAAUnC,eAAe,SAAU/pB,GAAO,EAAK,GAElD,CAKD,UAAAmsB,CAAWC,EAAqBpsB,GAC9B,MAAMka,EAAqB,GACrBoN,EAAOxP,KAAKnP,SAAS0jB,WAC3B,IACIC,EADAtN,EAAQ,EAEZ,MAAQsN,EAAMhF,OACZtI,GAASsN,EAAI1C,UACT5K,EAAQoN,KACZ,GAAoB,IAAhBE,EAAI3C,QACN,IAAK,IAAI1oB,EAAI,EAAGA,EAAIqrB,EAAI3C,QAAU,EAAG1oB,IACnCiZ,EAAKjZ,IAAMiZ,EAAKjZ,IAAM,GAAKqrB,EAAI1C,QAKrC,GAAI0C,GAAOtN,EAAQsN,EAAI1C,QAAUwC,EAAa,CAC1BE,EAAIC,eACZ3C,SAAW,EACD,IAAhB0C,EAAI3C,UACNzP,EAAKsS,WAAaF,EAAI3C,QAAU,EAEnC,KACI,CACH,MAAMrsB,EAAYwa,KAAK3C,OAAOyR,OAAO9pB,EAASQ,UAAW0C,GACnDzC,EAAiBua,KAAK3C,OAAOyR,OAAO9pB,EAASS,eAAgByC,GAC7DgoB,EAAQlQ,KAAK3C,OAAOyR,OAAO,SACjCoB,EAAMloB,YAAYgY,KAAK3C,OAAOyR,OAAO,UACrCrpB,EAAeuC,YAAYkoB,GAC3B1qB,EAAUwC,YAAYvC,GACtBua,KAAKgQ,aAAaxqB,EAAWgvB,EAC9B,CACD,OAAOpS,CACR,CAED,mBAAAuS,CAAoBC,GAClB,MAAMxS,EAAiB,GACvB,IAAIoS,EAA8B,KAC9BK,EAAe,EACnB,GAAID,EAAY,EAAG,MAAO,CAACJ,EAAKK,EAAczS,GAC9C,MAAMoN,EAAOxP,KAAKnP,SAAS0jB,WAC3B,KAAQC,EAAMhF,KAAS,CAErB,GADAqF,GAAgBL,EAAI1C,QACA,IAAhB0C,EAAI3C,QACN,IAAK,IAAI1oB,EAAI,EAAGA,EAAIqrB,EAAI3C,QAAU,EAAG1oB,IACnCiZ,EAAKjZ,IAAMiZ,EAAKjZ,IAAM,GAAKqrB,EAAI1C,QAGnC,GAAI+C,EAAeD,EAAW,KAC/B,CACD,MAAO,CAACJ,EAAKK,EAAczS,EAC5B,CAED,UAAA0S,CAAWR,GACT,GAAIA,EAAc,EAAG,MAAO,GAC5B,MAAMS,EAAkB/U,KAAK2U,oBAAoBL,IAC1CE,EAAKtN,GAAS6N,EACf3S,EAAqB2S,EAAgB,GAC3C,IAAKP,EAAK,OAAOpS,EACjB,GAAI8E,EAAQsN,EAAI1C,QAAUwC,GAAeE,EAAI1C,QAAU,EAAG,CACxD,MAAOtsB,GAAagvB,EAAIjC,YAAYlB,IAEpC,GAAoB,IAAhBmD,EAAI1C,SAAiBwC,IAAgBpN,EAAQsN,EAAI1C,QAAS,CAE5D,MACMkD,EADY/I,GAAejM,KAAMhb,EAASG,WACvBstB,YACzBjtB,EAAUosB,MAAQoD,EAAOA,EAAOtC,QAAQltB,EAAUosB,OAAS,EAC5D,CACmB,IAAhB4C,EAAI3C,UACNzP,EAAKsS,WAAaF,EAAI3C,QAAU,GAGlCrsB,EAAUssB,SAAW,CACtB,MAEC0C,EAAIllB,SAEN,OAAO8S,CACR,CAED,gBAAA+R,CAAiBc,GACf,MAAMzF,EAAOxP,KAAKnP,SAAS0jB,WAC3B,IACIC,EADArrB,EAAI,EAER,KAAQqrB,EAAMhF,KAAS,CACrB,MAAOhqB,GAAagvB,EAAIjC,YAAYlB,IACpC,GAAI4D,EAAKzvB,EAAW2D,KAAM,KAC3B,CACF,CAED,UAAAsmB,GACE,MAAMD,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKmC,QAAU3R,KAAK2R,KAE1B,CAED,QAAArC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,QACdwW,QAAEA,GAAY1R,KACL,OAAX9E,GAAmBA,EAAOkR,QAAQpnB,WAAaA,EAASM,WAC1D0a,KAAK8S,KAAK9tB,EAASM,UAAWosB,GAGhChE,MAAM4B,SAAS4F,EAChB,EC7IG,MAAOC,WAAwBzG,GACnCC,gBAAkB3pB,EAASM,UAC3BqpB,eAAiB,QAEjB,aAAOG,CAAO5mB,GACZ,MAAMsP,EAAOkW,MAAMoB,SAEnB,OADAtX,EAAKhH,QAAQkhB,QAAUxpB,EAChBsP,CACR,CAED,WAAIka,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAGD,SAAA0D,CAAUd,GACR,MAAMe,EAAYpJ,GAAejM,KAAMhb,EAASG,WAChD,IAAKkwB,EAAW,OAEhB,MAAML,EAASK,EAAU5C,YACnB6C,EAAOtV,KAAKuS,YAAY0B,IACxBsB,EAAe,IAAIjE,IAAI0D,GAC7B,IAAI9N,EAAQ,EACZ,IAAK,MAAM9W,KAAOklB,EAAM,CACtB,GAAIpO,IAAUoN,EAAa,MAC3BlkB,EAAI+jB,kBAAkBX,IACpB,GAAItM,EAAQsM,EAAK3B,QAAUyC,IACzBd,EAAK3B,SAAW,EAChB0D,EAAa3I,OAAO4G,EAAK5B,OAEJ,IAAjB4B,EAAK1B,SAAe,CACtB,MAAM0D,EAAWR,EAAOtC,QAAQc,EAAK5B,OACrC,IAAK,IAAIzoB,EAAI,EAAGA,EAAIqqB,EAAK1B,QAAU,EAAG3oB,IACpCosB,EAAa3I,OAAOoI,EAAOQ,EAAWrsB,EAAI,GAE7C,CACF,IAEH+d,GAAS,CACV,CAED,MAAMwK,EAAU2D,EAAU3D,QACpBC,EAAQhG,KACRpmB,EAAWya,KAAK3C,OAAOyR,OAAO9pB,EAASO,SAAU,CACrDmsB,UACAC,UAEF,IAAK,MAAMC,KAAS2D,EAAc,CAChC,MASM/vB,EATYwa,KAAK3C,OAAOyR,OAAO,SACbgE,KAAK,SACAA,KAAK9tB,EAASS,eAAgB,CACzDisB,UACAC,QACAC,QACAC,QAAS,EACTC,QAAS,IAEsBgB,KAAK9tB,EAASQ,UAAW,CACxDksB,UACAC,QACAC,QACAC,QAAS,EACTC,QAAS,IAEXvsB,EAASyC,YAAYxC,EACtB,CACDwa,KAAKgQ,aAAazqB,EAAU+vB,EAAKhB,IAAgB,KAClD,CAED,UAAA7E,GACE,MAAMD,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKkC,UAAY1R,KAAK0R,OAE5B,CAED,QAAApC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,OACpB,GAAe,OAAXA,GAAmBA,EAAOkR,QAAQpnB,WAAaA,EAASG,UAAW,CACrE,MAAMusB,QAAEA,GAAY1R,KACpBA,KAAK8S,KAAK9tB,EAASG,UAAW,CAAEusB,WACjC,CAEDhE,MAAM4B,SAAS4F,EAChB,ECnFG,MAAOO,WAAwB/G,GACnCC,gBAAkB3pB,EAASQ,UAC3BmpB,eAAiB,KACjBA,iBAAmB,gBACnBA,sBAAwB,IAAI2C,IAAI,CAAC,WAAY,SAAU,WACvD3C,kBAAoB,IAAI2C,IAAI,CAAC,UAAW,YAGxC3C,kBAAoB,IAAI2C,IAAI,CAAC,mBAAoB,SAAU,WAC3D,mBAAOC,CAAaC,GAClB,IAAK,MAAM5kB,KAASoT,KAAKyR,WACvB,GAAID,EAAIhnB,WAAWoC,GACjB,OAAO,EAGX,OAAO,CACR,CAED,aAAOkiB,CAAO5mB,GACZ,MAAMwpB,QACJA,EAAOC,MACPA,EAAKC,MACLA,EAAKC,QACLA,EAAOC,QACPA,EAAOllB,MACPA,GACE1E,EACEsP,EAAOkW,MAAMoB,SAOnB,OANAtX,EAAKhH,QAAQkhB,QAAUA,EACvBla,EAAKhH,QAAQmhB,MAAQA,EACrBna,EAAKhH,QAAQohB,MAAQA,EACrBpa,EAAK7H,aAAa,UAAWhD,OAAOwkB,GAAiBU,KACrDra,EAAK7H,aAAa,UAAWhD,OAAOwkB,GAAiBW,KACrDllB,IAAU4K,EAAK5K,MAAMulB,QAAUvlB,GACxB4K,CACR,CAED,cAAOua,CAAQC,GACb,MAAMN,QAAEA,EAAOC,MAAEA,EAAKC,MAAEA,GAAUI,EAAQxhB,QACpCqhB,EAAUvpB,OAAO0pB,EAAQ0D,aAAa,YACtC5D,EAAUxpB,OAAO0pB,EAAQ0D,aAAa,YACtCxtB,EAA6B,CACjCwpB,UACAC,QACAC,QACAC,QAASV,GAAiBU,GAC1BC,QAASX,GAAiBW,IAGtB6D,EAAoC,CAAA,EAC1C,IAAK,IAAIxsB,EAAI,EAAGA,EAAI6oB,EAAQplB,MAAM7C,OAAQZ,IAAK,CAC7C,MAAMysB,EAAW5D,EAAQplB,MAAMzD,GACzBjB,EAAQ8pB,EAAQplB,MAAMgpB,GACxB5V,KAAKuR,aAAa5kB,OAAOipB,MAAe,CAAC,UAAW,WAAWvhB,SAASnM,KAC1EytB,EAAaC,GAAY1tB,EAE5B,CACD,MAAMwE,EAAUR,OAAOQ,QAAQipB,GAK/B,OAJIjpB,EAAQ3C,OAAS,IACnB7B,EAAM0E,MAAQF,EAAQhB,KAAI,EAAE5B,EAAK5B,KAAW,GAAG4B,KAAO5B,MAAS8B,KAAK,MAG/D9B,CACR,CAED,cAAA+pB,CAAetO,EAAczb,GAC3B,GAAI8X,KAAKoM,QAAQyJ,WAAWlJ,IAAIhJ,IAAS3D,KAAKoM,QAAQgG,eAAezF,IAAIhJ,GAAO,CAC9E,IAAI0O,EAAW1O,EACX3D,KAAKoM,QAAQgG,eAAezF,IAAIhJ,KAClC0O,EAAW,QAAQ1O,KAEjBzb,EACF8X,KAAKgS,QAAQriB,aAAa0iB,EAAUnqB,GAGpC8X,KAAKgS,QAAQhhB,gBAAgBqhB,EAEhC,MACQrS,KAAKoM,QAAQmF,aAAa5N,IACjCzX,OAAOC,OAAO6T,KAAKgS,QAAQplB,MAAO,CAChC+W,CAACA,GAAOzb,GAGb,CAED,WAAIwpB,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,SAAIC,GACF,OAAO3R,KAAKgS,QAAQxhB,QAAQmhB,KAC7B,CAED,SAAIC,GACF,OAAO5R,KAAKgS,QAAQxhB,QAAQohB,KAC7B,CAED,WAAIC,GACF,OAAOvpB,OAAO0X,KAAKgS,QAAQ0D,aAAa,WACzC,CAED,WAAI5D,GACF,OAAOxpB,OAAO0X,KAAKgS,QAAQ0D,aAAa,WACzC,CAED,YAAAjB,GACE,OAAOzU,KAAKnP,SAASilB,IACtB,CAED,UAAArG,GACE,MAAMmC,MAAEA,EAAKD,MAAEA,EAAKG,QAAEA,EAAOD,QAAEA,GAAY7R,KACrCwP,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKmC,QAAUA,GACfnC,EAAKoC,QAAUA,GACfpC,EAAKsC,UAAYA,GACjBtC,EAAKqC,UAAYA,CAEvB,CAED,QAAAvC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,QACdwW,QAAEA,EAAOC,MAAEA,GAAU3R,KACZ,OAAX9E,GAAmBA,EAAOkR,QAAQpnB,WAAaA,EAASO,UAC1Dya,KAAK8S,KAAK9tB,EAASO,SAAU,CAAEmsB,UAASC,UAG1CjE,MAAM4B,SAAS4F,EAChB,EClIH,MAAMzG,GAAaJ,EAAMC,OAAO,qBAE1B,MAAOyH,WAAuBtH,GAyCzBpR,OACA2U,QAzCTrD,gBAAkB3pB,EAASK,SAC3BspB,eAAiB,MAEjB,iBAAOqH,CAAW/nB,EAAwBgoB,GACxC,IAAIC,EAAc5tB,OAAOC,WAAWoE,OAAOsB,IAI3C,OAHI3F,OAAOkK,MAAM0jB,KACfA,EAAcxwB,EAAYuwB,EAAO,iBAAmB,kBAE/C,GAAGC,IAAcD,EAAO,IAAM,MACtC,CAED,aAAOnH,CAAO5mB,GACZ,MAAM+F,MAAEA,EAAKyjB,QAAEA,EAAOE,MAAEA,EAAKqE,KAAEA,EAAIE,MAAEA,GAAUjuB,EACzCsP,EAAOkW,MAAMoB,SAQnB,OAPAtX,EAAK7H,aAAa,QAASqQ,KAAKgW,WAAW/nB,IAASgoB,IACpDA,IAASze,EAAKhH,QAAQylB,KAAOtpB,OAAOspB,IAChCE,GAAmB,SAAVA,IACX3e,EAAKhH,QAAQ2lB,MAAQA,GAEvB3e,EAAKhH,QAAQkhB,QAAUA,EACvBla,EAAKhH,QAAQohB,MAAQA,EACdpa,CACR,CAED,YAAOtP,CAAM8pB,GACX,MAAMN,QAAEA,EAAOE,MAAEA,GAAUI,EAAQxhB,QAC7BvC,EAAQ+jB,EAAQ0D,aAAa,UAAYhwB,EAAYG,gBACrDswB,EAAQnE,EAAQxhB,QAAQ2lB,MAExBjuB,EAA6B,CACjCwpB,UACAE,QACAqE,KAJW/pB,OAAOkqB,OAAOpE,EAAQxhB,QAAS,SAQ5C,OAFAvC,IAAU/F,EAAM+F,MAAQ3F,OAAOC,WAAW0F,IAC1CkoB,IAAUjuB,EAAMiuB,MAAQA,GACjBjuB,CACR,CAED,WAAAslB,CACSnQ,EACA2U,GAEPtE,MAAMrQ,EAAQ2U,GAHPhS,KAAM3C,OAANA,EACA2C,KAAOgS,QAAPA,CAGR,CAED,SAAI/jB,GACF,IAAIA,EAAgC+R,KAAKgS,QAAQ0D,aAAa,SAC9D,IAAKznB,EAAO,CAEV,GADAA,EAAQ+R,KAAKgS,QAAQ1kB,wBAAwBW,MACzC+R,KAAKiW,KAAM,CACb,MAAMI,EAAQrW,KAAKgS,QAAQsE,QAAQ,SACnC,OAAKD,EACEpoB,EAAQ,IAAMooB,EAAM/oB,wBAAwBW,MADhCvI,EAAYsa,KAAKiW,KAAO,iBAAmB,gBAE/D,CACD,OAAOhoB,CACR,CACD,OAAO3F,OAAOC,WAAWoE,OAAOsB,GACjC,CAED,SAAIA,CAAM/F,GACR,IAAI+F,EAAQ3F,OAAOC,WAAWoE,OAAOzE,IACjCI,OAAOkK,MAAMvE,KACfA,EAAQvI,EAAYsa,KAAKiW,KAAO,iBAAmB,kBAErDjW,KAAKgS,QAAQriB,aAAa,QAASqQ,KAAKoM,QAAQ4J,WAAW/nB,IAAS+R,KAAKiW,MAC1E,CAED,WAAIvE,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,SAAIE,GACF,OAAO5R,KAAKgS,QAAQxhB,QAAQohB,KAC7B,CAED,QAAIqE,GACF,OAAO/pB,OAAOkqB,OAAOpW,KAAKgS,QAAQxhB,QAAS,OAC5C,CAED,SAAI2lB,GACF,OAAOnW,KAAKgS,QAAQxhB,QAAQ2lB,OAAS,EACtC,CAED,SAAIA,CAAMjuB,GACM,UAAVA,GAA+B,WAAVA,EACvB8X,KAAKgS,QAAQxhB,QAAQ2lB,MAAQjuB,EAG7B8X,KAAKgS,QAAQhhB,gBAAgB,aAEhC,CAED,UAAAye,GACE,MAAMD,EAAOxP,KAAKwP,MACZkC,QAAEA,EAAOE,MAAEA,GAAU5R,KAC3B,OACW,OAATwP,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKkC,UAAYA,GACjBlC,EAAKoC,QAAUA,CAErB,CAED,QAAAtC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,OACpB,GAAc,MAAVA,GAAkBA,EAAOkR,QAAQpnB,WAAaA,EAASI,cAAe,CACxE,MAAM8C,EAAQ8X,KAAKoM,QAAQlkB,MAAM8X,KAAKgS,SACtChS,KAAK8S,KAAK9tB,EAASI,cAAe8C,EACnC,CAEqB+jB,GAAejM,KAAMhb,EAASI,eACtC+wB,MAAQnW,KAAKmW,MAE3BzI,MAAM4B,SAAS4F,EAChB,CAED,QAAAhG,CAAShI,EAAehf,EAAeinB,GACrC,GAAW,MAAPA,EAEF,YADAzB,MAAMwB,SAAShI,EAAOhf,EAAOinB,GAG/B,MAAMoH,EAAQruB,EAAM6L,MAAM,MACpByiB,EAAOD,EAAME,MACbnE,EAASiE,EAAM7qB,KAAKgrB,IACxB,MAAMxG,EAAQlQ,KAAK3C,OAAOyR,OAAO,SAEjC,OADAoB,EAAMhB,SAAS,EAAGwH,GACXxG,CAAK,IAER+C,EAAMjT,KAAKjM,MAAMmT,IAChByP,EAAmBC,GAAiBtK,GAAgBtM,KAAM,CAAChb,EAASI,cAAeJ,EAASG,YAC7F0xB,EAAgBF,EAAkBnH,KACxC,GAAIyD,EAAK,CACP,MAAM/L,EAAQ+L,EAAIvP,OAAOiT,GACzBA,EAAkB5iB,MAAMmT,EACzB,CAED,IAAI4P,EAAaF,EAAc1b,OAAOA,OAClC6b,EAAyCH,EAAc1b,OAAOsU,KAClE,GAAIqH,EAAe,CACjB,MAAMG,EAAaH,EAActE,YAAYlB,IAC7C,GAAI2F,EAAWjtB,OAAS,EAAG,CACzB,MAAMmpB,EAAgB8D,EAAW,GAC3B9uB,EAAQmpB,GAAqBU,QAAQmB,EAAclB,SACnDiF,EAAWjX,KAAK3C,OAAOyR,OAAO,SAI9BoI,EAHoBD,EAASnE,KAAK9tB,EAASS,eAAgByC,GAC1B4qB,KAAK9tB,EAASQ,UAAW0C,GAC/B4qB,KAAK9tB,EAASO,SAAU2C,GACxB4qB,KAAK9tB,EAASM,UAAW4C,EAAMwpB,SAChEiF,EAAkBzb,OAAO8U,aAAakH,EAAcP,EAAkBnH,MAEtEsH,EAAaG,EACbF,EAAcE,EAASzH,IACxB,CACF,CAED,IAAK,MAAMU,KAASoC,EAClBwE,EAAW9G,aAAaE,EAAO6G,GAE7BP,GACFM,EAAW9G,aAAahQ,KAAK3C,OAAOyR,OAAO,OAAQ0H,GAAOO,EAE7D,ECrKG,MAAOI,WAAwBzI,GACnCC,gBAAkB3pB,EAASG,UAC3BwpB,eAAiB,QAEjB,aAAOG,CAAO5mB,GACZ,MAAMsP,EAAOkW,MAAMoB,UACb4C,QAAEA,EAAOuE,KAAEA,EAAIE,MAAEA,GAAUjuB,EAYjC,OAXAsP,EAAKhH,QAAQkhB,QAAUA,EACT,UAAVyE,GAA+B,WAAVA,EACvB3e,EAAKhH,QAAQ2lB,MAAQA,EAGrB3e,EAAKxG,gBAAgB,cAEvBilB,IAASze,EAAKhH,QAAQylB,KAAOtpB,OAAOspB,IACpCze,EAAK3P,UAAUC,IAAI,YACnB0P,EAAK7H,aAAa,cAAe,KACjC6H,EAAK7H,aAAa,cAAe,KAC1B6H,CACR,CAED,WAAAgW,CAAYnQ,EAAa2U,EAAsBjD,GAC7CrB,MAAMrQ,EAAQ2U,GACdhS,KAAKoX,aACN,CAED,iBAAAC,GACE,GAAIrX,KAAKiW,KAAM,OACf,MAAMqB,EAAOtX,KAAKuX,UAClB,IAAKD,EAAM,OACX,MAAME,EAAYF,EAAKlX,QAAO,CAACqX,EAAKnnB,IAAQA,EAAIrC,MAAQwpB,GAAK,GAC7D,OAAkB,IAAdD,GAAmBlvB,OAAOkK,MAAMglB,GAAmB,MACvDxX,KAAKgS,QAAQplB,MAAMqB,MAAQ,GAAGupB,MACvBA,EACR,CAED,WAAI9F,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,QAAIuE,GACF,OAAO/pB,OAAOkqB,OAAOpW,KAAKgS,QAAQxhB,QAAS,OAC5C,CAED,SAAI2lB,GACF,OAAOnW,KAAKgS,QAAQxhB,QAAQ2lB,OAAS,EACtC,CAED,SAAIA,CAAMjuB,GACM,UAAVA,GAA+B,WAAVA,EACvB8X,KAAKgS,QAAQxhB,QAAQ2lB,MAAQjuB,EAG7B8X,KAAKgS,QAAQhhB,gBAAgB,cAE/BgP,KAAKoX,aACN,CAED,UAAAM,GACE,IAAK1X,KAAKiW,KAAM,OAChB,MAAMqB,EAAOtX,KAAKuX,UACZI,EAAa3X,KAAKgS,QAAQ1kB,wBAAwBW,MACxD,IAAK,MAAMqC,KAAOgnB,EAChBhnB,EAAI0hB,QAAQhhB,gBAAgB,aAC5BV,EAAIrC,MAAQqC,EAAIrC,MAAQ,IAAM0pB,EAEhC,MAAMC,EAAW5X,KAAKnP,SAASilB,KAC3B8B,GAAYA,EAASxL,QAAQpnB,WAAaA,EAASI,gBACrDwyB,EAAS3B,MAAO,GAElBjW,KAAKgS,QAAQhhB,gBAAgB,aAC7BgP,KAAKqX,mBACN,CAED,WAAAD,GACE,MACMxqB,EAAuC,CAC3CirB,WAAY,KACZC,YAAa,MAEf,OALc9X,KAAKmW,OAMjB,IAAK,SACHvpB,EAAMirB,WAAa,OACnBjrB,EAAMkrB,YAAc,OACpB,MAEF,IAAK,GACL,IAAK,OACHlrB,EAAMkrB,YAAc,OACpB,MAEF,IAAK,QACHlrB,EAAMirB,WAAa,OAOvB3rB,OAAOC,OAAO6T,KAAKgS,QAAQplB,MAAOA,EACnC,CAED,OAAAmrB,GACE,OAAO/X,KAAKuS,YAAY0B,GACzB,CAED,SAAA+D,GACE,OAAOhY,KAAK+X,UAAUrsB,KAAIzC,GAAKA,EAAE0oB,OAClC,CAED,OAAA4F,GACE,OAAOvX,KAAKuS,YAAYwD,GACzB,CAED,SAAAtD,GACE,OAAOzS,KAAKuX,UAAU7rB,KAAIzC,GAAKA,EAAE2oB,OAClC,CAED,UAAAnC,GACE,MAAMD,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKwC,QAAQxhB,QAAQkhB,UAAY1R,KAAK0R,OAE5C,CAED,QAAApC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,OACL,OAAXA,GAAmBA,EAAOkR,QAAQpnB,WAAaA,EAASE,cAC1D8a,KAAK8S,KAAK9tB,EAASE,aAAc8a,KAAK0R,SAGxChE,MAAM4B,SAAS4F,EAChB,ECtIG,MAAO+C,WAA4BvJ,GACvCC,gBAAkB3pB,EAASI,cAC3BupB,eAAiB,WAGjB,aAAOG,CAAO5mB,GACZ,MAAMsP,EAAOkW,MAAMoB,SAOnB,OANAtX,EAAKhH,QAAQkhB,QAAUxpB,EAAMwpB,QAC7BxpB,EAAM+tB,OAASze,EAAKhH,QAAQylB,KAAOtpB,OAAOzE,EAAM+tB,OAC5C/tB,EAAMiuB,OAAyB,SAAhBjuB,EAAMiuB,QACvB3e,EAAKhH,QAAQ2lB,MAAQjuB,EAAMiuB,OAE7B3e,EAAK7H,aAAa,kBAAmB,SAC9B6H,CACR,CAED,WAAIka,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,QAAIuE,GACF,OAAO/pB,OAAOkqB,OAAOpW,KAAKgS,QAAQxhB,QAAS,OAC5C,CAED,QAAIylB,CAAK/tB,GACHA,EACF8X,KAAKgS,QAAQxhB,QAAQylB,KAAO,OAG5BjW,KAAKgS,QAAQhhB,gBAAgB,YAEhC,CAED,SAAImlB,GACF,OAAOnW,KAAKgS,QAAQxhB,QAAQ2lB,OAAS,EACtC,CAED,SAAIA,CAAMjuB,GACM,UAAVA,GAA+B,WAAVA,EACvB8X,KAAKgS,QAAQxhB,QAAQ2lB,MAAQjuB,EAG7B8X,KAAKgS,QAAQhhB,gBAAgB,aAEhC,CAED,OAAAknB,CAAQhR,GACN,MAAMsI,EAAOxP,KAAKnP,SAAS0jB,WAC3B,IACIC,EADArrB,EAAI,EAER,MAAQqrB,EAAMhF,MACRrmB,IAAM+d,GAGV/d,IAEF,OAAOqrB,CACR,CAED,gBAAA2D,CAAiBjR,EAAehf,GAC9B,MAAMmuB,EAAQrW,KAAK9E,OACnB,KAAMmb,aAAiBc,IACrB,MAAM,IAAIiB,UAAU,sDAEtB,MAAM9nB,EAAM0P,KAAKkY,QAAQhR,GACnBzhB,EAAiBua,KAAK3C,OAAOyR,OAAO9pB,EAASK,SAAU6C,GAC7D,GAAImuB,EAAMJ,KAAM,CAEd,MAAMzG,EAAOxP,KAAKnP,SAAS0jB,WAC3B,IAAIC,EACJ,KAAQA,EAAMhF,KACZ,GAAIgF,EAAIvmB,MAAQxI,EAAewI,OAASvI,EAAYC,eAAgB,CAClE6uB,EAAIvmB,OAASxI,EAAewI,MAC5B,KACD,CAEJ,CACD+R,KAAKgQ,aAAavqB,EAAgB6K,EACnC,CAED,gBAAA+nB,CAAiBnR,GACf,MAAMmP,EAAQrW,KAAK9E,OACnB,KAAMmb,aAAiBc,IACrB,MAAM,IAAIiB,UAAU,0DAEtB,MAAM9nB,EAAM0P,KAAKkY,QAAQhR,GACrB5W,IACE+lB,EAAMJ,OACJ3lB,EAAIkf,KACLlf,EAAIkf,KAAwBvhB,OAASqC,EAAIrC,MAEnCqC,EAAI2f,OACV3f,EAAI2f,KAAwBhiB,OAASqC,EAAIrC,QAG9CqC,EAAIhB,SACJ+mB,EAAMgB,oBAET,CAED,UAAA5H,GACE,MAAMD,EAAOxP,KAAKwP,KACZrqB,EAAY6a,KAAK9E,OAIvB,OAHK/V,aAAqBgyB,KAAqBhyB,EAAU8wB,MACvD9wB,EAAUkyB,oBAGD,OAAT7H,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKkC,UAAY1R,KAAK0R,OAE5B,CAED,QAAApC,CAAS4F,GACP,MAAMha,EAAS8E,KAAK9E,QACdwW,QAAEA,EAAOuE,KAAEA,EAAIE,MAAEA,GAAUnW,KACnB,MAAV9E,GAAkBA,EAAOkR,QAAQpnB,WAAaA,EAASG,WACzD6a,KAAK8S,KAAK9tB,EAASG,UAAW,CAAEusB,UAASuE,OAAME,UAG/BlK,GAAejM,KAAMhb,EAASG,WACtCgxB,MAAQA,EAElBzI,MAAM4B,SAAS4F,EAChB,EC9HG,MAAOoD,WAA2B5J,GACtCC,gBAAkB3pB,EAASE,aAC3BypB,eAAiB,MACjBA,iBAAmB,mBAEnB,aAAOG,CAAO5mB,GACZ,MAAMsP,EAAOkW,MAAMoB,SAmBnB,OAjBAtX,EAAKhH,QAAQkhB,QAAUxpB,EACvBsP,EAAKzL,iBACH,aACCxF,IACCA,EAAE4H,iBACF5H,EAAE0I,iBAAiB,IAErB,GAGFuI,EAAKzL,iBAAiB,QAASxF,IAC7BA,EAAE4H,gBAAgB,IAEpBqJ,EAAKzL,iBAAiB,YAAaxF,IACjCA,EAAE4H,iBACF5H,EAAEgyB,aAAcC,WAAa,MAAM,IAE9BhhB,CACR,CAED,WAAIka,GACF,OAAO1R,KAAKgS,QAAQxhB,QAAQkhB,OAC7B,CAED,UAAAjC,GACE,MAAMD,EAAOxP,KAAKwP,KAClB,OACW,OAATA,GACGA,EAAKpD,QAAQpnB,WAAagb,KAAKoM,QAAQpnB,UACvCwqB,EAAKkC,UAAY1R,KAAK0R,OAE5B,CAED,QAAA+G,CAASvR,EAAend,GACtB2jB,MAAM+K,SAASvR,EAAOnd,GACtB,MAAM2uB,EAAc1Y,KAAKuS,YAAY4C,IAC/BwD,EAAkB3Y,KAAKuS,YAAY0F,IACf,IAAtBS,EAAW3uB,QAA0C,IAA1B4uB,EAAe5uB,QAC5CiW,KAAK1Q,QAER,ECvCI,MAAMspB,GAA2B,iBAC3BC,GAAuB,CAClC,CACElV,KAAM,YACNmV,8SACAC,IAAK,mBACL9K,OAAS+K,IACPA,EAAYC,WAAU,GACtBD,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,cACNmV,4SACAC,IAAK,sBACL9K,OAAS+K,IACPA,EAAYG,WAAU,GACtBH,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,eACNmV,4SACAC,IAAK,mBACL9K,OAAS+K,IACPA,EAAYC,WAAU,GACtBD,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,aACNmV,0SACAC,IAAK,qBACL9K,OAAS+K,IACPA,EAAYG,WAAU,GACtBH,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,SAER,CAEEA,KAAM,YACNmV,wPACAC,IAAK,aACL9K,OAAS+K,IACPA,EAAYI,aACZJ,EAAYE,gBAAgB,GAGhC,CAEEvV,KAAM,YACNmV,6NACAC,IAAK,aACL9K,OAAS+K,IACPA,EAAYK,YACZL,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,SAER,CACEA,KAAM,YACNmV,oVACAC,IAAK,aACL9K,OAAS+K,IACPA,EAAYM,YACZN,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,eACNmV,mVACAC,IAAK,gBACL9K,OAAS+K,IACPA,EAAYO,YACZP,EAAYE,gBAAgB,GAGhC,CACEvV,KAAM,cACNmV,2YACAC,IAAK,eACL9K,OAAS+K,IACPA,EAAYQ,aAAa,GAG7B,CACE7V,KAAM,SAER,CACEA,KAAM,kBACNmV,+PACAW,eAAe,EACfV,IAAK,uBACLjvB,IAAK,mBACLmkB,OAAQ,CAAC+K,EAAaU,EAAanvB,KACjCyuB,EAAYW,aAAaD,EAAa,mBAAoBnvB,GAAO,EAAK,GAG1E,CACEoZ,KAAM,cACNmV,sYACAW,eAAe,EACfV,IAAK,mBACLjvB,IAAK,eACLmkB,OAAQ,CAAC+K,EAAaU,EAAanvB,KACjCyuB,EAAYW,aAAaD,EAAa,eAAgBnvB,GAAO,EAAK,IAM3DqvB,GAAa,IAAItI,IACxB5qB,GAAMR,EAAU,aACT2zB,GAAiB,CAC5BC,cAAepzB,GAAIP,IACnB4zB,KAAMrzB,GAAIF,GAAG,QACbmF,KAAMjF,GAAIJ,GAAG,QACboB,IAAKhB,GAAIJ,GAAG,OACZoF,IAAKhF,GAAIJ,GAAG,WACZ0zB,OAAQtzB,GAAIJ,GAAG,sBCnIJ2zB,GAWQjB,YAA6BkB,MAVhD3yB,QACA4yB,KAA2B,KAC3BC,gBACAC,YAAiC,GACjC3zB,IAAMR,EAAU,QAChBo0B,eAAiB,SAAS3O,OAC1B4O,yBAA2C,CACzCtc,UAAW,OAGb,WAAAuP,CAAmBwL,EAA6BkB,EAAc3yB,GAA3CyY,KAAWgZ,YAAXA,EAA6BhZ,KAAKka,MAALA,EAC9Cla,KAAKzY,QAAUyY,KAAKwa,eAAejzB,GAEnC,IACE,MAAMkzB,EAAeC,aAAaC,QAAQ3a,KAAKzY,QAAQqzB,kBAAoB,KAC3E,IAAIC,EAAaC,KAAKC,MAAMN,GACvBtzB,EAAQ0zB,KACXA,EAAa,IAEfA,EAAWpwB,OAAM,IAAwBiB,KAAK2E,GAAcupB,GAAW9xB,IAAIuI,IAC5E,CACD,MAAQ,CAER2P,KAAKoa,gBAAkBvO,IAAUthB,IAC/B,IAAKA,EAAO,OAEZ,GADAqvB,GAAW9xB,IAAIyC,GACXqvB,GAAWlN,KD+FY,GC/Fc,CACvC,MAAMsO,EAAa5zB,MAAMsJ,KAAKkpB,IAAYnvB,OAAM,IAChDmvB,GAAWqB,QACXD,EAAWtvB,KAAI3E,GAAK6yB,GAAW9xB,IAAIf,IACpC,CAED2zB,aAAaQ,QAAQlb,KAAKzY,QAAQqzB,gBAAiBE,KAAKK,UAAU/zB,MAAMsJ,KAAKkpB,MAC7E,MAAMwB,EAAoBh0B,MAAMsJ,KAAK/I,SAASgJ,iBAAiB,IAAIqP,KAAKsa,kBAAkBT,GAAeE,SACzG,IAAK,MAAMsB,KAAoBD,EAAmB,CAChD,MAAME,EAAe3zB,SAASC,cAAc,OAC5C0zB,EAAazzB,UAAUC,IAAI+xB,GAAeluB,MAC1C2vB,EAAa1uB,MAAMG,gBAAkBJ,OAAOpC,GAEtBnD,MAAMsJ,KAAK2qB,EAAiB1qB,iBAAiB,IAAIkpB,GAAeluB,kCAAkC2vB,EAAa1uB,MAAMG,sBACzHhD,QAAU,GAC1BsxB,EAAiBrzB,YAAYszB,GAG/B,MAAMC,EAAYn0B,MAAMsJ,KAAK2qB,EAAiB1qB,iBAAiB,IAAIkpB,GAAeluB,SAASlB,MAAM,GAAG,IACpG,IAAK,MAAMkB,KAAQ4vB,EACjB5vB,EAAK2D,QAER,IACA,IACJ,CAED,cAAAkrB,CAAejzB,GAQb,OAPc2E,OAAOC,OAAO,CAC1BqvB,SAAS,EACTC,SAAU,CAAE,EACZC,MAAO7C,GACP+B,gBAAiB,wBACjB30B,mBACCsB,EAEJ,CAED,aAAAo0B,GACE,OAAO/B,EACR,CAED,UAAAgC,GACE,MAAMC,EAAUl0B,SAASC,cAAc,OACvCi0B,EAAQh0B,UAAUC,IAAIkY,KAAKtZ,IAAIP,KAC/B+F,OAAOC,OAAO0vB,EAAQjvB,MAAO,CAAE6L,QAAS,SACxC,IAAK,MAAMqjB,KAAQ9b,KAAKzY,QAAQm0B,MAAO,CACrC,MAAM/X,KAAEA,EAAImV,KAAEA,EAAI7K,OAAEA,EAAMwL,cAAEA,EAAe3vB,IAAKiyB,EAAOhD,IAAEA,EAAM,IAAO+C,EAChEnwB,EAAOhE,SAASC,cAAc,QAEpC,GADA+D,EAAK9D,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,SAClB,UAATqd,EACFhY,EAAK9D,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,cAE5B,CAEH,MAAMg1B,EAAUr0B,SAASC,cAAc,KAUvC,GATAo0B,EAAQn0B,UAAUC,IAAI,QAClBb,EAAW6xB,GACbkD,EAAQh0B,YAAY8wB,EAAK9Y,KAAKgZ,cAG9BgD,EAAQC,UAAYnD,EAEtBntB,EAAK3D,YAAYg0B,GAEbvC,GAAiBsC,EAAS,CAC5B,MAAM1B,EAAcra,KAAKkc,kBAAkBvwB,EAAM,CAAEgY,OAAMmV,OAAM7K,SAAQwL,gBAAe3vB,IAAKiyB,EAAShD,QACpG/Y,KAAKqa,YAAYrU,KAAKqU,GACtB1uB,EAAK9D,UAAUC,IAAI8wB,GACpB,MAEC3xB,EAAWgnB,IAAWtiB,EAAKI,iBAAiB,SAAUxF,IACpDyZ,KAAKka,MAAMpnB,QACXmb,EAAOjO,KAAKgZ,YAAahZ,KAAKmc,iBAAkB51B,EAAE,IACjD,GAIL,MAAMi1B,EAAUxb,KAAKzY,QAAQk0B,SAAS9X,IAASoV,EAC3C/Y,KAAKzY,QAAQi0B,SAAWA,GAAWzC,GACrC/Y,KAAKoc,cAAczwB,EAAM6vB,EAE5B,CACDK,EAAQ7zB,YAAY2D,EACrB,CACD,OAAOkwB,CACR,CAED,iBAAAK,CAAkBvwB,GAAmBsiB,OAAEA,EAAMnkB,IAAEA,IAC7C,MAAMuyB,EAAqB10B,SAASC,cAAc,OAGlD,GAFAy0B,EAAmBx0B,UAAUC,IAAI+xB,GAAeC,eAE5C9Z,KAAKzY,QAAQtB,gBAAgB8D,OAAS,EAAG,CAC3C,MAAMuyB,EAAW30B,SAASC,cAAc,OACxC00B,EAASz0B,UAAUC,IAAI+xB,GAAenuB,KACtC,IAAK,MAAM6wB,KAAUvc,KAAKzY,QAAQtB,gBAAiB,CACjD,MAAMu2B,EAAc70B,SAASC,cAAc,OAC3C40B,EAAY30B,UAAUC,IAAI+xB,GAAeG,QACzC,IAAK,MAAMzvB,KAASgyB,EAAQ,CAC1B,MAAMhB,EAAY5zB,SAASC,cAAc,OACzC2zB,EAAU1zB,UAAUC,IAAI+xB,GAAeluB,MACvC4vB,EAAU3uB,MAAMG,gBAAkBxC,EAClCiyB,EAAYx0B,YAAYuzB,EACzB,CACDe,EAASt0B,YAAYw0B,EACtB,CACDH,EAAmBr0B,YAAYs0B,EAChC,CAED,MAAME,EAAc70B,SAASC,cAAc,OAC3C40B,EAAY30B,UAAUC,IAAI+xB,GAAeG,QACzC9tB,OAAOC,OAAOqwB,EAAY5vB,MAAO,CAC/B6vB,UAAW,QAEb,MAAMC,EAAmB/0B,SAASC,cAAc,OAChD80B,EAAiB70B,UAAUC,IAAI+xB,GAAenyB,IAAK,eACnDg1B,EAAiB30B,YAAciY,KAAKgZ,YAAYzxB,QAAQ4J,MAAMwrB,YAC9DD,EAAiB3wB,iBAAiB,SAAS,KACzCkiB,EAAOjO,KAAKgZ,YAAahZ,KAAKmc,iBAAkB,cAAc,IAEhE,MAAMS,EAAaj1B,SAASC,cAAc,OAC1Cg1B,EAAW/0B,UAAUC,IAAI+xB,GAAenyB,IAAK,SAC7Ck1B,EAAW70B,YAAciY,KAAKgZ,YAAYzxB,QAAQ4J,MAAM8pB,MACxD2B,EAAW7wB,iBAAiB,SAAS,KACnCkiB,EAAOjO,KAAKgZ,YAAahZ,KAAKmc,iBAAkB,KAAK,IAEvD,MAAMU,EAAcl1B,SAASC,cAAc,OAC3Ci1B,EAAYh1B,UAAUC,IAAI+xB,GAAenyB,IAAK,UAC9Cm1B,EAAY90B,YAAciY,KAAKgZ,YAAYzxB,QAAQ4J,MAAM2rB,OACzD,MAAMC,EAAc7yB,EAAkB,CACpCgD,SAAW3C,IACT0jB,EAAOjO,KAAKgZ,YAAahZ,KAAKmc,iBAAkB5xB,GAChDyV,KAAKoa,gBAAgB7vB,EAAM,KAGvB6f,KAAM4S,EAAiB3S,QAAS4S,GAAuBjU,GAAc6T,EAAa,CACxF5e,UAAW,QACXzW,KAAM,QACNC,QAASs1B,EACT93B,UAAW43B,IAQb,GALAL,EAAYx0B,YAAY00B,GACxBF,EAAYx0B,YAAY40B,GACxBJ,EAAYx0B,YAAY60B,GACxBR,EAAmBr0B,YAAYw0B,GAE3B5C,GAAWlN,KAAO,EAAG,CACvB,MAAMwQ,EAAgBv1B,SAASC,cAAc,OAC7Cs1B,EAAcr1B,UAAUC,IAAI+xB,GAAeE,KAAM/Z,KAAKsa,gBACtD,IAAK,MAAM6C,KAAevD,GAAY,CACpC,MAAM2B,EAAY5zB,SAASC,cAAc,OACzC2zB,EAAU1zB,UAAUC,IAAI+xB,GAAeluB,MACvC4vB,EAAU3uB,MAAMG,gBAAkBowB,EAClCD,EAAcl1B,YAAYuzB,EAC3B,CACDc,EAAmBr0B,YAAYk1B,EAChC,CAeD,OAbAb,EAAmBtwB,iBAAiB,SAAUxF,IAC5CA,EAAE0I,kBACF+tB,IACA,MAAMrxB,EAAOpF,EAAEoI,OACTpE,EAAQoB,EAAKiB,MAAMG,gBACnB2sB,EAAc1Z,KAAKmc,iBACzB,GAAIxwB,GAAQpB,GAASmvB,EAAY3vB,OAAS,EAAG,CAE3C,GADAiW,KAAKgZ,YAAYW,aAAaD,EAAa5vB,EAAMS,GAAO,IACnDoB,EAAK2qB,QAAQ,IAAIuD,GAAeluB,QAAS,OAC9CqU,KAAKoa,gBAAgB7vB,EACtB,KAGIye,GAAcrd,EAAM,CACzBlE,QAAS40B,EACT,OAAAlT,CAAQU,GACN,MAAMuT,EAAUf,EAAmBvsB,SAASitB,GAI5C,OAHIlT,GAASuT,GACXJ,IAEKI,CACR,EACD,SAAA/T,GACE4T,GACD,KACEjd,KAAKua,0BAEX,CAED,cAAA4B,GACE,OAAOnc,KAAKgZ,YAAYqE,gBAAgB3D,aAAe,EACxD,CAED,aAAA0C,CAAczwB,EAAmB6qB,GAC/B,MAAM8G,EAAatU,GAAcrd,EAAM,CAAEkE,IAAK2mB,IAC9C8G,GAActd,KAAKqa,YAAYrU,KAAKsX,EACrC,CAED,MAAAvc,GACOf,KAAKma,MAASna,KAAKgZ,YAAYqE,gBAAmBrd,KAAKgZ,YAAYqE,eAAennB,UACvFhK,OAAOC,OAAO6T,KAAKma,KAAKvtB,MAAO,CAAE6L,QAAS,QAC3C,CAED,IAAA2R,GACEpK,KAAKma,MAAQjuB,OAAOC,OAAO6T,KAAKma,KAAKvtB,MAAO,CAAE6L,QAAS,SACvD,IAAK,MAAM6Q,KAAWtJ,KAAKqa,YACzB/Q,EAAQc,MAAK,EAEhB,CAED,OAAAC,GACE,IAAK,MAAMf,KAAWtJ,KAAKqa,YAAa/Q,EAAQe,UAC3CrK,KAAKma,OACVna,KAAKma,KAAK7qB,SACV0Q,KAAKma,KAAO,KACb,ECrPU,MAAAoD,GAAqB3G,IAAoCA,EAAcX,MAAgC,UAAxBW,EAAcT,YCI7FqH,GAiBQxE,YAA6BkB,MAhBhD1E,UAAoB,EACpBrwB,UACAs4B,UAAW,EACXC,aAAmC,KACnCC,qBAAuB3d,KAAK4d,iBAAiBnT,KAAKzK,MAClD6d,uBAAyB7d,KAAK8d,mBAAmBrT,KAAKzK,MACtD+d,uBAAyB/d,KAAKge,mBAAmBvT,KAAKzK,MAEtDie,UAAoB,EACpBC,aAAmC,KACnCC,qBAAuBne,KAAKoe,iBAAiB3T,KAAKzK,MAClDqe,uBAAyBre,KAAKse,mBAAmB7T,KAAKzK,MACtDue,uBAAyBve,KAAKwe,mBAAmB/T,KAAKzK,MAEtDye,QAAUv4B,EAAU,aAEpB,WAAAsnB,CAAmBwL,EAA6BkB,GAA7Bla,KAAWgZ,YAAXA,EAA6BhZ,KAAKka,MAALA,CAAgB,CAEhE,mBAAAwE,CAAoBC,GAClB,OAAQ,CACT,CAED,cAAAC,CAAeC,EAAYC,EAAYC,GAAoB,CAE3D,yBAAMC,EAAoBC,QAAEA,EAAOC,QAAEA,EAAOC,OAAEA,IAK5C,OAAO,IAAIxsB,SAASC,IAClB,MAAMnL,EAAUE,SAASC,cAAc,OACvCsE,OAAOC,OAAO1E,EAAQmF,MAAO,CAC3B0J,QAAS,WACT8oB,SAAU,OACVC,WAAY,QAEd,MAAMtG,EAAMpxB,SAASC,cAAc,KACnCmxB,EAAIhxB,YAAck3B,EAClB,MAAMK,EAAa33B,SAASC,cAAc,OAC1CsE,OAAOC,OAAOmzB,EAAW1yB,MAAO,CAC9B6L,QAAS,OACT8mB,eAAgB,WAChBC,IAAK,QAEP,MAAMntB,EAAY/K,EAAa,CAAEG,QAAS03B,IACpChtB,EAAa7K,EAAa,CAAEE,KAAM,UAAWC,QAASy3B,IAE5DI,EAAWt3B,YAAYqK,GACvBitB,EAAWt3B,YAAYmK,GACvB1K,EAAQO,YAAY+wB,GACpBtxB,EAAQO,YAAYs3B,GAEpB,MAAMjwB,MAAEA,GAAUZ,EAAa,CAAEC,MAAOjH,IAExC4K,EAAUtG,iBAAiB,SAAS,KAClC6G,GAAQ,GACRvD,GAAO,IAET8C,EAAWpG,iBAAiB,SAAS,KACnC6G,GAAQ,GACRvD,GAAO,GACP,GAEL,CAED,sBAAMuuB,GACJ,IAAK5d,KAAK0d,eAAiB1d,KAAK7a,YAAgC,IAAnB6a,KAAKwV,SAAiB,OACnE,MAAM8B,EAAOtX,KAAK7a,UAAUoyB,UACtBkI,EAAIn3B,OAAOoC,SAASsV,KAAK0d,aAAaltB,QAAQivB,GAAK,KACzD,IAAIC,EAAS1f,KAAK7a,UAAU8wB,KACxB0J,GAAa,EACjB,MAAMC,EAAiD,GACvD,GAAIF,EAAQ,CAEV,IAAIG,EAAOJ,EADYzf,KAAK7a,UAAU6sB,QAAQ1kB,wBAAwBW,MACrC,IACjC,MAAM6xB,EAAcxI,EAAKtX,KAAKwV,UAAUvnB,MACxC,GAAI4xB,EAAMC,EAAa,CAKrB,GADAD,EAAMz3B,KAAKD,IAAIzC,EAAYC,eAAgBk6B,GACvCvI,EAAKtX,KAAKwV,SAAW,IAAM8B,EAAKtX,KAAKwV,SAAW,GAAI,CACtD,MAAMrsB,EAAImuB,EAAKtX,KAAKwV,SAAW,GAAKxV,KAAKwV,SAAW,EAAIxV,KAAKwV,SAAW,EACxEoK,EAAW5Z,KAAK,CAAEkB,MAAO/d,EAAG8E,MAAOqpB,EAAKnuB,GAAG8E,MAAQ6xB,EAAcD,GAClE,MAECA,EAAM,IAERF,GAAa,EACbC,EAAW5Z,KAAK,CAAEkB,MAAOlH,KAAKwV,SAAUvnB,MAAO4xB,GAChD,MAIC,GAAIvI,EAAKtX,KAAKwV,SAAW,GAAI,CAC3B,MAAMuK,EAAoBD,EAAcxI,EAAKtX,KAAKwV,SAAW,GAAGvnB,MAChE4xB,EAAMz3B,KAAKC,IAAI03B,EAAoBr6B,EAAYC,eAAgBk6B,GAC/DF,GAAa,EACbC,EAAW5Z,KACT,CAAEkB,MAAOlH,KAAKwV,SAAUvnB,MAAO4xB,GAC/B,CAAE3Y,MAAOlH,KAAKwV,SAAW,EAAGvnB,MAAO8xB,EAAoBF,GAE1D,CAEJ,MAEC7f,KAAK7a,UAAU6sB,QAAQplB,MAAMqB,MAAQ,GACnC3F,OAAOC,WAAWyX,KAAK7a,UAAU6sB,QAAQplB,MAAMqB,OAC7CqpB,EAAKtX,KAAKwV,UAAUxD,QAAQ1kB,wBAAwBW,MACpDwxB,MAEJE,GAAa,EACbC,EAAW5Z,KAAK,CAAEkB,MAAOlH,KAAKwV,SAAUvnB,MAAOwxB,IASjD,GANA93B,SAASgG,KAAKgc,YAAY3J,KAAK0d,cAC/B1d,KAAK0d,aAAe,KACpB/1B,SAAS0G,oBAAoB,UAAW2R,KAAK2d,sBAC7Ch2B,SAAS0G,oBAAoB,YAAa2R,KAAK6d,wBAC/C7d,KAAKyd,UAAW,EAEZkC,EAAY,CACd,MAAMhI,EAAa3X,KAAK7a,UAAU6sB,QAAQ1kB,wBAAwBW,MAClE,GAAIyxB,EAAQ,CAEV,IAAIM,EAAc,EAClB,MAAMC,EAAe,IAAI3O,IAAIsO,EAAWl0B,KAAI,EAAGwb,QAAOjZ,YACpD+xB,GAAe/xB,EACRiZ,MAET,IAAK,MAAOA,EAAO5W,KAAQgnB,EAAK5qB,UAC1BuzB,EAAatT,IAAIzF,KACrB8Y,GAAe1vB,EAAIrC,OAGrB,GAAI+xB,EAAc,IAAK,CACrB,UAAWhgB,KAAKgf,oBAAoB,CAClCC,QAASjf,KAAKgZ,YAAYzxB,QAAQ4J,MAAM+uB,qBACxChB,QAASlf,KAAKgZ,YAAYzxB,QAAQ4J,MAAMiB,YACxC+sB,OAAQnf,KAAKgZ,YAAYzxB,QAAQ4J,MAAMmB,aAEvC,OAEF0N,KAAK7a,UAAUuyB,aACfgI,GAAS,EACT,IAAK,MAAOv2B,EAAGg3B,KAASP,EAAWlzB,UAAW,CAC5C,MAAMuB,MAAEA,EAAKiZ,MAAEA,GAAUiZ,EACzBP,EAAWz2B,GAAK,CACd+d,QACAjZ,MAAOA,EAAQ,IAAM0pB,EAExB,CACF,CACF,CAED,IAAK,MAAMzQ,MAAEA,EAAKjZ,MAAEA,KAAW2xB,EAC7BtI,EAAKpQ,GAAOjZ,MAAQ,GAAG7F,KAAKsB,MAAMuE,KAASyxB,EAAS,IAAM,OAC1D1f,KAAK4e,eAAe1X,EAAOwY,EAASzxB,EAAQ,IAAM0pB,EAAa1pB,EAAOyxB,EAEzE,CAED1f,KAAKka,MAAMkG,QAAQC,KAAKt6B,EAAaC,mBACtC,CAED,kBAAA83B,CAAmBv3B,GAEjB,GADAA,EAAE4H,kBACG6R,KAAK0d,eAAiB1d,KAAK7a,YAAgC,IAAnB6a,KAAKwV,SAAiB,OACnE,MAAM8B,EAAOtX,KAAK7a,UAAUoyB,UACtB+I,EAAgBhJ,EAAKtX,KAAKwV,UAAUxD,QAAQ1kB,wBAC5CizB,EAAYvgB,KAAK7a,UAAU6sB,QAAQ1kB,wBACzC,IAAIkzB,EAAOj6B,EAAEk6B,QAGb,GAAIzgB,KAAK7a,UAAU8wB,KAAM,CAGvB,MAAMyK,EAAYh7B,EAAYC,eAAiB,IAAO46B,EAAUtyB,MAChE,IAAI0yB,EAAWJ,EAAUltB,MACrBmtB,EAAOF,EAAcjtB,OAASikB,EAAKtX,KAAKwV,SAAW,KACrDmL,EAAWv4B,KAAKD,IAAImvB,EAAKtX,KAAKwV,SAAW,GAAGxD,QAAQ1kB,wBAAwB+F,MAAQqtB,EAAUJ,EAAczzB,KAAO6zB,IAErH,MAAME,EAAWN,EAAcptB,EAAIwtB,EACnCF,EAAOp4B,KAAKC,IAAID,KAAKD,IAAIq4B,EAAMI,GAAWD,EAC3C,MAGKpD,GAAkBvd,KAAK7a,WACrBm7B,EAAcjtB,MAAQmtB,EAAO96B,EAAYE,gBAC3C46B,EAAOF,EAAcjtB,MAAQ3N,EAAYE,eAIvC46B,EAAOF,EAAcptB,EAAIxN,EAAYE,gBACvC46B,EAAOF,EAAcptB,EAAIxN,EAAYE,eAK3C,IAAIqI,EAAQuyB,EAAOF,EAAcptB,EAMjC,OALIqqB,GAAkBvd,KAAK7a,aACzB8I,EAAQqyB,EAAcjtB,MAAQmtB,GAEhCxgB,KAAK0d,aAAa9wB,MAAMC,KAAO,GAAG2zB,MAClCxgB,KAAK0d,aAAaltB,QAAQivB,EAAI9yB,OAAOsB,GAC9B,CACLpB,KAAM2zB,EACNvyB,QAEH,CAED,kBAAA+vB,CAAmBz3B,GACjB,GAAiB,IAAbA,EAAEs6B,OAAc,OAEpB,GADAt6B,EAAE4H,kBACG6R,KAAK7a,UAAW,OAErB,MAAMmyB,EAAOtX,KAAK7a,UAAUoyB,UACtBuJ,EAAgB9gB,KAAK7a,UAAU6sB,QAAQ1kB,wBACvCyzB,EAAYD,EAAc7yB,MAEhC,GADA+R,KAAKwV,SAAWxV,KAAK0e,oBAAoBn4B,IAClB,IAAnByZ,KAAKwV,SAAiB,OAC1B,MAAMwL,EAAe1J,EAAKtX,KAAKwV,UAAUvnB,MACnCA,EAAQ+R,KAAK7a,UAAU8wB,KAAO+K,EAAe,IAAMD,EAAYC,EAErEr5B,SAASoE,iBAAiB,UAAWiU,KAAK2d,sBAC1Ch2B,SAASoE,iBAAiB,YAAaiU,KAAK6d,wBAE5C7d,KAAKyd,UAAW,EAEhB,MAAMwD,EAASt5B,SAASC,cAAc,OACtCq5B,EAAOp5B,UAAUC,IAAIkY,KAAKye,QAAQt4B,KAClC86B,EAAOp5B,UAAUC,IAAIkY,KAAKye,QAAQz3B,GAAG,QACrCi6B,EAAOzwB,QAAQivB,EAAI9yB,OAAOsB,GAE1B,MAAMizB,EAAa,CACjBp0B,IAAKg0B,EAAc3tB,EACnBtG,KAAMtG,EAAEk6B,QACR5rB,OAAQisB,EAAcjsB,QAExB3I,OAAOC,OAAO80B,EAAOr0B,MAAO,CAC1BE,IAAK,GAAGo0B,EAAWp0B,QACnBD,KAAM,GAAGq0B,EAAWr0B,SACpBgI,OAAQ,GAAGqsB,EAAWrsB,aAExB,MAAMhG,EAAWlH,SAASgG,KAM1B,OALAkB,EAAS7G,YAAYi5B,GAEjBjhB,KAAK0d,cAAc7uB,EAAS8a,YAAY3J,KAAK0d,cACjD1d,KAAK0d,aAAeuD,EAEbC,CACR,CAED,mBAAAC,CAAoBxC,GAClB,OAAQ,CACT,CAED,eAAAyC,CAAgBvC,EAAYwC,GAAc,CAE1C,gBAAAjD,GACE,IAAKpe,KAAK7a,YAAc6a,KAAKke,eAAmC,IAAnBle,KAAKie,SAAiB,OACnE,MAAMt1B,EAAIL,OAAOoC,SAASsV,KAAKke,aAAa1tB,QAAQ7H,GAAK,KAE5CqX,KAAK7a,UAAU4yB,UACvB/X,KAAKie,UAAU/J,UAAU,GAAGvrB,OACjCqX,KAAKohB,gBAAgBphB,KAAKie,SAAUt1B,GAEpChB,SAASgG,KAAKgc,YAAY3J,KAAKke,cAC/Ble,KAAKke,aAAe,KACpBv2B,SAAS0G,oBAAoB,UAAW2R,KAAKme,sBAC7Cx2B,SAAS0G,oBAAoB,YAAa2R,KAAKqe,wBAC/Cre,KAAKyd,UAAW,EAChBzd,KAAKka,MAAMkG,QAAQC,KAAKt6B,EAAaC,mBACtC,CAED,kBAAAs4B,CAAmB/3B,GACjB,IAAKyZ,KAAK7a,YAAc6a,KAAKke,eAAmC,IAAnBle,KAAKie,SAAiB,OACnE13B,EAAE4H,iBACF,MACMd,EADO2S,KAAK7a,UAAU4yB,UACV/X,KAAKie,UAAUjM,QAAQ1kB,wBACzC,IAAIg0B,EAAO/6B,EAAEg7B,QAMb,OALID,EAAOj0B,EAAK8F,EAAIzN,EAAYI,iBAC9Bw7B,EAAOj0B,EAAK8F,EAAIzN,EAAYI,gBAE9Bka,KAAKke,aAAatxB,MAAME,IAAM,GAAGw0B,MACjCthB,KAAKke,aAAa1tB,QAAQ7H,EAAIgE,OAAO20B,EAAOj0B,EAAK8F,GAC1C,CACLrG,IAAKw0B,EACLzsB,OAAQysB,EAAOj0B,EAAK8F,EAEvB,CAED,kBAAAqrB,CAAmBj4B,GACjB,GAAiB,IAAbA,EAAEs6B,OAAc,OAEpB,GADAt6B,EAAE4H,kBACG6R,KAAK7a,UAAW,OAGrB,GADA6a,KAAKie,SAAWje,KAAKmhB,oBAAoB56B,IAClB,IAAnByZ,KAAKie,SAAiB,OAE1Bje,KAAKyd,UAAW,EAChB91B,SAASoE,iBAAiB,UAAWiU,KAAKme,sBAC1Cx2B,SAASoE,iBAAiB,YAAaiU,KAAKqe,wBAE5C,MAGMxpB,EAHOmL,KAAK7a,UAAU4yB,UAGR/X,KAAKie,UAAUjM,QAAQ1kB,wBAAwBuH,OAC7DisB,EAAgB9gB,KAAK7a,UAAU6sB,QAAQ1kB,wBAEvC2zB,EAASt5B,SAASC,cAAc,OACtCq5B,EAAOp5B,UAAUC,IAAIkY,KAAKye,QAAQt4B,KAClC86B,EAAOp5B,UAAUC,IAAIkY,KAAKye,QAAQz3B,GAAG,QACrCi6B,EAAOzwB,QAAQ7H,EAAIgE,OAAOkI,GAE1B,MAAMqsB,EAAa,CACjBp0B,IAAKvG,EAAEg7B,QACP10B,KAAMi0B,EAAc5tB,EACpBjF,MAAO6yB,EAAc7yB,OAEvB/B,OAAOC,OAAO80B,EAAOr0B,MAAO,CAC1BE,IAAK,GAAGo0B,EAAWp0B,QACnBD,KAAM,GAAGq0B,EAAWr0B,SACpBoB,MAAO,GAAGizB,EAAWjzB,YAEvB,MAAMY,EAAWlH,SAASgG,KAM1B,OALAkB,EAAS7G,YAAYi5B,GAEjBjhB,KAAKke,cAAcrvB,EAAS8a,YAAY3J,KAAKke,cACjDle,KAAKke,aAAe+C,EAEbC,CACR,CAED,MAAAngB,GAAW,CACX,OAAAsJ,GAAY,QChVDmX,GA0BQtH,MAAqB5kB,WAA4B+gB,MAA2BoL,mBAzB/FC,QAAkB,GAClBlC,IAAc,EACdmC,KAAe,EACfC,YAAsB,EACtBC,aAAuB,EACvBC,OAAiB,EACjBC,OAAiB,EACjBC,UAAoB,GACpBC,WAAqB,GACrBvV,KAAe,GACfwV,WAGI,CACAC,EAAG,EACHC,EAAG,GAGPC,GACAp9B,UACAq9B,UACAC,MAAqB56B,SAASC,cAAc,OAC5CsmB,cAAqD,GACrDsU,YACA97B,IAAMR,EAAU,aAChB,WAAAsnB,CAAmB0M,EAAqB5kB,EAA4B+gB,EAA2BoL,GAA5EzhB,KAAKka,MAALA,EAAqBla,KAAU1K,WAAVA,EAA4B0K,KAAKqW,MAALA,EAA2BrW,KAAkByhB,mBAAlBA,EAC7FzhB,KAAK/a,UAAYoxB,EAAMoM,cACvBziB,KAAKwiB,YAAcxiB,KAAK1K,WACpB,CACEoX,KAAM,SACNhJ,OAAQ,eACRgf,gBAAiB,YACjBC,WAAY,eACZzuB,KAAM,IACN+J,UAAW,MACX2kB,OAAQ,WAEV,CACElW,KAAM,QACNhJ,OAAQ,cACRgf,gBAAiB,aACjBC,WAAY,cACZzuB,KAAM,IACN+J,UAAW,OACX2kB,OAAQ,WAEd5iB,KAAK6iB,gBACL7iB,KAAKqiB,GAAK,IAAIlhB,gBAAe,KAC3BnB,KAAKe,QAAQ,IAEff,KAAKqiB,GAAGzf,QAAQyT,GAChBrW,KAAKsiB,UAAYtiB,KAAK8iB,kBACtB9iB,KAAK+iB,uBACLhV,GAAeiV,KAAKhjB,KAAMA,KAAKka,MAAMtvB,MAAM,IAAMoV,KAAK+iB,yBACtD/iB,KAAKijB,eACN,CAED,MAAAliB,GACEf,KAAK6iB,gBACL7iB,KAAK+iB,sBACN,CAED,oBAAAA,GACE,MAAQn1B,WAAYs1B,EAAex1B,UAAWy1B,GAAkBnjB,KAAKka,MAAMtvB,MACnEmR,WAAYqnB,EAAqBpnB,UAAWqnB,GAAuBrjB,KAAK/a,WACxEgJ,MAAOq1B,EAAgBzuB,OAAQ0uB,GAAoBvjB,KAAK/a,UAAUqI,yBAClEW,MAAO0pB,EAAY9iB,OAAQ2uB,GAAgBxjB,KAAKqW,MAAM/oB,wBAE9D,IAAI4F,EAAIkwB,EACJjwB,EAAIkwB,EACJrjB,KAAK1K,WACPpC,GAAK9K,KAAKC,IAAIi7B,EAAgB3L,GAG9BxkB,GAAK/K,KAAKC,IAAIk7B,EAAiBC,GAIjC,MAAM5M,EAAgBvI,EAAMe,KAAKpP,KAAKqW,OAClCO,GAAyC,SAAxBA,EAAcT,QACjCjjB,GAAK8M,KAAKqW,MAAMta,WAAaqnB,GAG/Bl3B,OAAOC,OAAO6T,KAAKsiB,UAAU11B,MAAO,CAClC,CAACoT,KAAKwiB,YAAY9V,MAAO,GAAG1M,KAAK1K,WAAaiuB,EAAkBD,MAChEjqB,UAAW,aAAanG,EAAIgwB,QAAoB/vB,EAAIgwB,SAEtDnjB,KAAKyjB,uBAAuBzjB,KAAK/a,UAClC,CAED,aAAA49B,GACE,MAAMtnB,EAAeyE,KAAK/a,UAAUsW,aAAeyE,KAAKwf,IAClDlkB,EAAc0E,KAAK/a,UAAUqW,YAAc0E,KAAKwf,IAChDkE,EAAiBnoB,GAAgB,EAAIyE,KAAK/a,UAAU+Y,aACpD2lB,EAAgBroB,GAAe,EAAI0E,KAAK/a,UAAU8Y,YAClDlJ,EAASzM,KAAKD,IAAIu7B,EAAgB1jB,KAAK0hB,SACvCzzB,EAAQ7F,KAAKD,IAAIw7B,EAAe3jB,KAAK0hB,SAC3C1hB,KAAK8hB,OAAS4B,GAAkBnoB,EAAemoB,IAAmB7uB,GAAU0G,EAAe1G,IAC3FmL,KAAK+hB,OAAS4B,GAAiBroB,EAAcqoB,IAAkB11B,GAASqN,EAAcrN,IAEtF+R,KAAKgiB,UAAY/zB,EAAQ+R,KAAKwf,IAAMlkB,EAAc,GAAGrN,MAAY,GACjE+R,KAAKiiB,WAAaptB,EAASmL,KAAKwf,IAAMjkB,EAAe,GAAG1G,MAAa,GACrEmL,KAAK0M,KAAO1M,KAAK1K,WAAa0K,KAAKiiB,WAAajiB,KAAKgiB,SACtD,CAED,eAAAc,GACE,MAAMR,EAAY36B,SAASC,cAAc,OACzC06B,EAAUz6B,UAAUC,IAAIkY,KAAKtZ,IAAIP,KACjCm8B,EAAUz6B,UAAUC,IAAIkY,KAAK1K,WAAa0K,KAAKtZ,IAAIM,GAAG,YAAcgZ,KAAKtZ,IAAIM,GAAG,cAAegZ,KAAKtZ,IAAIM,GAAG,gBAC3GkF,OAAOC,OAAOm2B,EAAU11B,MAAO,CAC7B6L,QAAS,SAEXuH,KAAKuiB,MAAM16B,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,UAErC,MAAMs9B,EAA4Br9B,IAChC,IAAwB,IAApByZ,KAAK4hB,WAAsB,OAC/B,MAAMiC,EAAW7jB,KAAKkiB,WAAWliB,KAAKwiB,YAAYtuB,MAClD,IAAK2vB,EAAU,OAEf,MAAMC,EAAc9jB,KAAKsiB,UAAUtiB,KAAKwiB,YAAY9e,SAAW,EAC3D1D,KAAK/a,UAAU+a,KAAKwiB,YAAYG,aAAe3iB,KAAK1K,WAAa0K,KAAK8hB,OAAS9hB,KAAK+hB,QACpF/hB,KAAKuiB,MAAMviB,KAAKwiB,YAAY9e,QAG1BqgB,EAA2D,MAFmD,GAApG/jB,KAAKsiB,UAAUh1B,wBAAwB0S,KAAKwiB,YAAYvkB,WAAa1X,EAAEyZ,KAAKwiB,YAAYI,UAC7E5iB,KAAKuiB,MAAMviB,KAAKwiB,YAAY9e,QAAUmgB,IACMC,EAAe9jB,KAAKsiB,UAAUtiB,KAAKwiB,YAAY9e,QACtH1D,KAAK/a,UAAU+a,KAAKwiB,YAAYE,iBAAoBqB,EAA0B/jB,KAAK/a,UAAU+a,KAAKwiB,YAAYG,YAAe,GAAG,EAE5HqB,EAAyB,KAC7BhkB,KAAKkiB,WAAWliB,KAAKwiB,YAAYtuB,MAAQ,EACzC8L,KAAK4hB,YAAa,EAClBj6B,SAAS0G,oBAAoB,YAAau1B,GAC1Cj8B,SAAS0G,oBAAoB,UAAW21B,GACpChkB,KAAK6hB,cACP7hB,KAAKsiB,UAAU11B,MAAM6L,QAAU,OAChC,EAEGwrB,EAAa19B,IACjBA,EAAE29B,2BACFlkB,KAAK4hB,YAAa,EAClBj6B,SAASoE,iBAAiB,YAAa63B,GACvCj8B,SAASoE,iBAAiB,UAAWi4B,GAErCr8B,SAASw8B,cAAgB,KAAM,CAAK,EAEtCnkB,KAAKuiB,MAAMx2B,iBAAiB,aAAcxF,IAExC,GADAA,EAAE0I,kBACE1I,EAAE69B,SAAW,CAAC,EAAG,GAAG/vB,SAAS9N,EAAEs6B,QAAS,OAE5CtzB,OAAO82B,gBAAgBC,kBACvBL,EAAU19B,GAEV,MAAMiZ,EAAKjZ,EAAEg+B,cACR/kB,IACLQ,KAAKkiB,WAAWliB,KAAKwiB,YAAYtuB,MAAQsL,EAAGQ,KAAKwiB,YAAY9e,SAAWnd,EAAEyZ,KAAKwiB,YAAYI,QAAUpjB,EAAGlS,wBAAwB0S,KAAKwiB,YAAYvkB,YAAW,IAE9J,MAAMumB,EAAkB,CAACxkB,KAAKqW,MAAOiM,GACrC,IAAK,MAAM9iB,KAAMglB,EACfhlB,EAAGzT,iBAAiB,aAAciU,KAAKijB,eACvCzjB,EAAGzT,iBAAiB,aAAciU,KAAKykB,eAQzC,OALA1W,GAAeiV,KAAKhjB,KAAMA,KAAK/a,WAAW,KACxC+a,KAAKyjB,uBAAuBzjB,KAAK/a,UAAU,IAG7Cq9B,EAAUt6B,YAAYgY,KAAKuiB,OACpBD,CACR,CAED,sBAAAmB,CAAuB3Q,GACrB,MAAMpP,EAASoP,EAAK9S,KAAKwiB,YAAY9e,QAAU1D,KAAKwf,IACpDxf,KAAK2hB,KAAgD,IAAzC7O,EAAK9S,KAAKwiB,YAAYE,iBAAyBhf,GAAU1D,KAAK1K,WAAa0K,KAAK8hB,OAAS9hB,KAAK+hB,QAC1G71B,OAAOC,OAAO6T,KAAKuiB,MAAM31B,MAAO,CAC9B,CAACoT,KAAKwiB,YAAY9V,MAAO1M,KAAK0M,KAC9BrT,UAAW,YAAY2G,KAAKwiB,YAAYtuB,QAAQ8L,KAAK2hB,UAExD,CAEDsB,cAAgBpX,IAAS,KACvB7L,KAAK6hB,aAAc,EACnB7hB,KAAKsiB,UAAUj0B,oBAAoB,gBAAiB2R,KAAK0kB,4BACzD1kB,KAAKsiB,UAAU11B,MAAM6L,QAAUuH,KAAK0M,KAAO,QAAU,OACrDtJ,uBAAsB,KACpBpD,KAAKsiB,UAAUz6B,UAAUyH,OAAO0Q,KAAKtZ,IAAIM,GAAG,eAAe,GAC3D,GACD,KAEHy9B,cAAgB5Y,IAAS,KACvB7L,KAAK6hB,aAAc,EACnB7hB,KAAKsiB,UAAUj0B,oBAAoB,gBAAiB2R,KAAK0kB,4BACzD1kB,KAAKsiB,UAAUv2B,iBAAiB,gBAAiBiU,KAAK0kB,2BAA4B,CAAE1a,MAAM,IAC1FhK,KAAKsiB,UAAUz6B,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,eAAe,GACvD,KAEH09B,2BAA6B,KAC3B1kB,KAAKsiB,UAAU11B,MAAM6L,QAAWuH,KAAK4hB,YAAc5hB,KAAK0M,KAAQ,QAAU,MAAM,EAGlF,OAAArC,GACErK,KAAKqiB,GAAGngB,aACRiM,GAAiB6U,KAAKhjB,MACtBA,KAAKqW,MAAMhoB,oBAAoB,aAAc2R,KAAKijB,eAClDjjB,KAAKqW,MAAMhoB,oBAAoB,aAAc2R,KAAKykB,cACnD,ECrMH,MAAME,GAAQtW,EAAMC,OAAO,SACrBsW,GAAQvW,EAAMC,OAAO,eACrBuW,GAAQxW,EAAMC,OAAO,YAErBwW,GAAa,CAACznB,GAAoCqU,UAASC,QAAOC,YACtE,MAAM1pB,EAAQ,CACZwpB,UACAC,QACAC,QACAE,QAAS,EACTD,QAAS,GAELrsB,EAAY6X,EAAOyR,OAAO9pB,EAASQ,UAAW0C,GAC9CzC,EAAiB4X,EAAOyR,OAAO9pB,EAASS,eAAgByC,GACxDgoB,EAAQ7S,EAAOyR,OAAO,SAK5B,OAJAoB,EAAMloB,YAAYqV,EAAOyR,OAAO,UAChCrpB,EAAeuC,YAAYkoB,GAC3B1qB,EAAUwC,YAAYvC,GAEfD,CAAS,EAEZu/B,GAAgBvR,IACpB,IAAIvlB,EAAQ3F,OAAOC,WAAWirB,EAAKkC,aAAa,UAAYhwB,EAAYG,iBACxE,GAAIyC,OAAOkK,MAAMvE,GAAQ,CACvB,MAAM+2B,EAAaxR,EAAK5mB,MAAMqB,MAC9BA,EAAQ+2B,EAAa18B,OAAOC,WAAWy8B,GAAcxR,EAAKlY,WAC3D,CACD,OAAOrN,CAAK,EAwBDg3B,GAA+B,IAAI3T,IAAI,CAACtsB,EAASS,iBAExDy/B,GAAmBC,IACvBA,aAAWA,EAAQjqB,UAFQgR,EAGHiZ,EAAQjqB,SAHwB+pB,GAAgBtY,IAAIT,EAAKE,QAAQpnB,WAKnFkgC,GAAgBC,EAAQjqB,SALJ,IAACgR,CAMlB,QAEEkZ,GACXzW,kBAAoB,WACpBA,gBAA0B3pB,EAASE,aACnCypB,uBAAyB,CACvB,mCAAoC,CAClC0W,YAAY,EACZv7B,IAAK,YACLw7B,WAAW,EACX5hB,OAAQ,EACR,OAAA6hB,CAAgCC,EAActQ,GAC5C,MACMhJ,EADOlM,KAAKka,MAAMuL,QAAQD,EAAMte,OACpB,GAClB,GAAIgF,EAAK+D,gBAAgBqI,GAEvB,OADApM,EAAK+D,KAAK3gB,UACH,EAGT,GAAI4lB,EAAQ5E,OAAOtrB,EAASS,gBAAiB,CAE3C,GAAe,IADAymB,EAAKxI,OAAOuI,GAAeC,EAAMlnB,EAASS,iBAEvD,OAAO,CAEV,CAED,OAAO,CACR,GAEH,gCAAiC,CAC/B4/B,YAAY,EACZv7B,IAAK,SACLw7B,WAAW,EACX,OAAAC,CAAgCC,EAActQ,GAC5C,MAAMwB,EAAO1W,KAAKka,MAAMuL,QAAQD,EAAMte,OAChCgF,EAAOwK,EAAK,GACZgP,EAAehP,EAAK,GAC1B,IAAKxK,EAAKsD,gBAAgB8I,IAAsBpM,EAAKsD,gBAAgBuG,KAAmB2P,IAAiBxZ,EAAKniB,SAAW,EAAG,OAAO,EAEnI,GAAImrB,EAAQ5E,OAAOtrB,EAASS,gBAAiB,CAE3C,GAAIymB,IADmBD,GAAeC,EAAMlnB,EAASS,gBACzBoL,SAAS80B,MAAQD,IAAiBxZ,EAAKniB,SAAW,EAC5E,OAAO,CAEV,CACD,OAAO,CACR,GAEH,8BAA+B,CAE7Bs7B,YAAY,EACZv7B,IAAK,QACLw7B,WAAW,EACXhV,OAAQ,CAACtrB,EAASS,gBAClBY,OAAQ,KACRu/B,OAAQ,QACR,OAAAL,CAAgCC,GAC9B,MAAO9O,EAAMhT,GAAU1D,KAAKka,MAAMuL,QAAQD,EAAMte,OAGhD,GAFelH,KAAKka,MAAM2L,UAAUL,EAAMte,MAAQxD,EAAS,EAAG,GAEnD1e,EAASS,gBAClB,OAAO,EAGT,IAAIqgC,EAAW,EACXtR,EAAMkC,EACV,KAAe,OAARlC,GAAgBA,EAAIzqB,UAAY,GAGrC,GAFAyqB,EAAMA,EAAIvE,KACV6V,GAAY,EACRA,GAAY,EAGd,OAFA9lB,KAAKka,MAAM6L,WAAWP,EAAMte,MAAQ,EAAG,MACvClH,KAAKka,MAAM8L,aAAaR,EAAMte,MAAQ,EAAGmH,EAAM4X,QAAQC,SAChD,EAGX,OAAO,CACR,IAIL,eAAOhV,GACLoH,GAAmB6N,gBAAkB,CAAChP,IAEtCA,GAAgBgP,gBAAkB,CAAChR,GAAiB8C,IACpDd,GAAgBiP,kBAAoB9N,GAEpCL,GAAoBkO,gBAAkB,CAACpQ,IACvCkC,GAAoBmO,kBAAoBjP,GAExChC,GAAgBgR,gBAAkB,CAAClS,IACnCkB,GAAgBiR,kBAAoBjP,GAEpClD,GAAekS,gBAAkB,CAAC1Q,IAClCA,GAAgB2Q,kBAAoBjR,GAEpCM,GAAgB0Q,gBAAkB,CAAC9U,GAAsBuT,IACzDnP,GAAgB2Q,kBAAoBnS,GAEpC5C,GAAqB+U,kBAAoB3Q,GAEzCpH,EAAM6C,SAAS,CACb,eAAgBwC,GAChB,cAAe/D,GACf,CAAC,SAAS3qB,EAASC,aAAcypB,GACjC,iBAAkBqC,GAClB,eAAgBE,GAChB,qBAAsBN,GACtB,qBAAsBE,GACtB,CAAC,WAAW7rB,EAASQ,aAAciwB,GACnC,CAAC,WAAWzwB,EAASS,kBAAmB4rB,GACxC,CAAC,WAAWrsB,EAASO,YAAa0uB,GAClC,CAAC,WAAWjvB,EAASM,aAAc6vB,GACnC,CAAC,WAAWnwB,EAASK,YAAa0wB,GAClC,CAAC,WAAW/wB,EAASI,iBAAkB6yB,GACvC,CAAC,WAAWjzB,EAASG,aAAcgyB,GACnC,CAAC,WAAWnyB,EAASE,gBAAiBozB,KACrC,EACJ,CAED4B,MACA3yB,QACAs0B,QACAwK,mBAAqBxa,GAAS7L,KAAKsmB,cAAe,KAClDxtB,SACAud,MACAgH,eACAkJ,YACAC,eACAC,WACAC,iBAEA,WAAIta,GACF,OAAOpM,KAAKwN,WACb,CAED,WAAAA,CAAY0M,EAAc3yB,GAIxB,GAHAyY,KAAKka,MAAQA,EACbla,KAAKzY,QAAUyY,KAAKwa,eAAejzB,GAAW,CAAE,IAE3CyY,KAAKzY,QAAQ+6B,UAAW,CAC3B,MAAMqE,EAAezgC,EAAU,aAC/B8Z,KAAKka,MAAMj1B,UAAU4C,UAAUC,IAAI6+B,EAAangC,GAAG,UACpD,CAED,MAAMogC,EAAa1gC,EAAU,WAC7B8Z,KAAK6b,QAAU7b,KAAKka,MAAM2M,aAAaD,EAAWzgC,KAElD,MAAM2gC,EAAU9mB,KAAKka,MAAM6M,UAAU,WACrC,GAAID,GAAY9mB,KAAKka,MAAM8M,MAAqBC,QAAS,CACvD,MAAM,CAAGC,IAAWJ,EAAQK,UAAuC,IAAI/X,MAAK,EAAEzL,KAAUA,IAAS3D,KAAKoM,QAAQgb,YAAa,GAC3H,GAAIF,GAAiD,WAAvCA,EAAOlY,QAAQqY,oBAAkC,CAC7D,MAAMC,EAAUtnB,KAAKka,MAAM8M,MAAqBC,QAAQ7X,MAAKkY,GAAUA,EAAOJ,SAAWA,IACrFI,IACFA,EAAO17B,MAAMqwB,UAAYjc,KAAKzY,QAAQuxB,KACtC9Y,KAAKunB,kBAAkBvnB,KAAKzY,QAAQigC,aAAcF,GAClDA,EAAO17B,MAAMG,iBAAiB,aAAa,KACzC,IAAKiU,KAAKlH,WAAawuB,EAAQ,OAC/B,MAAMG,EAAaznB,KAAKlH,SAASxL,yBAC3BugB,YAAEA,GAAgBD,GAAmB6Z,GAC3C,GAAI5Z,EAAa,CACf,MAAM6Z,EAAYJ,EAAO17B,MAAM0B,wBAC/BpB,OAAOC,OAAOm7B,EAAO//B,QAAQqF,MAAO,CAAEyM,UAAW,2BAA2BquB,EAAUz5B,aACvF,MAEC/B,OAAOC,OAAOm7B,EAAO//B,QAAQqF,MAAO,CAAEyM,eAAWqR,GAClD,IAGN,CACF,CAED,MAAMid,EAAW3nB,KAAKka,MAAM6M,UAAU,YACtC,IAAK,MAAM9Y,KAAU/hB,OAAO07B,OAAOxC,GAAQyC,iBAErC5Z,EAAOoX,WACTsC,EAASG,SAAS7Z,EAAOnkB,KAAKi+B,QAAQ9Z,GAGtC0Z,EAASK,WAAW/Z,EAAOnkB,IAAKmkB,GAIpCjO,KAAKka,MAAMtvB,KAAKmB,iBACd,SACCk8B,IACC,MAAMC,EAAOD,EAAIE,eACjB,IAAKD,GAAQA,EAAKn+B,QAAU,EAAG,OAE/B,MAAMq+B,EAAYF,EAAK9Y,MAAK5X,GAAQA,EAAKwX,SAA0C,UAA/BxX,EAAKwX,QAAQnjB,eAA6B2L,EAAK3P,UAAUiI,SAAS,cACtH,GAAIs4B,EAAW,CACb,GAAIpoB,KAAKqW,QAAU+R,EAGjB,OAFApoB,KAAKqd,gBAAkBrd,KAAKqd,eAAenT,YAC3ClK,KAAKymB,YAAczmB,KAAKymB,WAAW1lB,UAGjCf,KAAKqW,OAAOrW,KAAKkZ,iBACrBlZ,KAAKqoB,eAAeD,EAAWlO,EAChC,MACQla,KAAKqW,OACZrW,KAAKkZ,gBACN,IAEH,GAEFlZ,KAAKka,MAAMoO,GAAGja,EAAMka,OAAOC,eAAe,CAACp7B,EAAeo4B,EAAciD,KACtE,GAAIr7B,IAAUihB,EAAMka,OAAOG,kBAAoBlD,EAAO,CACpD,MAAOmD,GAAa3oB,KAAKka,MAAMuL,QAAQD,EAAMte,QACtC0hB,GAAW5oB,KAAKka,MAAMuL,QAAQD,EAAMte,MAAQse,EAAMz7B,QACzD,IAAI8+B,EACAC,EACJ,IACED,EAAiB5c,GAAe0c,EAAY3jC,EAASG,UACtD,CACD,MAAQ,CACR,IACE2jC,EAAe7c,GAAe2c,EAAU5jC,EAASG,UAClD,CACD,MAAQ,CAGR,GAAIwjC,aAAqB5S,GAIvB,OAHK0S,IACHA,EAAW,CAAEvhB,MAAO,EAAGnd,OAAQ,IAE1BiW,KAAKka,MAAM8L,aAChBR,EAAMte,OAASuhB,EAASvhB,MAAQse,EAAMte,OAAS,EAAI,GACnDse,EAAMz7B,QAAU0+B,EAAS1+B,SAAWy7B,EAAMz7B,OAAS,EAAI0+B,EAAS1+B,OAASy7B,EAAMz7B,QAAU,EAAI,GAC7FskB,EAAM4X,QAAQ8C,MAGb,GAAIH,aAAmB7S,GAC1B,OAAO/V,KAAKka,MAAM8L,aAAaR,EAAMte,MAAQ,EAAGse,EAAMz7B,OAAS,EAAGskB,EAAM4X,QAAQ8C,MAG9EvD,EAAMz7B,OAAS,IACb8+B,IAAmBC,EACrB9oB,KAAKka,MAAM8L,aAAaR,EAAMte,MAAQ,EAAGse,EAAMz7B,OAAS,EAAGskB,EAAM4X,QAAQ8C,MAElED,IAAiBD,GACxB7oB,KAAKka,MAAM8L,aAAaR,EAAMte,MAAOse,EAAMz7B,OAAS,EAAGskB,EAAM4X,QAAQ8C,OAKpEF,GAAmBC,GACtB9oB,KAAKkZ,gBAER,KAEHlZ,KAAKka,MAAMoO,GAAGviC,EAAaC,oBAAoB,KAC7Cga,KAAKqd,gBAAkBrd,KAAKqd,eAAejT,MAAM,IAGnDpK,KAAKgpB,oBACLhpB,KAAKipB,oBACN,CAED,YAAApC,CAAaqC,GACX,GAAI7hC,EAAS6hC,GAAU,CACrB,MAAM1pB,EAAK7X,SAASC,cAAc,OAClC,IAAK,MAAMuhC,KAAaD,EAAQn1B,MAAM,KACpCyL,EAAG3X,UAAUC,IAAIqhC,GAGnB,OADAnpB,KAAK6b,QAAQ7zB,YAAYwX,GAClBA,CACR,CAGC,OADAQ,KAAK6b,QAAQ7zB,YAAYkhC,GAClBA,CAEV,CAED,cAAA1O,CAAejzB,GACb,OAAO2E,OAAOC,OAAO,CACnB+E,WAAW,EACXC,MAAO6O,KAAKopB,aAAa7hC,EAAQ4J,OAAS,CAAA,GAC1C8kB,MAAM,EACN6C,KAAM+L,GAAMxO,MACZgT,iBAAkB,CAAE,EACpBC,aAAc,CAAE,EAChBC,iBAAkB,CAAE,EACpBC,cAAe,CAAE,EACjBC,mBAAoB,CAAE,GACHliC,EACtB,CAED,YAAA6hC,CAAa7hC,GACX,OAAO2E,OAAOC,OAAO,CACnBkF,cAAe,SACfe,YAAa,UACbE,WAAY,SACZT,QAAS,MACTI,QAAS,SACTQ,uBAAwB,kCACxBqqB,OAAQ,SACR7B,MAAO,QACP0B,YAAa,cACbuD,qBAAsB,+IACrB34B,EACJ,CAED,iBAAAyhC,GACE,IAAItX,EAAU/F,KACVgG,EAAQhG,KACRqJ,EAAmB,GACnB0U,EAAY,EACZC,EAAW,EAGf,MAAMC,EAAuB,CAACpyB,EAAYqyB,EAAkBC,KAC1D,MAAMtE,EAAQxlB,KAAKka,MAAMmK,cAAa,GAEhC0F,EADU/pB,KAAKka,MAAM2L,UAAUL,GACDxgC,EAASS,gBAC7C,GAAIskC,EACF,IAAK,MAAMC,KAAMH,EAAMI,IAChBD,EAAG5Z,aAAY4Z,EAAG5Z,WAAa,IACpC4Z,EAAG5Z,WAAWprB,EAASS,gBAAkBskC,EAG7C,OAAOF,CAAK,EAEd7pB,KAAKka,MAAMgQ,UAAUC,WAAWnyB,KAAKoyB,UAAWR,GAChD5pB,KAAKka,MAAMgQ,UAAUC,WAAWnyB,KAAKqyB,aAAcT,GAEnD5pB,KAAKka,MAAMgQ,UAAUC,WAAW,SAAS,CAAC3yB,EAAMqyB,KAC9C,GAAyB,IAArBA,EAAMI,IAAIlgC,OAAc,OAAO8/B,EAGnC,GADe7pB,KAAKka,MAAM2L,YACf7gC,EAASS,gBAAiB,OAAO,IAAIk/B,GAEhD,MAAMsF,EAA6B,GAC7B3S,EAA8B,GACpC,IAAK,IAAInuB,EAAI,EAAGA,EAAI0gC,EAAMI,IAAIlgC,OAAQZ,IAAK,CACzC,MAAMinB,WAAEA,EAAUka,OAAEA,GAAWT,EAAMI,IAAI9gC,IACnCktB,MAAEA,EAAO,CAACrxB,EAASQ,WAAYA,KAAc+kC,GAAUna,GAAc,GACvEka,GAAWA,EAA+BtlC,EAASK,UACrDiyB,EAAKtR,KAAK,CAAEskB,WAGZL,EAAIjkB,KAAK,CAAEoK,WAAYma,EAAOD,UAEjC,CAED,MACME,EArXU,EAACpC,EAAwBqC,KAC7C,MAAMC,EAAY,IAAItjC,MAAMqjC,GAASE,KAAKjlC,EAAYG,iBAIhDyvB,EAAOluB,MAAMsJ,KAAK03B,EAAUz3B,iBAAiB,OACnD,IAAK,MAAMP,KAAOklB,EAAM,CACtB,MAAMsV,EAAQxjC,MAAMsJ,KAAKN,EAAIO,iBAAiB,OAC9C,IAAK,MAAOuW,EAAOsM,KAASoX,EAAMl+B,UAAW,CAC3C,KAAIwa,EAAQujB,GAKV,MALmB,CACnB,MAAMI,EAAY9F,GAAavR,GAC/BkX,EAAUxjB,GAAS2jB,GAAaH,EAAUxjB,EAC3C,CAIF,CACF,CACD,OAAOwjB,CAAS,EAkWMI,CAActzB,EAAqBwd,EAAOjrB,QAClCqW,QAAO,CAAC2qB,EAAQ98B,EAAO9E,KAC1CmuB,EAAKnuB,GAaR4hC,EAAO/kB,KAAKsR,EAAKnuB,IAZjB4hC,EAAO/kB,KAAK,CACVskB,OAAQ,CACN,CAACtlC,EAASK,UAAW,CACnBqsB,UACAE,MAAOoD,EAAO7rB,GACd8E,QACAgoB,MAAM,MAQP8U,IACN,IAUH,OATAd,EAAIlC,WAAWyC,GAEf9Y,EAAU/F,KACVqJ,EAAS,GACT0U,EAAY,EACZC,EAAW,EAEXM,EAAIlC,QAAQ,CAAEuC,OAAQ,OACtBL,EAAIjkB,KAAK,CAAEskB,OAAQ,OACZ,IAAI3F,GAAMsF,EAAI,IAGvBjqB,KAAKka,MAAMgQ,UAAUC,WAAW,YAAY,CAAC3yB,EAAMqyB,KACjD,MAAMI,EAA6B,GACnC,IAAK,IAAI9gC,EAAI,EAAGA,EAAI0gC,EAAMI,IAAIlgC,OAAQZ,IAAK,CACzC,MAAM6gC,EAAKH,EAAMI,IAAI9gC,GACjB6gC,IpC5b2D,QAA9C9iC,EoC4bE8iC,EAAGM,SpC5bgE,iBAARpjC,IoC4b7C8iC,EAAGM,OAAOtlC,EAASK,WAClD4kC,EAAIjkB,KAAKgkB,EAEZ,CpC/biB,IAAC9iC,EoCgcnB,OAAO,IAAIy9B,GAAMsF,EAAI,IAEvBjqB,KAAKka,MAAMgQ,UAAUC,WAAW,OAAQ3yB,IACtCwd,EAAO2U,GAAYhe,KACnB,MAAMke,GAAQ,IAAIlF,IAAQ2F,OAAO,CAC/B,CAACtlC,EAASK,UAAW6G,OAAOC,OAC1B4pB,GAAe7tB,MAAMsP,GACrB,CACEka,UACAE,MAAOoD,EAAO2U,OAKpB,OADAA,GAAY,EACLE,CAAK,IAGd7pB,KAAKka,MAAMgQ,UAAUC,WAAW,MAAM,CAAC3yB,EAAMqyB,KAC3ClY,EAAQhG,KACR+d,EAAY,EACZ,IAAK,MAAMM,KAAMH,EAAMI,IACrB,GACED,EAAG5Z,YAAc4Z,EAAG5Z,WAAWpjB,YAC5Bg9B,EAAG5Z,WAAWprB,EAASS,gBAC1B,CACA,MAAMulC,EAAYhB,EAAG5Z,WAAWprB,EAASS,gBACpCulC,EAAUp+B,QAAOo+B,EAAUp+B,MAAQ,IACvCo9B,EAAG5Z,WAAWprB,EAASS,gBAAwCmH,MAAQ,cAAco9B,EAAG5Z,WAAWpjB,cAAcg+B,EAAUp+B,OAC7H,CAEH,OAAOi9B,CAAK,IAGd,MAAMoB,EAAY,CAACzzB,EAAYqyB,KAC7B,MAAMrW,EAAOhc,EACP0zB,EAAazV,GAAgB1D,QAAQyB,GAC3C,IAAKwB,EAAO0U,GACV,IAAK,IAAIvgC,EAAIugC,EAAWvgC,GAAK,EAAGA,IACzB6rB,EAAO7rB,KAAI6rB,EAAO7rB,GAAKwiB,MAGhC,MAAMiG,EAAQoD,EAAO0U,GACrBA,GAAawB,EAAWpZ,QAGxB,MAAM5pB,EAAQgE,OAAOC,OACnB++B,EACA,CACExZ,UACAC,QACAC,UAIsB,SAAtB4B,EAAK5mB,MAAMu+B,SACbjjC,EAAM0E,MAAQ1E,EAAM0E,MAAMZ,WAAW,+CAAgD,KAEvF,MAAMi+B,EAAM,GACZ,IAAK,MAAMD,KAAMH,EAAMI,IAAK,CAC1B,MAAMK,OAAEA,EAAMla,WAAEA,GAAe4Z,EAC/B,GAAIA,EAAGM,OAAQ,CACb,MAAMC,EAAQ,IAAKna,UACZma,EAAMvlC,EAASQ,WACtBykC,EAAIjkB,KAAK,CAAEskB,SAAQla,WAAY,IAAKma,EAAO,CAACvlC,EAASS,gBAAiByC,IACvE,CACF,CACD,OAAO,IAAIy8B,GAAMsF,EAAI,EAGvBjqB,KAAKka,MAAMgQ,UAAUC,WAAW,KAAMc,GACtCjrB,KAAKka,MAAMgQ,UAAUC,WAAW,KAAMc,EACvC,CAED,cAAA5C,CAAehS,EAAoB6D,GAC7B7D,IACFrW,KAAKqW,MAAQA,EACTrW,KAAKzY,QAAQ6jC,YACfprB,KAAKqd,eAAiB,IAAIrd,KAAKzY,QAAQ6jC,UAAUprB,KAAMqW,EAAO6D,EAAOla,KAAKzY,QAAQ8hC,mBAEhFrpB,KAAKzY,QAAQ4uB,QACfnW,KAAKymB,WAAa,IAAIzmB,KAAKzY,QAAQ4uB,MAAMnW,KAAMqW,EAAO6D,EAAOla,KAAKzY,QAAQ+hC,eAExEtpB,KAAKzY,QAAQ+6B,YACftiB,KAAKwmB,eAAiB,IAAIxmB,KAAKzY,QAAQ+6B,UAAUtiB,KAAMqW,EAAO6D,EAAOla,KAAKzY,QAAQgiC,mBAEhFvpB,KAAKzY,QAAQ8jC,SACfrrB,KAAKumB,YAAc,IAAIvmB,KAAKzY,QAAQ8jC,OAAOrrB,KAAMqW,EAAO6D,EAAOla,KAAKzY,QAAQiiC,gBAE1ExpB,KAAKzY,QAAQ+jC,cACftrB,KAAK0mB,iBAAmB,IAAI1mB,KAAKzY,QAAQ+jC,YAAYtrB,KAAMqW,EAAO6D,EAAOla,KAAKzY,QAAQkiC,qBAG3F,CAED,cAAAvQ,GACMlZ,KAAKqd,iBACPrd,KAAKqd,eAAehT,UACpBrK,KAAKqd,oBAAiB3S,GAEpB1K,KAAKwmB,iBACPxmB,KAAKwmB,eAAenc,UACpBrK,KAAKwmB,oBAAiB9b,GAEpB1K,KAAKymB,aACPzmB,KAAKymB,WAAWpc,UAChBrK,KAAKymB,gBAAa/b,GAEhB1K,KAAKumB,cACPvmB,KAAKumB,YAAYlc,UACjBrK,KAAKumB,iBAAc7b,GAEjB1K,KAAK0mB,kBACP1mB,KAAK0mB,iBAAiBrc,UAExBrK,KAAKqW,WAAQ3L,CACd,CAED,uBAAM6c,CAAkBC,EAA+GF,GACrI,IAAKE,IAAiBvgC,EAAWugC,GAAe,OAChD,MAAMxZ,EAAMrmB,SAASC,cAAc,OACnComB,EAAInmB,UAAUC,IAAI,oBAClBkY,KAAKlH,eAAiB0uB,EAAaxnB,KAAMsnB,GACzCtZ,EAAIhmB,YAAYgY,KAAKlH,UACrBwuB,EAAO//B,QAAQS,YAAYgmB,EAC5B,CAED,YAAA2L,CAAaD,EAAqC6R,EAAcrjC,EAAagqB,GAAmB,GAC9F,GAA2B,IAAvBwH,EAAY3vB,OAChB,IAAK,MAAMyhC,KAAM9R,EACf8R,EAAGvZ,eAAesZ,EAAMrjC,EAAOgqB,EAElC,CAED,WAAAuZ,CAAYnW,EAAcoW,GACxB,GAAIpW,GAAQ,IAAMoW,GAAW,GAC3B,MAAM,IAAIrf,MAAM,+CAGlBrM,KAAKka,MAAMpnB,QACX,MAAM0yB,EAAQxlB,KAAKka,MAAMmK,eACzB,GAAa,MAATmB,EAAe,OACnB,MAAOmG,GAAe3rB,KAAKka,MAAM0R,QAAQpG,EAAMte,OAC/C,IAAKykB,EAAa,OAClB,GAAIzG,GAAgByG,GAClB,MAAM,IAAItf,MAAM,iBAAiBsf,EAAYvf,QAAQpnB,+BAGvD,MAAM6mC,EAAY18B,iBAAiB6Q,KAAKka,MAAMtvB,MACxCmS,EAAczU,OAAOoC,SAASmhC,EAAU9uB,aACxC+uB,EAAexjC,OAAOoC,SAASmhC,EAAUC,cACzC79B,EAAQ3F,OAAOoC,SAASmhC,EAAU59B,OAAS8O,EAAc+uB,EAEzDpa,EAAU/F,KACVqJ,EAAS,IAAI5tB,MAAMskC,GAASf,KAAK,GAAGj/B,KAAI,IAAMigB,OAG9CogB,EAAY/rB,KAAKzY,QAAQ0uB,KAAiF,GAAG7tB,KAAKD,IAAK,EAAIujC,EAAW,IAAKhmC,EAAYC,mBAAvH,GAAGyC,KAAKD,IAAIC,KAAKgB,MAAM6E,EAAQy9B,GAAUhmC,EAAYE,mBACrFikC,EAA+B,CACnC,CAAEmC,OAAQxG,EAAMte,OAChB,CAAEojB,OAAQ,OAGZ,IAAK,IAAInhC,EAAI,EAAGA,EAAIuiC,EAASviC,IAC3B0gC,EAAM7jB,KAAK,CACTskB,OAAQ,CACN,CAACtlC,EAASK,UAAW,CACnB4I,MAAO89B,EACPra,UACAE,MAAOoD,EAAO7rB,GACd8sB,KAAMjW,KAAKzY,QAAQ0uB,SAK3B,IAAK,IAAIgW,EAAI,EAAGA,EAAI3W,EAAM2W,IAAK,CAC7B,MAAMta,EAAQhG,KACd,IAAK,IAAIxiB,EAAI,EAAGA,EAAIuiC,EAASviC,IAC3B0gC,EAAM7jB,KAAK,CACTskB,OAAQ,KACRla,WAAY,CACV,CAACprB,EAASS,gBAAiB,CACzBisB,UACAC,QACAC,MAAOoD,EAAO7rB,GACd0oB,QAAS,EACTC,QAAS,KAKlB,CAED9R,KAAKka,MAAMgS,eAAe,IAAIvH,GAAMkF,GAAQxb,EAAM4X,QAAQ8C,MAC1D/oB,KAAKka,MAAM8L,aAAaR,EAAMte,MAAQwkB,EAAUA,EAAUpW,EAAO,EAAGjH,EAAM4X,QAAQC,QAClFlmB,KAAKka,MAAMpnB,OACZ,CAGD,qBAAAq5B,CAAsB9W,GAEpB,MAAM+W,EAAU/W,EAAU0C,UACpBsU,EAAchX,EAAU5C,YAC9B,GAAuB,IAAnB2Z,EAAQriC,OACV,OAAOsrB,EAAU/lB,SAEnB,GAA2B,IAAvB+8B,EAAYtiC,OAAc,OAE9B,MAAMuiC,EAAc,IAAIllC,MAAMglC,EAAQriC,QAAQ4gC,KAAK,GAAGj/B,KAAI,IAAM,IAAItE,MAAMilC,EAAYtiC,QAAQ4gC,MAAK,KAC7FjZ,EAAU2D,EAAU3D,QAC1B,IAAK,MAAO6a,EAASC,KAAOJ,EAAQ1/B,UAAW,CAC7C,IAAI+/B,EAAU,EACVC,EAAW,EACf,MAAMC,EAAcL,EAAYC,GAC1BK,EAAMJ,EAAGja,YAAYkD,IAE3B,KAAOiX,EAAWL,EAAYtiC,QAAQ,CAEpC,GAAI4iC,EAAYD,GAAW,CACzBA,GAAY,EACZ,QACD,CACD,MAAMG,EAAQD,EAAIH,GAElB,GAAKI,GAASA,EAAMjb,QAAUya,EAAYK,GAarC,CACCH,EAAUM,EAAMhb,QAAU,GAAKua,EAAQriC,SACzC8iC,EAAMpY,eAAe5C,QAAUua,EAAQriC,OAASwiC,GAGlD,MAAMza,QAAEA,EAAOD,QAAEA,GAAYgb,EAE7B,GAAI/a,EAAU,EACZ,IAAK,IAAIzhB,EAAI,EAAGA,EAAIyhB,EAASzhB,IAC3Bs8B,EAAYD,EAAWr8B,IAAK,EAIhC,GAAIwhB,EAAU,EACZ,IAAK,IAAI9oB,EAAIwjC,EAAU,EAAGxjC,EAAIwjC,EAAU1a,EAAS9oB,IAC/C,IAAK,IAAIsH,EAAI,EAAGA,EAAIyhB,EAASzhB,IAC3Bi8B,EAAYvjC,GAAG2jC,EAAWr8B,IAAK,EAIrCo8B,GAAW,CACZ,MAjCCD,EAAGxc,aACD8U,GACE9kB,KAAKka,MAAM7c,OACX,CACEqU,UACAE,MAAOya,EAAYK,GACnB/a,MAAO6a,EAAG7a,QAGdkb,GAyBJH,GAAY,CACb,CAGD,GAAID,EAAUG,EAAI7iC,OAChB,IAAK,IAAIZ,EAAIsjC,EAAStjC,EAAIyjC,EAAI7iC,OAAQZ,IACpCyjC,EAAIzjC,GAAGmG,QAGZ,CACF,CAED,aAAAg3B,GACE,IAAK,MAAMjR,KAAarV,KAAKka,MAAM7c,OAAOkV,YAAY4E,IACpDnX,KAAKmsB,sBAAsB9W,EAE9B,CAED,kBAAA4T,GACEjpB,KAAKka,MAAMoO,GACTja,EAAMka,OAAOuE,iBACZC,IACCA,EAAUl0B,MAAMm0B,KAGZ,CAAC,KAAM,KAAM,QAAS,SAAS34B,SAAU24B,EAASr+B,OAAuBqgB,WAEzEhP,KAAKqmB,sBACE,IAGT,GAGP,CAED,WAAA7M,GACE,IAAKxZ,KAAKqd,gBAA6D,IAA3Crd,KAAKqd,eAAe3D,YAAY3vB,OAAc,OAC1E,MACMsrB,EAAYpJ,GADEjM,KAAKqd,eAAe3D,YACK,GAAI10B,EAASG,WAC1DkwB,GAAaA,EAAU/lB,SACvB0Q,KAAKkZ,gBACN,CAED,SAAAD,CAAUgU,GACR,IAAKjtB,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAAIA,EAAY3vB,QAAU,EAAG,OAE7B,MAAMmjC,EAASxT,EAAYuT,EAASvT,EAAY3vB,OAAS,EAAI,IACtDsrB,EAAWwB,EAAesW,GAAkB7gB,GAAgB4gB,EAAQ,CAACloC,EAASG,UAAWH,EAASM,UAAWN,EAASO,WAGvH6nC,EAFW/X,EAAU0C,UACRrF,QAAQya,IACCF,EAASC,EAAOrb,QAAU,GAEtDgF,EAAczB,UAAUgY,EACzB,CAED,SAAAjU,CAAUkU,GACR,IAAKrtB,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAAIA,EAAY3vB,QAAU,EAAG,OAG7B,MAAOmjC,GAAUxT,EAAYtZ,QAAO,CAACyf,EAAKrL,KACxC,MAAM8Y,EAAc9Y,EAAIhC,iBAOxB,QANK6a,GAAWC,GAAezN,EAAI,IAG1BwN,GAAWC,GAAezN,EAAI,MAFrCA,EAAM,CAACrL,EAAK8Y,IAKPzN,CAAG,GACT,CAACnG,EAAY,GAAIA,EAAY,GAAGlH,mBAC7B8a,EAAcJ,EAAO1a,kBAAoB6a,EAAUH,EAAOpb,QAAU,GAEpEuD,EAAYpJ,GAAeihB,EAAQloC,EAASG,WAC5CusB,EAAU2D,EAAU3D,QACpB6b,EAAW5hB,MAEViM,GAAYvC,EAAU9C,YAAY0F,IACrCL,GACFA,EAASO,iBAAiBmV,EAAa,CACrC5b,UACAE,MAAO2b,EACPt/B,MAAOonB,EAAUY,KAAO,KAAO,QAC/BA,KAAMZ,EAAUY,OAOpB,MAAMuX,EAAMnY,EAAU0C,UAChB0V,EAAqB,GAC3B,IAAI/Y,EAAa,EACjB,IAAK,MAAM8X,KAAMtgC,OAAO07B,OAAO4F,GAAM,CACnC,MAAME,EAAUD,EAAShpB,SAAW,EACpC,GAAIiQ,EAAa,EAAG,CAClBA,GAAc,EACd,QACD,CACD,MAAMiZ,EAAenB,EAAGnY,WAAWiZ,EAAcI,EAAS,CACxDhc,UACAC,MAAO6a,EAAG7a,MACVC,MAAO2b,EACP1b,QAAS,EACTC,QAAS,IAEP6b,EAAajZ,aACfA,GAAciZ,EAAajZ,YAE7B,IAAK,MAAOvrB,EAAG/C,KAAMunC,EAAajhC,UAChC+gC,EAAStkC,IAAMskC,EAAStkC,IAAM,GAAK/C,CAEtC,CACF,CAKD,gBAAAwnC,CAAiBvY,GAGf,MAAM+W,EAAU/W,EAAU0C,UACpB8V,EAAYxY,EAAUkC,UACtBuW,EAAWD,EAAUztB,QAAO,CAAC2tB,EAAOz9B,KACxCy9B,EAAMz9B,EAAIshB,OAAS,EACZmc,IACN,CAA4B,GAEzBC,EAAiB,IAAI5B,GAAS6B,UAC9BC,EAAqB,GAC3B,IAAK,MAAOhnB,EAAOslB,KAAOwB,EAAethC,UAAW,CAClD,MAAMvD,EAAIijC,EAAQriC,OAASmd,EAAQ,EAC/BslB,EAAG37B,SAAS9G,QAAU,EACxBmkC,EAASloB,KAAK7c,GAIdqjC,EAAGrY,kBAAkBqX,IACnB,MAAM/T,EAAMyW,EAAS9tB,QAAO,CAACqX,EAAKvwB,IAAQskC,EAAG3Z,QAAU1oB,EAAIjC,EAAMuwB,EAAM,EAAIA,GAAK,GAChF+T,EAAG3Z,SAAW4F,EAEdqW,EAAStC,EAAG5Z,QAAU,CAAC,GAG5B,CAED,IAAI1K,EAAQ,EACZ,IAAK,MAAMinB,KAASjiC,OAAO07B,OAAOkG,GAChC,GAAc,IAAVK,EAAa,CACf,MAAMV,EAAqB,GAC3B,IAAI/Y,EAAa,EACjB,IAAK,MAAM8X,KAAMtgC,OAAO07B,OAAOwE,GAAU,CACvC,MAAMsB,EAAUD,EAAShpB,SAAW,EACpC,IAAIkpB,EAAe,GACfjZ,EAAa,GACfiZ,EAAenB,EAAG7X,oBAAoBzN,EAAQwmB,GAAS,GACvDhZ,GAAc,IAGdiZ,EAAenB,EAAG1X,WAAW5N,EAAQwmB,GACjCC,EAAajZ,aACfA,GAAciZ,EAAajZ,aAG/B,IAAK,MAAOvrB,EAAG/C,KAAMunC,EAAajhC,UAChC+gC,EAAStkC,IAAMskC,EAAStkC,IAAM,GAAK/C,CAEtC,CACF,MAEC8gB,GAAS,EAIb,IAAK,MAAM5W,KAAOu9B,EACY,IAAxBC,EAASx9B,EAAIshB,SACXthB,EAAI2f,KACL3f,EAAI2f,KAAwBhiB,OAASqC,EAAIrC,MAEnCqC,EAAIkf,OACVlf,EAAIkf,KAAwBvhB,OAASqC,EAAIrC,OAE5CqC,EAAIhB,SAGT,CAED,SAAAgqB,GACE,IAAKtZ,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAAIA,EAAY3vB,QAAU,EAAG,OAC7B,MACMsrB,EAAYpJ,GADHyN,EAAY,GACc10B,EAASG,WAC5CqoC,EAAMnY,EAAU0C,UACtB,IAAIqW,EAAaZ,EAAIzjC,OACjBskC,GAAe,EACnB,IAAK,MAAM7C,KAAM9R,EAAa,CAC5B,MAAM8S,EAAKvgB,GAAeuf,EAAIxmC,EAASO,UACjC2hB,EAAQsmB,EAAI9a,QAAQ8Z,GACtBtlB,EAAQknB,IACVA,EAAalnB,GAEXA,EAAQskB,EAAG3Z,QAAUwc,IACvBA,EAAcnnB,EAAQskB,EAAG3Z,QAE5B,CAED,MAAMyc,EAMF,CAAA,EACJ,IAAK,IAAInlC,EAAIilC,EAAYjlC,EAAIf,KAAKC,IAAImlC,EAAIzjC,OAAQskC,GAAcllC,IAAK,CACxDqkC,EAAIrkC,GACZgrB,kBAAkBqX,IAEfA,EAAG3Z,QAAU1oB,EAAIklC,IACnBC,EAAS9C,EAAG5Z,OAAS,CACnBC,QAAS2Z,EAAG3Z,QAAU1oB,EAAIklC,EAC1Bvc,QAAS0Z,EAAG1Z,QACZ0D,SAAUgW,EAAGhZ,mBAIjBgZ,EAAGtwB,OAAO5L,QAAQ,GAErB,CAED,GAAIk+B,EAAIa,GAAc,CACpB,MAAME,EAASf,EAAIa,GACb3c,EAAU2D,EAAU3D,QAE1B,IAAK,MAAOE,GAAO4D,SAAEA,EAAQ1D,QAAEA,EAAOD,QAAEA,MAAc3lB,OAAOQ,QAAQ4hC,GACnEC,EAAOla,WAAWmB,EAAU,CAC1B9D,UACAC,MAAO4c,EAAO5c,MACdC,QACAE,UACAD,WAGL,CAED7R,KAAK4tB,iBAAiBvY,EACvB,CAED,SAAAkE,GACE,IAAKvZ,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAAIA,EAAY3vB,QAAU,EAAG,OAC7B,MAAMmjC,EAASxT,EAAY,GACrBrE,EAAYpJ,GAAeihB,EAAQloC,EAASG,WAC5CqpC,EAAqC,CAAA,EAC3C,IAAK,MAAMhD,KAAM9R,EACV8U,EAAWhD,EAAG7Z,SAAQ6c,EAAWhD,EAAG7Z,OAAS,GAClD6c,EAAWhD,EAAG7Z,QAAU6Z,EAAG1Z,QAE7B,MAAM2c,EAAermC,KAAKD,OAAO+D,OAAO07B,OAAO4G,IACzClB,EAAcJ,EAAO1a,iBAErBgb,EAAMnY,EAAU9C,YAAY0B,IAClC,IAAK,IAAI9qB,EAAI,EAAGA,EAAIslC,EAActlC,IAAK,CACrC,MAAMskC,EAAqB,GAC3B,IAAI/Y,EAAa,EACjB,IAAK,MAAM8X,KAAMtgC,OAAO07B,OAAO4F,GAAM,CACnC,MAAME,EAAUD,EAAShpB,SAAW,EACpC,GAAIiQ,EAAa,EAAG,CAClBA,GAAc,EACd,QACD,CACD,MAAMiZ,EAAenB,EAAG1X,WAAWwY,EAAcI,GAC7CC,EAAajZ,aACfA,GAAciZ,EAAajZ,YAE7B,IAAK,MAAOvrB,EAAG/C,KAAMunC,EAAajhC,UAChC+gC,EAAStkC,IAAMskC,EAAStkC,IAAM,GAAK/C,CAEtC,CACF,CAGD,MAAOwxB,GAAYvC,EAAU9C,YAAY0F,IACzC,GAAIL,EACF,IAAK,IAAIzuB,EAAI,EAAGA,EAAIslC,EAActlC,IAChCyuB,EAASS,iBAAiBiV,GAI9BttB,KAAK4tB,iBAAiBvY,EACvB,CAED,UAAA+D,GACE,IAAKpZ,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAAIA,EAAY3vB,QAAU,EAAG,OAC7B,MAAM2kC,EAAShV,EAAYtZ,QACzB,CAACyf,EAAK8O,EAAUznB,KAEd,MAAM0K,EAAQ+c,EAAS/c,MAClBiO,EAAI,GAAGjO,KAAQiO,EAAI,GAAGjO,GAAS,GACpCiO,EAAI,GAAGjO,IAAU+c,EAAS9c,QAE1B,MAAMF,EAAQgd,EAAShd,MAQvB,OAPKkO,EAAI,GAAGlO,KAAQkO,EAAI,GAAGlO,GAAS,GACpCkO,EAAI,GAAGlO,IAAUgd,EAAS7c,QAEZ,IAAV5K,IACFynB,EAASjf,aAAamQ,EAAI,IAC1B8O,EAASzzB,OAAO5L,UAEXuwB,CAAG,GAEZ,CAAC,CAA4B,EAAE,CAA4B,EAAEnG,EAAY,KAGrEkV,EAAWxmC,KAAKD,OAAO+D,OAAO07B,OAAO8G,EAAO,KAC5C/E,EAAWvhC,KAAKD,OAAO+D,OAAO07B,OAAO8G,EAAO,KAC5CxB,EAASwB,EAAO,GACtBxB,EAAOpb,QAAU6X,EACjBuD,EAAOrb,QAAU+c,EAEjB,MAAMvZ,EAAYpJ,GAAeihB,EAAQloC,EAASG,WAClD6a,KAAK4tB,iBAAiBvY,EACvB,CAED,SAAAgE,GACE,IAAKrZ,KAAKqd,eAAgB,OAC1B,MAAM3D,EAAc1Z,KAAKqd,eAAe3D,YACxC,GAA2B,IAAvBA,EAAY3vB,OAAc,OAC9B,MAAMmjC,EAASxT,EAAY,GAC3B,GAAuB,IAAnBwT,EAAOpb,SAAoC,IAAnBob,EAAOrb,QAAe,OAClD,MAAOwD,EAAWwZ,GAAUviB,GAAgB4gB,EAAQ,CAACloC,EAASG,UAAWH,EAASO,WAC5EmsB,EAAU2D,EAAU3D,QACpB8D,EAAW0X,EAAO1a,iBAClBwC,EAASK,EAAU5C,YAAYhoB,MAAM+qB,EAAUA,EAAW0X,EAAOpb,SAASmc,UAEhF,IAAIa,EAAQD,EACRhd,EAAUqb,EAAOrb,QAIrB,IAFAqb,EAAOpb,QAAU,EACjBob,EAAOrb,QAAU,EACVid,GAASjd,EAAU,GAAG,CAC3B,IAAK,MAAMkd,KAAM/Z,EAEX8Z,IAAUD,GAAUE,IAAO7B,EAAOtb,OACtCkd,EAAMza,WAAWmB,GAAYsZ,IAAUD,EAAS,EAAI,GAAI,CACtDnd,UACAC,MAAOmd,EAAMnd,MACbC,MAAOmd,EACPld,QAAS,EACTC,QAAS,IAIbD,GAAW,EACXid,EAAQA,EAAMtf,IACf,CACF,yLCniCkBwJ,YAA6B3C,MAA2B6D,MAN3E7E,UACA2Z,iBACAC,SACAltB,QACArb,IAAMR,EAAU,SAChB8c,eAAiB,IAAI7B,gBAAe,IAAMnB,KAAKoK,SAC/C,WAAAoD,CAAmBwL,EAA6B3C,EAA2B6D,GAAxDla,KAAWgZ,YAAXA,EAA6BhZ,KAAKqW,MAALA,EAA2BrW,KAAKka,MAALA,EACzEla,KAAKqV,UAAYhH,EAAMe,KAAKiH,GAC5BrW,KAAKgvB,iBAAmBhvB,KAAKqV,UAAUna,OAEvC8E,KAAKivB,SAAWjvB,KAAKkvB,WACtB,CAED,SAAAA,GACE,MAAMD,EAAWjvB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIP,KAClD0+B,EAAQxW,EAAMC,OAAO,YACrB6gB,EAAa,CACjBtiC,KAAMg4B,EAAM1O,MAAM,IAClBiZ,OAAQvK,EAAM1O,MAAMiZ,OACpB/7B,MAAOwxB,EAAM1O,MAAM9iB,OAErB,IAAK,MAAO8iB,EAAOkZ,KAAYnjC,OAAOQ,QAAQyiC,GAAa,CACzD,MAAMxjC,EAAOhE,SAASC,cAAc,QACpC+D,EAAK6E,QAAQ2lB,MAAQA,EACrBxqB,EAAK9D,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,SAC/BqF,EAAKswB,UAAY,mBAAmBoT,QACpC1jC,EAAKI,iBAAiB,SAAS,KAC7B,MAAM7D,EAAQyD,EAAK6E,QAAQ2lB,MACvBjuB,IACF8X,KAAKsvB,cAActvB,KAAKqV,UAAWntB,GAEnC8X,KAAKka,MAAMlQ,KAAKqE,EAAMka,OAAOuE,iBAAiB,KACxC9sB,KAAKgZ,YAAYqE,gBACnBrd,KAAKgZ,YAAYqE,eAAejT,OAE9BpK,KAAKgZ,YAAYuN,aACnBvmB,KAAKgZ,YAAYuN,YAAYxlB,SAE3Bf,KAAKgZ,YAAY0N,kBACnB1mB,KAAKgZ,YAAY0N,iBAAiB3lB,SAEhCf,KAAKgZ,YAAYwN,gBACnBxmB,KAAKgZ,YAAYwN,eAAezlB,QACjC,IAEJ,IAEHkuB,EAASjnC,YAAY2D,EACtB,CAQD,OAPKqU,KAAK+B,UACR/B,KAAK+B,QAAUjB,GACbd,KAAKgvB,iBAAiBhd,QACtBid,GACA,IAAMjvB,KAAKe,YAGRkuB,CACR,CAED,aAAAK,CAAcja,EAA4Bc,GACxC,MAAMmB,EAAOjC,EAAUkC,UACvB,IAAK,MAAMjnB,KAAOgnB,EAChBhnB,EAAI6lB,MAAQA,CAEf,CAED,IAAAjM,GACOlK,KAAKivB,WACVjvB,KAAKivB,SAASpnC,UAAUC,IAAIkY,KAAKtZ,IAAIF,GAAG,WACxCwZ,KAAKgD,eAAeJ,QAAQ5C,KAAKqW,OAClC,CAED,IAAAjM,GACOpK,KAAKivB,WACVjvB,KAAKivB,SAASpnC,UAAUyH,OAAO0Q,KAAKtZ,IAAIF,GAAG,WACvCwZ,KAAK+B,UACP/B,KAAK+B,UACL/B,KAAK+B,aAAU2I,GAElB,CAED,MAAA3J,GACOf,KAAKivB,WACNjvB,KAAKqV,UAAUY,MAAQjW,KAAKqV,UAAUrD,QAAQ1W,aAAe0E,KAAKka,MAAMtvB,KAAK0Q,YAC/E0E,KAAKoK,QAIPpK,KAAKkK,OACLhC,GAAgBlI,KAAKgvB,iBAAiBhd,QAAShS,KAAKivB,SAAU,CAC5Dn7B,UAAW,MACXyU,WAAY,CAACpD,KAAQV,GAAM,CAAEG,QAAS8C,OAAiBhE,GAAO,OAC7D+F,MAAK,EAAGvW,IAAGC,QACZjH,OAAOC,OAAO6T,KAAKivB,SAAUriC,MAAO,CAClCC,KAAM,GAAGqG,MACTpG,IAAK,GAAGqG,OACR,KAEL,CAED,OAAAkX,GACErK,KAAKoK,OACLpK,KAAKgD,eAAed,aAChBlC,KAAKivB,WACPjvB,KAAKivB,SAAS3/B,SACd0Q,KAAKivB,cAAWvkB,EAEnB,qLC1GG,cAAoCuP,GAKrBjB,YAA6BkB,MAJhDK,yBAA2C,CACzCtc,UAAW,SAGb,WAAAuP,CAAmBwL,EAA6BkB,EAAc3yB,GAC5DmmB,MAAMsL,EAAakB,EAAO3yB,GADTyY,KAAWgZ,YAAXA,EAA6BhZ,KAAKka,MAALA,EAG9Cla,KAAKka,MAAMtvB,KAAKmB,iBAAiB,cAAeiU,KAAKuvB,kBACtD,CAEDA,kBAAqBhpC,IACnBA,EAAE4H,iBAEF,MAAM+5B,EAAO3hC,EAAE4hC,eACf,IAAKD,GAAQA,EAAKn+B,QAAU,EAAG,OAEbm+B,EAAK9Y,MAAK5X,GAAQA,EAAKwX,SAA0C,UAA/BxX,EAAKwX,QAAQnjB,eAA6B2L,EAAK3P,UAAUiI,SAAS,eAErGkQ,KAAKgZ,YAAYqE,gBAAgB3D,aAAa3vB,QACxDiW,KAAKma,OACRna,KAAKma,KAAOna,KAAK4b,cAEnB5b,KAAKe,OAAO,CAAE7N,EAAG3M,EAAEk6B,QAASttB,EAAG5M,EAAEg7B,UACjC55B,SAASoE,iBAAiB,SAAS,KACjCiU,KAAKoK,MAAM,GACV,CAAEJ,MAAM,KAGXhK,KAAKoK,MACN,EAGH,UAAAwR,GACE,MAAMzB,EAAOzM,MAAMkO,aACnBzB,EAAKtyB,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,gBAC/B,MAAMwoC,EAAQrV,EAAKsV,uBAAuB7W,IAC1C,IAAK,MAAMjtB,KAAQvE,MAAMsJ,KAAK8+B,GAC5B7jC,EAAKI,iBAAiB,SAASxF,GAAKA,EAAE0I,oBAGxC,OADAtH,SAASgG,KAAK3F,YAAYmyB,GACnBA,CACR,CAED,aAAAiC,CAAczwB,EAAmB6qB,GAC/B,MAAM8G,EAAa31B,SAASC,cAAc,QAC1C01B,EAAWv1B,YAAcyuB,EACzB7qB,EAAK3D,YAAYs1B,EAClB,CAED,MAAAvc,CAAOzC,GACL,IAAK0B,KAAKma,OAASna,KAAKgZ,YAAYqE,iBAAmBrd,KAAKgZ,YAAYqE,eAAennB,SAAU,OACjGwX,MAAM3M,SACN,MAAMnU,EAA6B,CACjC6L,QAAS,OACT5L,KAAM,EACNC,IAAK,GAGP,IAAKwR,EACH,OAAO0B,KAAKoK,OAEd,MAAMlX,EAAEA,EAACC,EAAEA,GAAMmL,EACjB1R,EAAMC,KAAOqG,EACbtG,EAAME,IAAMqG,EAEZjH,OAAOC,OAAO6T,KAAKma,KAAKvtB,MAAO,IAC1BA,EACHC,KAAM,GAAGD,EAAMC,KAAOU,OAAOyM,YAC7BlN,IAAK,GAAGF,EAAME,IAAMS,OAAO0M,cAI7B,MAAMy1B,EAAW1vB,KAAKma,KAAK7sB,yBACnBT,KAAM8iC,EAAW7iC,IAAK8iC,GAAahiB,GAAmB8hB,GAC9DxjC,OAAOC,OAAO6T,KAAKma,KAAKvtB,MAAO,CAC7BC,KAAM,GAAG8iC,EAAYpiC,OAAOyM,YAC5BlN,IAAK,GAAG8iC,EAAWriC,OAAO0M,aAE7B,CAED,OAAAoQ,GACErK,KAAKka,MAAMtvB,KAAKyD,oBAAoB,cAAe2R,KAAKuvB,mBACxD7hB,MAAMrD,SACP,qBCvFG,cAA+B4P,GAChBjB,YAA6BkB,MAAhD,WAAA1M,CAAmBwL,EAA6BkB,EAAc3yB,GAC5DmmB,MAAMsL,EAAakB,EAAO3yB,GADTyY,KAAWgZ,YAAXA,EAA6BhZ,KAAKka,MAALA,EAG9Cla,KAAKma,KAAOna,KAAK4b,aACjB5b,KAAKgZ,YAAY6N,aAAa7mB,KAAKma,KACpC,CAED,MAAApZ,GACOf,KAAKma,MAASna,KAAKgZ,YAAYqE,gBAAmBrd,KAAKgZ,YAAYqE,eAAennB,WACvFwX,MAAM3M,SAENmH,GAAgBlI,KAAKgZ,YAAYqE,eAAewS,WAAY7vB,KAAKma,KAAM,CACrErmB,UAAW,SACXyU,WAAY,CAACpD,KAAQV,GAAM,CAAEG,QAAS8C,OAAiBhE,GAAO,MAC7D+F,MAAK,EAAGvW,IAAGC,QACZjH,OAAOC,OAAO6T,KAAKma,KAAMvtB,MAAO,CAC9BC,KAAM,GAAGqG,MACTpG,IAAK,GAAGqG,OACR,IAEL,oBCdG,cAA8BqqB,GAefxE,YAA6B3C,MAdhDzrB,KACAzF,UACAD,aACA8d,eACA6qB,UAA8B,GAC9BiC,UAA8B,GAC9BC,eAAqC,KACrCC,eAAqC,KACrCC,OAA6B,KAC7B/hB,cAAqD,GACrDgiB,iBAA0C,KAC1CxjB,KAAe,GACfhmB,IAAMR,EAAU,cAEhB,WAAAsnB,CAAmBwL,EAA6B3C,EAAoB6D,GAClExM,MAAMsL,EAAakB,GADFla,KAAWgZ,YAAXA,EAA6BhZ,KAAKqW,MAALA,EAE9CrW,KAAK7a,UAAYkpB,EAAMe,KAAKpP,KAAKqW,OAE5BrW,KAAK7a,YACV6a,KAAK9a,aAAe8a,KAAK7a,UAAU+V,OAC9B8E,KAAK9a,eAEV8a,KAAKpV,KAAOoV,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIP,KACnD6Z,KAAKgD,eAAiB,IAAI7B,gBAAe,KACvCnB,KAAKkK,MAAM,IAEblK,KAAKgD,eAAeJ,QAAQ5C,KAAKqW,QAClC,CAED,mBAAA8Z,CAAoBC,EAAc7pC,GAChC,MAAMk6B,QAAEA,EAAOc,QAAEA,GAAYh7B,EACvBg6B,EAAYvgB,KAAKqW,MAAM/oB,wBAC7B,GAAI0S,KAAKgZ,YAAYqE,eAAgB,CACnC,MAAMA,EAAiBrd,KAAKgZ,YAAYqE,eACnC92B,EAAE8pC,WACLrwB,KAAKkwB,iBAAmB,MAE1B,MAAMI,EAAkC,CACtC,CAAEp9B,EAAGk9B,EAAM7P,EAAU1zB,KAAO4zB,EAASttB,EAAGi9B,EAAM7O,EAAUhB,EAAUzzB,KAClE,CAAEoG,EAAGk9B,EAAM7P,EAAUltB,MAAQotB,EAASttB,EAAGi9B,EAAM7O,EAAUhB,EAAUjtB,SAEjE0M,KAAKkwB,kBACPI,EAAgB,GAAK,CACnBp9B,EAAG9K,KAAKC,IAAIioC,EAAgB,GAAGp9B,EAAG8M,KAAKkwB,iBAAiB,GAAGh9B,GAC3DC,EAAG/K,KAAKC,IAAIioC,EAAgB,GAAGn9B,EAAG6M,KAAKkwB,iBAAiB,GAAG/8B,IAE7Dm9B,EAAgB,GAAK,CACnBp9B,EAAG9K,KAAKD,IAAImoC,EAAgB,GAAGp9B,EAAG8M,KAAKkwB,iBAAiB,GAAGh9B,GAC3DC,EAAG/K,KAAKD,IAAImoC,EAAgB,GAAGn9B,EAAG6M,KAAKkwB,iBAAiB,GAAG/8B,KAI7D6M,KAAKkwB,iBAAmBI,EAG1BjT,EAAe3D,YAAc2D,EAAekT,sBAAsBD,GAClEjT,EAAenT,MAChB,CACF,CAED,mBAAAwU,CAAoBn4B,GAClB,OAAOa,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,mBAAmBosB,QAAQnsB,EAAEoI,OAC7F,CAED,cAAAiwB,CAAez1B,EAAWs2B,EAAWV,GACb33B,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,gBAChE6C,GAAGyD,MAAMqB,MAAQ,GAAGwxB,KACnC,CAED1B,uBAAyB,SAAgCx3B,GACvD,MAAM2B,EAAQ8X,KAAKge,mBAAmBz3B,GAQtC,OAPI2B,GAAS8X,KAAK0d,cAChBxxB,OAAOC,OAAO6T,KAAK0d,aAAa9wB,MAAO,CACrCE,IAAQ5E,EAAM4E,IAAMkT,KAAK0M,KAApB,KACL7f,KAAM,GAAG3E,EAAM2E,SACfgI,OAAQ,GAAG3M,EAAM2M,OAASmL,KAAK0M,WAG5BxkB,CACT,EAAEuiB,KAAKzK,MAEP,aAAAwwB,GACE,MAAMC,EAAgBrpC,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,gBACxEoqC,EAAyBtpC,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,mBAEvFynB,GAAeiV,KAAKhjB,KAAMA,KAAK9a,aAAa8sB,SAAS,KACnDhS,KAAKgwB,eAAgBpiC,WAAaoS,KAAK9a,aAAa8sB,QAAQpkB,UAAU,IAGxE,IAAK,MAAM4R,KAAMixB,EACfjxB,EAAGzT,iBAAiB,QAASiU,KAAKmwB,oBAAoB1lB,KAAKzK,MAAM,IAEnE,IAAK,MAAMR,KAAMkxB,EACflxB,EAAGzT,iBAAiB,YAAaiU,KAAK+d,wBAEtCve,EAAGzT,iBAAiB,aAAaxF,GAAKA,EAAE4H,kBAE3C,CAED,mBAAAgzB,CAAoB56B,GAClB,OAAOa,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,mBAAmBosB,QAAQnsB,EAAEoI,OAC7F,CAED,eAAAyyB,CAAgBj4B,EAAWR,GACHvB,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,gBAChE6C,GAAGyD,MAAMiI,OAAS,GAAGlM,KACpC,CAED41B,uBAAyB,SAAgCh4B,GACvD,MAAM2B,EAAQ8X,KAAKwe,mBAAmBj4B,GAQtC,OAPI2B,GAAS8X,KAAKke,cAChBhyB,OAAOC,OAAO6T,KAAKke,aAAatxB,MAAO,CACrCE,IAAK,GAAG5E,EAAM4E,QACdD,KAAS3E,EAAM2E,KAAOmT,KAAK0M,KAArB,KACNze,MAAO,GAAG/F,EAAM+F,MAAQ+R,KAAK0M,WAG1BxkB,CACT,EAAEuiB,KAAKzK,MAEP,aAAA2wB,GACE,MAAMC,EAAgBxpC,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,gBACxEuqC,EAAyBzpC,MAAMsJ,KAAKsP,KAAKpV,KAAK6kC,uBAAuBzvB,KAAKtZ,IAAIJ,GAAG,mBAEvFynB,GAAeiV,KAAKhjB,KAAMA,KAAK9a,aAAa8sB,SAAS,KACnDhS,KAAK+vB,eAAgBriC,UAAYsS,KAAK9a,aAAa8sB,QAAQtkB,SAAS,IAGtE,IAAK,MAAM8R,KAAMoxB,EACfpxB,EAAGzT,iBAAiB,QAASiU,KAAKmwB,oBAAoB1lB,KAAKzK,MAAM,IAEnE,IAAK,MAAMR,KAAMqxB,EACfrxB,EAAGzT,iBAAiB,YAAaiU,KAAKue,wBAEtC/e,EAAGzT,iBAAiB,aAAaxF,GAAKA,EAAE4H,kBAE3C,CAED,MAAA4S,GACE,MAAM+f,EAAgB9gB,KAAK7a,UAAU6sB,QAAQ1kB,wBACvCwjC,EAAmB9wB,KAAK9a,aAAa8sB,QAAQ1kB,wBAC7CyjC,EAAa3oC,KAAKD,IAAI24B,EAAc5tB,EAAG49B,EAAiB59B,GACxD89B,EAAa5oC,KAAKD,IAAI24B,EAAc3tB,EAAG29B,EAAiB39B,GACxD89B,EAAWjxB,KAAKka,MAAMtvB,KAAK0C,wBACjCpB,OAAOC,OAAO6T,KAAKpV,KAAKgC,MAAO,CAC7BE,IAAQkkC,EAAaC,EAAS99B,EAAzB,KACLtG,KAASkkC,EAAaE,EAAS/9B,EAAzB,OAGR,IAAIg+B,GAAoB,EAAIlxB,KAAK0M,KAC7BykB,GAA4B,EAAInxB,KAAK0M,KACrC6Q,GAAkBvd,KAAK7a,YACzB6a,KAAKpV,KAAK/C,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,gBACpCkqC,EAAmB9oC,KAAKC,IAAIyoC,EAAiB7iC,MAAO6yB,EAAc7yB,OAClEkjC,EAA2B/oC,KAAKC,IAAIyoC,EAAiB7iC,MAAO6yB,EAAc7yB,QAG1E+R,KAAKpV,KAAK/C,UAAUyH,OAAO0Q,KAAKtZ,IAAIM,GAAG,gBAGrCgZ,KAAKiwB,QACP/jC,OAAOC,OAAO6T,KAAKiwB,OAAOrjC,MAAO,CAC/ByM,UAAW,eAAe,EAAI2G,KAAK0M,sBAAsBwkB,SAGzDlxB,KAAK+vB,gBACP7jC,OAAOC,OAAO6T,KAAK+vB,eAAenjC,MAAO,CACvCyM,UAAW,cAAc83B,QAG9B,CAED,IAAAjnB,GACElK,KAAK6tB,UAAY7tB,KAAK7a,UAAUoyB,UAChCvX,KAAK8vB,UAAY9vB,KAAK7a,UAAU4yB,UAChC/X,KAAKpV,KAAKqxB,UAAY,GACtB,MAAM6U,EAAmB9wB,KAAK9a,aAAa8sB,QAAQ1kB,wBAC7CwzB,EAAgB9gB,KAAK7a,UAAU6sB,QAAQ1kB,wBAuB7C,GArBI0S,KAAK6tB,UAAU9jC,OAAS,GAAKiW,KAAK8vB,UAAU/lC,OAAS,IACvDiW,KAAKiwB,OAAStoC,SAASC,cAAc,OACrCoY,KAAKiwB,OAAOpoC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,WACtC4F,OAAOC,OAAO6T,KAAKiwB,OAAOrjC,MAAO,CAC/BqB,MAAO,GAAG+R,KAAK0M,SACf7X,OAAQ,GAAGmL,KAAK0M,WAElB1M,KAAKiwB,OAAOlkC,iBAAiB,SAAS,KACpC,MAAMw0B,EAAYvgB,KAAKqW,MAAM/oB,wBAC7B,GAAI0S,KAAKgZ,YAAYqE,eAAgB,CACnC,MAAMA,EAAiBrd,KAAKgZ,YAAYqE,eACxCA,EAAe3D,YAAc2D,EAAekT,mBAC1C,CAAEr9B,EAAGqtB,EAAUrtB,EAAGC,EAAGotB,EAAUptB,GAC/B,CAAED,EAAGqtB,EAAUltB,MAAOF,EAAGotB,EAAUjtB,SAErC+pB,EAAenT,MAChB,KAEHlK,KAAKpV,KAAK5C,YAAYgY,KAAKiwB,SAGzBjwB,KAAK6tB,UAAU9jC,OAAS,EAAG,CAC7B,IAAIqnC,EAAa,GACjB,IAAK,MAAOlqB,EAAO5W,KAAQ0P,KAAK6tB,UAAUnhC,UAAW,CACnD,MAAMuB,EAAQqC,EAAI0hB,QAAQ1kB,wBAAwBW,MAClDmjC,GAAc,eAAepxB,KAAKtZ,IAAIJ,GAAG,gCAAgC2H,GAASiZ,IAAUlH,KAAK6tB,UAAU9jC,OAAS,EAAI,EAAI,iCAC5GiW,KAAKtZ,IAAIJ,GAAG,oCAAoCw6B,EAAcjsB,OAASmL,KAAK0M,KAAO,6BAEpG,CACD,MAAMsjB,EAAiBroC,SAASC,cAAc,OAC9CooC,EAAenoC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,QACzC,MAAM+qC,EAAU1pC,SAASC,cAAc,OACvCypC,EAAQxpC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,gBAClC4F,OAAOC,OAAO6jC,EAAepjC,MAAO,CAClCyM,UAAW,eAAe2G,KAAK0M,UAC/B4kB,SAAU,GAAGR,EAAiB7iC,UAC9B4G,OAAQ,GAAGmL,KAAK0M,WAElBxgB,OAAOC,OAAOklC,EAAQzkC,MAAO,CAC3BqB,MAAO,GAAG6yB,EAAc7yB,YAE1BojC,EAAQpV,UAAYmV,EACpBpB,EAAehoC,YAAYqpC,GAC3BrxB,KAAKpV,KAAK5C,YAAYgoC,GACtBA,EAAepiC,WAAaoS,KAAK9a,aAAa8sB,QAAQpkB,WACtDoS,KAAKgwB,eAAiBA,EACtBhwB,KAAKwwB,eACN,CAED,GAAIxwB,KAAK8vB,UAAU/lC,OAAS,EAAG,CAC7B,IAAIwnC,EAAa,GACjB,IAAK,MAAOrqB,EAAO9W,KAAQ4P,KAAK8vB,UAAUpjC,UAAW,CACnD,MAAMmI,EAAS,GAAGzE,EAAI4hB,QAAQ1kB,wBAAwBuH,WACtD08B,GAAc,eAAevxB,KAAKtZ,IAAIJ,GAAG,iCAAiCgC,OAAOC,WAAWsM,IAAWqS,IAAUlH,KAAK8vB,UAAU/lC,OAAS,EAAI,EAAI,iCACjIiW,KAAKtZ,IAAIJ,GAAG,mCAAmCw6B,EAAc7yB,MAAQ+R,KAAK0M,KAAO,6BAElG,CACD,MAAMqjB,EAAiBpoC,SAASC,cAAc,OAC9CmoC,EAAeloC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,QACzC,MAAMkrC,EAAU7pC,SAASC,cAAc,OACvC4pC,EAAQ3pC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,gBAElC4F,OAAOC,OAAO4jC,EAAenjC,MAAO,CAClCyM,UAAW,eAAe2G,KAAK0M,UAC/Bze,MAAO,GAAG+R,KAAK0M,SACf+kB,UAAW,GAAGX,EAAiBj8B,aAEjC3I,OAAOC,OAAOqlC,EAAQ5kC,MAAO,CAC3BiI,OAAQ,GAAGisB,EAAcjsB,aAE3B28B,EAAQvV,UAAYsV,EACpBxB,EAAe/nC,YAAYwpC,GAC3BxxB,KAAKpV,KAAK5C,YAAY+nC,GACtBA,EAAeriC,UAAYsS,KAAK9a,aAAa8sB,QAAQtkB,UACrDsS,KAAK+vB,eAAiBA,EACtB/vB,KAAK2wB,eACN,CAED3wB,KAAKe,SACLgN,GAAeiV,KAAKhjB,KAAMA,KAAKka,MAAMtvB,MAAM,KACzCoV,KAAKe,QAAQ,GAEhB,CAED,IAAAqJ,GACEpK,KAAKpV,KAAK/C,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,UACrC,CAED,OAAAqjB,GACErK,KAAKoK,OACL+D,GAAiB6U,KAAKhjB,MACtBA,KAAKgD,eAAed,aACpB,IAAK,MAAO8L,EAAKC,KAAWjO,KAAKkO,cAC/BF,EAAI3f,oBAAoB,SAAU4f,GAEpCjO,KAAKpV,KAAK0E,QACX,4CCzRG,cAA+BkuB,GAWhBxE,YAA6B3C,MAVhDqb,WACAC,WACAC,iBACAnU,UAAW,EAEXoU,aAAuB,EACvBC,aAAuB,EACvBC,cAEArrC,IAAMR,EAAU,eAChB,WAAAsnB,CAAmBwL,EAA6B3C,EAAoB6D,GAClExM,MAAMsL,EAAakB,GADFla,KAAWgZ,YAAXA,EAA6BhZ,KAAKqW,MAALA,EAE9CrW,KAAK0xB,WAAa1xB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIJ,GAAG,QAC5D0Z,KAAK2xB,WAAa3xB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIJ,GAAG,QAE5D0Z,KAAKqW,MAAMtqB,iBAAiB,YAAaiU,KAAKgyB,kBAC9ChyB,KAAKka,MAAMoO,GAAGja,EAAMka,OAAO0J,YAAajyB,KAAKkyB,mBAC9C,CAEDF,iBAAoBzrC,IAClB,GAAIyZ,KAAKyd,SAAU,OACnB,MAAMj4B,EAAYwa,KAAKmyB,cAAc5rC,GACrC,IAAKf,EACH,OAAOwa,KAAKoK,OAEd,MAAM2nB,EAAgB1jB,EAAMe,KAAK5pB,GAC5BusC,GACD/xB,KAAK4xB,mBAAqBpsC,IAC5Bwa,KAAKkK,OACLlK,KAAK4xB,iBAAmBpsC,EACxBwa,KAAK+xB,cAAgBA,EACrB/xB,KAAK7a,UAAY8mB,GAAe8lB,EAAe/sC,EAASG,WACpD6a,KAAK7a,UAAUoyB,UAAUxtB,OAAS,GACpCiW,KAAKoyB,mBAEPpyB,KAAKqyB,mBACN,EAGHH,mBAAqB,KACnBlyB,KAAKoK,MAAM,EAGb,aAAA+nB,CAAc5rC,GACZ,IAAK,MAAMiZ,KAAMjZ,EAAE4hC,eAAgB,CACjC,GAAI3oB,aAAcrH,aAA8B,OAAfqH,EAAGwP,QAClC,OAAOxP,EAET,GAAIA,IAAO7X,SAASgG,KAClB,OAAO,IAEV,CACD,OAAO,IACR,CAED,mBAAA+wB,GACE,OAAO1e,KAAK6xB,WACb,CAEDlU,qBAAuBrsB,uBACf0O,KAAK4d,mBACX5d,KAAKoyB,kBACP,EAAE3nB,KAAKzK,MAEP,gBAAAoyB,GACE,IAAKpyB,KAAK7a,YAAc6a,KAAK+xB,cAAe,OAC5C,MAAMA,EAAgB/xB,KAAK+xB,cAC3B/xB,KAAKgZ,YAAY6C,QAAQlS,YAAY3J,KAAK0xB,YAC1C1xB,KAAK0xB,WAAa1xB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIJ,GAAG,QAE5D,MAAOuwB,GAAiBvK,GAAgBylB,EAAe,CAAC/sC,EAASM,YAC3DgtC,EAAezb,EAAc7E,QAAQ1kB,wBACrCilC,EAAgBR,EAAc/f,QAAQ1kB,wBACtC2jC,EAAWjxB,KAAKka,MAAMtvB,KAAK0C,wBACjC,IAAIT,EAAO0lC,EAAcl/B,MAAQ49B,EAAS/9B,EACtCqqB,GAAkBvd,KAAK7a,aACzB0H,EAAO0lC,EAAc1lC,KAAOokC,EAAS/9B,GAEvChH,OAAOC,OAAO6T,KAAK0xB,WAAW9kC,MAAO,CACnCE,IAAQwlC,EAAan/B,EAAI89B,EAAS99B,EAA7B,KACLtG,KAAM,GAAGA,MACTgI,OAAQ,GAAGy9B,EAAaz9B,aAG1B,MAAMyiB,EAAOtX,KAAK7a,UAAUoyB,UAC5BvX,KAAK6xB,YAAcva,EAAKkb,WAAUliC,GAAOA,EAAIshB,QAAUmgB,EAAcngB,QAErE5R,KAAK0xB,WAAW3lC,iBAAiB,YAAaiU,KAAK+d,wBACnD/d,KAAK0xB,WAAW3lC,iBAAiB,aAAcxF,IAC7CA,EAAE4H,gBAAgB,GAErB,CAED,mBAAAgzB,GACE,OAAOnhB,KAAK8xB,WACb,CAED3T,qBAAuB,WACrBne,KAAKoe,mBACLpe,KAAKqyB,kBACP,EAAE5nB,KAAKzK,MAEP,gBAAAqyB,GACE,IAAKryB,KAAK7a,YAAc6a,KAAK+xB,cAAe,OAC5C,MAAMA,EAAgB/xB,KAAK+xB,cAC3B/xB,KAAKgZ,YAAY6C,QAAQlS,YAAY3J,KAAK2xB,YAC1C3xB,KAAK2xB,WAAa3xB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIJ,GAAG,QAC5D,MAAMmsC,EAAaV,EAAc72B,OACjC,KAAMu3B,aAAsBxe,IAC1B,OAGF,MAAO4C,GAAiBvK,GAAgBylB,EAAe,CAAC/sC,EAASM,YAC3DotC,EAAiB7b,EAAc7E,QAAQ1kB,wBACvCilC,EAAgBR,EAAc/f,QAAQ1kB,wBACtC2jC,EAAWjxB,KAAKka,MAAMtvB,KAAK0C,wBACjCpB,OAAOC,OAAO6T,KAAK2xB,WAAW/kC,MAAO,CACnCE,IAAQylC,EAAcj/B,OAAS29B,EAAS99B,EAAnC,KACLtG,KAAS6lC,EAAex/B,EAAI+9B,EAAS/9B,EAA/B,KACNjF,MAAO,GAAGykC,EAAezkC,YAG3B,MAAMqnB,EAAOtV,KAAK7a,UAAU4yB,UAC5B/X,KAAK8xB,YAAcxc,EAAK5C,QAAQ+f,GAEhCzyB,KAAK2xB,WAAW5lC,iBAAiB,YAAaiU,KAAKue,wBACnDve,KAAK2xB,WAAW5lC,iBAAiB,aAAcxF,IAC7CA,EAAE4H,gBAAgB,GAErB,CAED,IAAA+b,GACEhe,OAAOC,OAAO6T,KAAK0xB,WAAW9kC,MAAO,CAAE6L,QAAS,OAChDvM,OAAOC,OAAO6T,KAAK2xB,WAAW/kC,MAAO,CAAE6L,QAAS,MACjD,CAED,IAAA2R,GACEpK,KAAK4xB,sBAAmBlnB,EACxB1K,KAAK2xB,WAAW/kC,MAAM6L,QAAU,OAChCuH,KAAK0xB,WAAW9kC,MAAM6L,QAAU,MACjC,CAED,MAAAsI,GACEf,KAAKoyB,mBACLpyB,KAAKqyB,kBACN,CAED,OAAAhoB,GACErK,KAAK0xB,WAAWpiC,SAChB0Q,KAAK2xB,WAAWriC,SAEhB0Q,KAAKqW,MAAMhoB,oBAAoB,YAAa2R,KAAKgyB,kBACjDhyB,KAAKka,MAAMyY,IAAItkB,EAAMka,OAAO0J,YAAajyB,KAAKkyB,mBAC/C,4BC/IkBlZ,YAA6B3C,MAA2B6D,MAV3EhM,cAAqD,GACrD0I,cAAwC,KACxCoY,iBAA8C,KAC9CtoC,IAAMR,EAAU,SAChB0sC,OAAiB,EACjBC,OAAiB,EACjBtrC,QACAqD,KACAslB,MACA4iB,eAAiC,IAAI3xB,gBAAe,IAAMnB,KAAKe,WAC/D,WAAAyM,CAAmBwL,EAA6B3C,EAA2B6D,EAAc3yB,GAAtEyY,KAAWgZ,YAAXA,EAA6BhZ,KAAKqW,MAALA,EAA2BrW,KAAKka,MAALA,EACzEla,KAAKzY,QAAUyY,KAAKwa,eAAejzB,GACnCyY,KAAK4W,cAAgBvI,EAAMe,KAAKiH,GAE5BrW,KAAK4W,gBAAkB5W,KAAK4W,cAAcX,OAC5CjW,KAAKgvB,iBAAmBhvB,KAAK4W,cAAc1b,OAC3C8E,KAAK+yB,eACL/yB,KAAKkK,OAER,CAED,cAAAsQ,CAAejzB,GACb,OAAO2E,OAAOC,OAAO,CACnB6mC,UAAW,IACVzrC,EACJ,CAED,YAAAwrC,GACE,IAAK/yB,KAAK4W,gBAAkB5W,KAAKgvB,iBAAkB,OACnDhvB,KAAKpV,KAAOoV,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIP,KACnD6Z,KAAKpV,KAAK/C,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,WACpCgZ,KAAKkQ,MAAQvoB,SAASC,cAAc,OACpCoY,KAAKkQ,MAAMroB,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,UACrC4F,OAAOC,OAAO6T,KAAKkQ,MAAMtjB,MAAO,CAC9BqB,MAAO,GAAG+R,KAAKzY,QAAQyrC,cACvBn+B,OAAQ,GAAGmL,KAAKzY,QAAQyrC,gBAE1BhzB,KAAKpV,KAAK5C,YAAYgY,KAAKkQ,OAE3B,IAAI+iB,EAA4D,GAC5DC,EAA8D,GAClE,MAAMC,EAAmB5sC,IACvB,IAAKyZ,KAAK4W,cAAe,OAEzB,MAAMyW,EAAU9P,GAAkBvd,KAAK4W,gBAAkB,EAAI,EACvDwc,GAAS7sC,EAAEk6B,QAAUzgB,KAAK4yB,QAAUvF,EACpCgG,EAAQ9sC,EAAEg7B,QAAUvhB,KAAK6yB,OACzBS,EAAYlrC,KAAKgB,MAAMgqC,EAAQH,EAAelpC,QAC9CwpC,EAAanrC,KAAKgB,MAAMiqC,EAAQH,EAAgBnpC,QAEtD,IAAK,MAAMmiB,KAAEA,EAAIje,MAAEA,KAAWglC,EAC5B/mB,EAAKje,MAAQ7F,KAAKD,IAAI8F,EAAQqlC,EAAW5tC,EAAYE,eAEvD,IAAK,MAAMsmB,KAAEA,EAAIrX,OAAEA,KAAYq+B,EAC7BhnB,EAAKgI,UAAU,GAAG9rB,KAAKD,IAAI0M,EAAS0+B,EAAY7tC,EAAYI,oBAC7D,EAEG0tC,EAAgB,KACpBP,EAAiB,GACjBC,EAAkB,GAClBvrC,SAAS0G,oBAAoB,YAAa8kC,GAC1CxrC,SAAS0G,oBAAoB,UAAWmlC,EAAc,EAExDxzB,KAAKkQ,MAAMnkB,iBAAiB,aAAcxF,IACnCyZ,KAAK4W,gBAAiB5W,KAAKyzB,uBAChCzzB,KAAK4yB,OAASrsC,EAAEk6B,QAChBzgB,KAAK6yB,OAAStsC,EAAEg7B,QAEhB0R,EAAiBjzB,KAAK4W,cAAcW,UAAU7rB,KAAI4E,KAAU4b,KAAM5b,EAAKrC,MAAO7F,KAAKgB,MAAMkH,EAAIrC,WAC7FilC,EAAkBlzB,KAAK4W,cAAcmB,UAAUrsB,KAAI0E,IAAG,CAAO8b,KAAM9b,EAAKyE,OAAQzM,KAAKgB,MAAMgH,EAAI4hB,QAAQ1kB,wBAAwBuH,YAC/HlN,SAASoE,iBAAiB,YAAaonC,GACvCxrC,SAASoE,iBAAiB,UAAWynC,GAAc,IAErDxzB,KAAKkQ,MAAMnkB,iBAAiB,aAAaxF,GAAKA,EAAE4H,mBAEhD6R,KAAK8yB,eAAelwB,QAAQ5C,KAAK4W,cAAc5E,SAC/CjE,GAAeiV,KAAKhjB,KAAMA,KAAKka,MAAMtvB,MAAM,IAAMoV,KAAKe,WACtDgN,GAAeiV,KAAKhjB,KAAMA,KAAKgvB,iBAAiBhd,SAAS,IAAMhS,KAAKe,UACrE,CAED,kBAAA0yB,GACE,IAAKzzB,KAAK4W,gBAAkB5W,KAAKgvB,kBAAoBhvB,KAAK4W,cAAcX,KAAM,OAAO,EAErF,MAAMsK,EAAYvgB,KAAK4W,cAAc5E,QAAQ1kB,wBACvCwjC,EAAmB9wB,KAAKgvB,iBAAiBhd,QAAQ1kB,wBAEvD,GAAIizB,EAAUtyB,MAAQ6iC,EAAiB7iC,MAAO,CAC5C,IAAK,MAAMqC,KAAO0P,KAAK4W,cAAcW,UACnCjnB,EAAIrC,MAAQ7F,KAAKgB,MAAOkH,EAAIrC,MAAQsyB,EAAUtyB,MAAS6iC,EAAiB7iC,OAG1E,OADA+R,KAAK4W,cAAcS,qBACZ,CACR,CACD,OAAO,CACR,CAED,MAAAtW,GACE,KAAKf,KAAKkQ,OAAUlQ,KAAKpV,MAASoV,KAAK4W,eAAkB5W,KAAKgvB,kBAAkB,OAAO,EACvF,MAAMzO,EAAYvgB,KAAK4W,cAAc5E,QAAQ1kB,wBACvCwjC,EAAmB9wB,KAAKgvB,iBAAiBhd,QAAQ1kB,wBACjDomC,EAAa1zB,KAAKka,MAAMtvB,KAAK0C,yBAC7BI,UAAEA,EAASE,WAAEA,GAAeoS,KAAKgvB,iBAAiBhd,QAClDghB,EAAqC,EAAzBhzB,KAAKzY,QAAQyrC,UACzBW,EAAYvrC,KAAKC,IAAIk4B,EAAUtyB,MAAO6iC,EAAiB7iC,OAAS+kC,EAChEY,EAAaxrC,KAAKC,IAAIk4B,EAAU1rB,OAAQi8B,EAAiBj8B,QAAUm+B,EACzE9mC,OAAOC,OAAO6T,KAAKpV,KAAKgC,MAAO,CAC7BqB,MAAO,GAAG0lC,MACV9+B,OAAQ,GAAG++B,MACX/mC,KAAS0zB,EAAUrtB,EAAIwgC,EAAWxgC,EAAI8M,KAAKzY,QAAQyrC,UAA7C,KACNlmC,IAAQyzB,EAAUptB,EAAIugC,EAAWvgC,EAAI6M,KAAKzY,QAAQyrC,UAA7C,OAEP,MAAMa,EAAa,CACjBhnC,KAAS0zB,EAAUtyB,MAAQ+kC,EAAYplC,EAAjC,KACNd,IAAQ8mC,EAAalmC,EAAhB,MAEH6vB,GAAkBvd,KAAK4W,gBACzB5W,KAAKpV,KAAK/C,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,gBACpC6sC,EAAWhnC,KAAO,GAAGmT,KAAKzY,QAAQyrC,WAAa,EAAIplC,OAGnDoS,KAAKpV,KAAK/C,UAAUyH,OAAO0Q,KAAKtZ,IAAIM,GAAG,gBAEzCkF,OAAOC,OAAO6T,KAAKkQ,MAAMtjB,MAAOinC,EACjC,CAED,IAAA3pB,GACMlK,KAAKpV,OACPoV,KAAKpV,KAAK/C,UAAUyH,OAAO0Q,KAAKtZ,IAAIM,GAAG,WACvCgZ,KAAKe,SAER,CAED,IAAAqJ,GACMpK,KAAKpV,MACPoV,KAAKpV,KAAK/C,UAAUC,IAAIkY,KAAKtZ,IAAIM,GAAG,UAEvC,CAED,OAAAqjB,GACErK,KAAKoK,OACDpK,KAAKpV,MACPoV,KAAKpV,KAAK0E,SAEZ6e,GAAiB6U,KAAKhjB,KACvB,8CC7HwCqW,MAA2B6D,MAlBpE3yB,QACA2O,SAAiC,KACjC49B,aAAuB,EACvBC,aAAuB,EACvBC,qBAA+B,EAC/BC,qBAA+B,EAC/BC,sBAAgC,EAChCC,sBAAgC,EAChCza,YAAsC,GACtC0a,eACAvE,WACApS,UAAoB,EACpBvP,cAA2D,GAC3DmmB,iBAAmBr0B,KAAKs0B,iBAAiB7pB,KAAKzK,MAC9Cu0B,UACAvxB,eACAtc,IAAMR,EAAU,aAEhB,WAAAsnB,CAAYwL,EAA6B3C,EAA2B6D,EAAc3yB,EAA0C,CAAA,GAAnFyY,KAAKqW,MAALA,EAA2BrW,KAAKka,MAALA,EAClEla,KAAKzY,QAAUyY,KAAKwa,eAAejzB,GAEnCyY,KAAKo0B,eAAiBpb,EAAY6N,aAAa7mB,KAAKtZ,IAAIP,KACxD6Z,KAAK6vB,WAAa7vB,KAAKw0B,mBAEvBx0B,KAAKgD,eAAiB,IAAI7B,gBAAe,IAAMnB,KAAKoK,SACpDpK,KAAKgD,eAAeJ,QAAQ5C,KAAKqW,OACjCrW,KAAKgD,eAAeJ,QAAQ5C,KAAKka,MAAMtvB,MAEvCoV,KAAKka,MAAMtvB,KAAKmB,iBAAiB,YAAaiU,KAAKq0B,kBAAkB,GACjEr0B,KAAKzY,QAAQgtC,YACfv0B,KAAKu0B,UAAY,IAAIv0B,KAAKzY,QAAQgtC,UAAUvb,EAAakB,EAAOla,KAAKzY,QAAQktC,kBAEhF,CAED,cAAAja,CAAejzB,GACb,OAAO2E,OAAOC,OAAO,CACnBuoC,YAAa,UACbD,iBAAkB,CAAE,GACMltC,EAC7B,CAED,gBAAAitC,GACE,MAAM3E,EAAaloC,SAASC,cAAc,OAM1C,OALAioC,EAAWhoC,UAAUC,IAAIkY,KAAKtZ,IAAIJ,GAAG,SACrC4F,OAAOC,OAAO0jC,EAAWjjC,MAAO,CAC9B,eAAgBoT,KAAKzY,QAAQmtC,cAE/B10B,KAAKo0B,eAAepsC,YAAY6nC,GACzBA,CACR,CAED,kBAAAU,CAAmBoE,EAAsCC,GAIvD,MAAMzvC,EAAYkpB,EAAMe,KAAKpP,KAAKqW,OAClC,IAAKlxB,EAAW,MAAO,GACvB,MAAM0vC,EAAa,IAAIvjB,IAAKnsB,EAAUotB,YAAYkD,IAAiD/pB,KAAI,CAAC8nB,EAAMrqB,KAC5GqqB,EAAKtM,MAAQ/d,EACNqqB,OAGDtgB,EAAG4hC,EAAc3hC,EAAG4hC,GAAiB/0B,KAAKg1B,sBAC1C9hC,EAAGgwB,EAAe/vB,EAAGgwB,GAAkBnjB,KAAKi1B,qBACpDj1B,KAAKg0B,qBAAuBc,EAC5B90B,KAAKi0B,qBAAuBc,EAC5B/0B,KAAKk0B,sBAAwBhR,EAC7BljB,KAAKm0B,sBAAwBhR,EAG7B,MAAM5C,EAAYvgB,KAAKqW,MAAM/oB,wBACvB4nC,EAAcP,EAAWzhC,EAAI4hC,EAAe90B,KAAK8zB,aACjDqB,EAAcR,EAAWxhC,EAAI4hC,EAAe/0B,KAAK+zB,aACvD,IAAI79B,EAAW,CACbhD,EAAG9K,KAAKD,IAAIo4B,EAAU1zB,KAAMzE,KAAKC,IAAIusC,EAAS1hC,EAAGgiC,IACjD/hC,EAAG/K,KAAKD,IAAIo4B,EAAUzzB,IAAK1E,KAAKC,IAAIusC,EAASzhC,EAAGgiC,IAChDhqB,GAAI/iB,KAAKC,IAAIk4B,EAAUltB,MAAOjL,KAAKD,IAAIysC,EAAS1hC,EAAGgiC,IACnD7pB,GAAIjjB,KAAKC,IAAIk4B,EAAUjtB,OAAQlL,KAAKD,IAAIysC,EAASzhC,EAAGgiC,KAGtD,MAAMC,EAAgB,IAAI9jB,IAC1B,IAAI+jB,GAAU,EAEd,KAAOA,GAAS,CACdA,GAAU,EACV,IAAK,MAAM7hB,KAAQqhB,EAAY,CACxBrhB,EAAK8hB,SACR9hB,EAAK8hB,OAAS9hB,EAAKxB,QAAQ1kB,yBAG7B,MAAM4F,EAAEA,EAACC,EAAEA,EAACE,MAAEA,EAAKC,OAAEA,GAAWkgB,EAAK8hB,OACrC,GAAIvqB,GAAsB7U,EAAU,CAAEhD,IAAGC,IAAGgY,GAAI9X,EAAOgY,GAAI/X,GA7F/C,GA6FuE,CAEjF8hC,EAActtC,IAAI0rB,GAClBqhB,EAAWjoB,OAAO4G,GAElBtd,EAAW,CACThD,EAAG9K,KAAKC,IAAI6N,EAAShD,EAAGA,GACxBC,EAAG/K,KAAKC,IAAI6N,EAAS/C,EAAGA,GACxBgY,GAAI/iB,KAAKD,IAAI+N,EAASiV,GAAI9X,GAC1BgY,GAAIjjB,KAAKD,IAAI+N,EAASmV,GAAI/X,IAG5B+hC,GAAU,EACV,KACD,CACI,GAAIniC,EAAIgD,EAASiV,IAAMhY,EAAI+C,EAASmV,GACvC,KAEH,CACF,CACD,IAAK,MAAMmI,IAAQ,IAAI4hB,KAAkBP,UAChCrhB,EAAK8hB,OAQd,OALAt1B,KAAK9J,S9BlHO,SAAgBq/B,EAA8CtwC,GAC5E,MAAMuwC,EAAgBvwC,EAAUqI,wBAChC,MAAO,CACL4F,EAAGqiC,EAAWriC,EAAIsiC,EAActiC,EAAIjO,EAAU2I,WAC9CuF,EAAGoiC,EAAWpiC,EAAIqiC,EAAcriC,EAAIlO,EAAUyI,UAC9Cyd,GAAIoqB,EAAWriC,EAAIsiC,EAActiC,EAAIjO,EAAU2I,WAAa2nC,EAAWtnC,MACvEod,GAAIkqB,EAAWpiC,EAAIqiC,EAAcriC,EAAIlO,EAAUyI,UAAY6nC,EAAW1gC,OACtE5G,MAAOsnC,EAAWtnC,MAClB4G,OAAQ0gC,EAAW1gC,OAEvB,C8BwGoB4gC,CAAgB,IAC3Bv/B,EACHjI,MAAOiI,EAASiV,GAAKjV,EAAShD,EAC9B2B,OAAQqB,EAASmV,GAAKnV,EAAS/C,GAC9B6M,KAAKka,MAAMtvB,MACPxD,MAAMsJ,KAAK0kC,GAAe9tB,MAAK,CAAC1e,EAAGzC,IAAMyC,EAAEse,MAAS/gB,EAAE+gB,QAAQxb,KAAK8nB,WACjEA,EAAKtM,MACLsM,EAAKiB,iBAEf,CAED,gBAAA6f,CAAiBoB,GACf,MAAM7U,OAAEA,EAAMlyB,OAAEA,EAAM8xB,QAAEA,EAAOc,QAAEA,GAAYmU,EACvCC,EAAgBhnC,EAAuB2nB,QAAQ,aACrD,GAAe,IAAXuK,IAAiB8U,EAAc,OAEnC,MAAMC,EAAeD,EAAanlC,QAAQkhB,QACpCijB,EAAa,CAAEzhC,EAAGutB,EAASttB,EAAGouB,IAC5BruB,EAAG4hC,EAAc3hC,EAAG4hC,GAAiB/0B,KAAKg1B,qBAClDh1B,KAAK8zB,aAAegB,EACpB90B,KAAK+zB,aAAegB,EACpB/0B,KAAK0Z,YAAc1Z,KAAKuwB,mBAAmBoE,EAAYA,GACvD30B,KAAKkK,OACDlK,KAAKu0B,WACPv0B,KAAKu0B,UAAUnqB,OAGjB,MAAMyrB,EAAoBC,IACxB,MAAMjV,OAAEA,EAAMlyB,OAAEA,EAAM8xB,QAAEA,EAAOc,QAAEA,GAAYuU,EACvCH,EAAgBhnC,EAAuB2nB,QAAQ,aACrD,GACa,IAAXuK,IACI8U,GACDA,EAAanlC,QAAQkhB,UAAYkkB,EAEpC,OAGF51B,KAAKyd,UAAW,EAChB,MAAMsY,EAAY,CAAE7iC,EAAGutB,EAASttB,EAAGouB,GACnCvhB,KAAK0Z,YAAc1Z,KAAKuwB,mBAAmBoE,EAAYoB,GACnD/1B,KAAK0Z,YAAY3vB,OAAS,GAC5BiW,KAAKka,MAAM8b,OAEbh2B,KAAKe,QAAQ,EAETk1B,EAAiB,KACrBtuC,SAASgG,KAAKU,oBAAoB,YAAawnC,GAAkB,GACjEluC,SAASgG,KAAKU,oBAAoB,UAAW4nC,GAAgB,GAC7Dj2B,KAAKyd,UAAW,EAChBzd,KAAK8zB,aAAe,EACpB9zB,KAAK+zB,aAAe,EAChB/zB,KAAKu0B,WACPv0B,KAAKu0B,UAAUxzB,QAChB,EAGHpZ,SAASgG,KAAK5B,iBAAiB,YAAa8pC,GAAkB,GAC9DluC,SAASgG,KAAK5B,iBAAiB,UAAWkqC,GAAgB,EAC3D,CAED,MAAAl1B,GACE,GAAgC,IAA5Bf,KAAK0Z,YAAY3vB,SAAiBiW,KAAK9J,SAAU,OACrD,MAAQhD,EAAGgwB,EAAe/vB,EAAGgwB,GAAkBnjB,KAAKi1B,sBAC5C/hC,EAAG4hC,EAAc3hC,EAAG4hC,GAAiB/0B,KAAKg1B,qBAC5ClE,EAAmB9wB,KAAKqW,MAAMoM,cAAen1B,wBAC7C2jC,EAAWjxB,KAAKka,MAAMtvB,KAAK0C,wBAC3B4oC,EAAWpF,EAAiB59B,EAAI+9B,EAAS/9B,EACzCijC,EAAUrF,EAAiB39B,EAAI89B,EAAS99B,EAE9CjH,OAAOC,OAAO6T,KAAK6vB,WAAWjjC,MAAO,CACnCC,KAAsC,EAA7BmT,KAAKk0B,sBAA4BhR,EAAgBljB,KAAK9J,SAAShD,EAAI8M,KAAKg0B,qBAAuBc,EAAeoB,EAAjH,KACNppC,IAAqC,EAA7BkT,KAAKm0B,sBAA4BhR,EAAgBnjB,KAAK9J,SAAS/C,EAAI6M,KAAKi0B,qBAAuBc,EAAeoB,EAAjH,KACLloC,MAAO,GAAG+R,KAAK9J,SAASjI,UACxB4G,OAAQ,GAAGmL,KAAK9J,SAASrB,aAE3B3I,OAAOC,OAAO6T,KAAKo0B,eAAexnC,MAAO,CACvCC,KAAM,GAAGqpC,MACTppC,IAAK,GAAGqpC,MACRloC,MAAO,GAAG6iC,EAAiB7iC,MAAQ,MACnC4G,OAAQ,GAAGi8B,EAAiBj8B,OAAS,SAElCmL,KAAKyd,UAAYzd,KAAKu0B,WACzBv0B,KAAKu0B,UAAUxzB,QAElB,CAED,kBAAAk0B,GACE,MAAO,CACL/hC,EAAG8M,KAAKka,MAAMtvB,KAAKgD,WACnBuF,EAAG6M,KAAKka,MAAMtvB,KAAK8C,UAEtB,CAED,kBAAAsnC,GACE,MAAO,CACL9hC,EAAG8M,KAAKqW,MAAMoM,cAAe70B,WAC7BuF,EAAG6M,KAAKqW,MAAMoM,cAAe/0B,UAEhC,CAED,IAAAwc,GACEiE,GAAiB6U,KAAKhjB,MAEtB9T,OAAOC,OAAO6T,KAAKo0B,eAAexnC,MAAO,CAAE6L,QAAS,UACpDuH,KAAKe,SAELgN,GAAeiV,KAAKhjB,KAAMA,KAAKka,MAAMtvB,MAAM,KACzCoV,KAAKe,QAAQ,IAEfgN,GAAeiV,KAAKhjB,KAAMA,KAAKqW,MAAMoM,eAAgB,KACnDziB,KAAKe,QAAQ,GAEhB,CAED,IAAAqJ,GACEpK,KAAK9J,SAAW,KAChB8J,KAAK0Z,YAAc,GACnB1Z,KAAKo0B,gBAAkBloC,OAAOC,OAAO6T,KAAKo0B,eAAexnC,MAAO,CAAE6L,QAAS,SACvEuH,KAAKu0B,WACPv0B,KAAKu0B,UAAUnqB,OAEjB+D,GAAiB6U,KAAKhjB,KACvB,CAED,OAAAqK,GAUE,OATArK,KAAKgD,eAAed,aACpBlC,KAAKoK,OACLpK,KAAKo0B,eAAe9kC,SAChB0Q,KAAKu0B,WACPv0B,KAAKu0B,UAAUlqB,UAEjB8D,GAAiB6U,KAAKhjB,MAEtBA,KAAKka,MAAMtvB,KAAKyD,oBAAoB,YAAa2R,KAAKq0B,kBAAkB,GACjE,IACR,8CR7CkBrb,YAA6B3C,MAA2B6D,MAH3EuH,mBACAa,UACA57B,IAAMR,EAAU,aAChB,WAAAsnB,CAAmBwL,EAA6B3C,EAA2B6D,GAAxDla,KAAWgZ,YAAXA,EAA6BhZ,KAAKqW,MAALA,EAA2BrW,KAAKka,MAALA,EACzEla,KAAKyhB,mBAAqBzhB,KAAKgZ,YAAY6N,aAAa7mB,KAAKtZ,IAAIJ,GAAG,cAEpE0Z,KAAKsiB,UAAY,CACf,IAAId,GAAUtH,GAAO,EAAM7D,EAAOrW,KAAKyhB,oBACvC,IAAID,GAAUtH,GAAO,EAAO7D,EAAOrW,KAAKyhB,qBAE1C,IAAK,MAAM91B,KAAQqU,KAAKsiB,UACtBtiB,KAAKyhB,mBAAmBz5B,YAAY2D,EAAK22B,UAE5C,CAED,IAAAlY,GACE,IAAK,MAAMkY,KAAatiB,KAAKsiB,UAC3BA,EAAUmC,eAEb,CAED,IAAAva,GACE,IAAK,MAAMoY,KAAatiB,KAAKsiB,UAC3BA,EAAUW,eAEb,CAED,MAAAliB,GACE,IAAK,MAAMuhB,KAAatiB,KAAKsiB,UAC3BA,EAAUO,gBACVP,EAAUS,sBAEb,CAED,OAAA1Y,GACErK,KAAKyhB,mBAAmBnyB,SACxB,IAAK,MAAMgzB,KAAatiB,KAAKsiB,UAC3BA,EAAUjY,UAEZ,OAAO,IACR,2ECy0Ba,SAAoB2O,EAAsBsO,GACxD,OAAOr3B,EAAgB,CACrBgB,SAAU,CAACb,EAAaE,KACtB0oB,EAAYyS,YAAYr7B,EAAKE,GACzBg3B,GACFA,EAAOj4B,OACR,EAEH6B,UAAW8nB,EAAYzxB,QAAQ2J,UAC/BC,MAAO6nB,EAAYzxB,QAAQ4J,OAE/B,6JA7BM,SAA+BoP,GACnC0kB,GAAgBrY,OAAO5nB,EAASS,gBAEhCyG,OAAOC,OAAOnH,EAAUub,EAAKvb,UAAY,CAAE,GAC3CkH,OAAOC,OAAOzG,EAAa6a,EAAK7a,aAAe,CAAE,GACjDwG,OAAOC,OAAOpG,EAAcwa,EAAKxa,cAAgB,CAAE,GAEnDq/B,GAAQgC,SAAWpiC,EAASE,aAC5BwpB,GAAgB1pB,SAAWA,EAASC,UACpCqzB,GAAmBtzB,SAAWA,EAASE,aACvCiyB,GAAgBnyB,SAAWA,EAASG,UACpC8yB,GAAoBjzB,SAAWA,EAASI,cACxC2wB,GAAe/wB,SAAWA,EAASK,SACnC8vB,GAAgBnwB,SAAWA,EAASM,UACpC2uB,GAAejvB,SAAWA,EAASO,SACnCkwB,GAAgBzwB,SAAWA,EAASQ,UACpC6rB,GAAqBrsB,SAAWA,EAASS,cAC3C","x_google_ignoreList":[10,11,12,13]}
|